PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Source] Batterieanlage auf Basis der einrastenden prop_physics



Av3ris
28.09.2010, 21:59:50
In diesem Tutorial möchte ich zeigen, wie sich komplexere Einrichtungen mit den einrastenden prop_physics installieren lassen. Ein Tutorial dazu findet sich hier (http://mappingbase.de/threads/602)!
825

Die ganzen prop_dynamics und das Drum-herum könnt ihr euch dann aus meiner Beispielmap ziehen.



prop_physics
Zuerst brauchen wir die 3 Batterien.

817

Also setzt 3 prop_physics (models/Items/car_battery01.mdl) und gebt ihnen die Namen "battery1; battery2; battery3" Haltet die Namensform unbedingt ein, das wird später noch wichtig.
Folgende Flags:

x Enable motion on Physcannon grab
x Not affected by rotor wash



info_target
Als nächstes platzieren wir 3 info_targets, das Ziel wo die Batterie später landen wird.

821

Name: "battery1_aim; battery2_aim; battery3_aim"



env_spark
Fahren wir mit den Funken fort. Also platzieren wir knapp über den info_targets 3 env_sparks.

820

Name: "battery1_spark; battery2_spark; battery3_spark"

und bei den Flags:

x Directional


filter_activator_name
Als nächstes platzieren wir 1 filter_activator_name.

822

Name: "battery_filter".
Filter mode: "Allow entities that match criteria"
Filter Name: "battery*" // der Stern dahinter bedeutet, alle die mit "battery" beginnen. Also können wir jedes physics, das mit "battery" beginnt, einsetzen. Er wird es auch Rot anstreichen, aber das ist egal.


math_counter
Es folgt ein math_counter.
Name: "battery_counter"
Initial Value: "0"
Minimum Legal Value: "0"
Maximum Legal Value: "3"


ambient_generic
Ok, jetzt 2 ambient_generics für den Sound.

819

Nummer 1:
Name: "battery_sound_out"
Sound Name: "Buttons.snd9"
Flags:

x Start Silent
x Is NOT Looped

Nummer 2:
Name: "battery_sound_in"
Sound Name: "Buttons.snd5"
Flags:

x Start Silent
x Is NOT Looped



env_sprite
Jetzt noch je Station 2 env_sprites:

824

Der Linke von beiden:
Name: "battery1_sprite_red; battery2_sprite_red; battery3_sprite_red"
Render Mode: "World Space Glow"
FX Color (R G B): "255 0 0"
Sprite Name: "materials/Sprites/flare1.vmt"
Scale: ".1"

und folgende Flags:

x Start On

Der Rechte von beiden:
Name: "battery1_sprite_green; battery2_sprite_green; battery3_sprite_green"
Render Mode: "World Space Glow"
FX Color (R G B): "0 255 0"
Sprite Name: "materials/Sprites/flare1.vmt"
Scale: ".1"

Keine Flags markieren.


logic_relay
Wichtig sind auch die 3 logic_relays, die wir jetzt noch über den einzelnen Stationen platzieren müssen.

818

Name: "battery_relay_1; battery_relay_2; battery_relay_3"

Folgende Outputs:

My Output Target Entity Target Input Parameter Delay
OnTrigger |battery_counter |Substract |1 |0.00
OnTrigger |battery_sound_out |PlaySound | |0.00
OnTrigger |batteryX_sprite_red |ShowSprite | |0.00
OnTrigger |batteryX_sprite_green |HideSprite | |0.00
OnTrigger |battery_trigger_X |Disable | |1.00



trigger_teleport
Gut, als nächstes zum Herzstück der Anlage. Wir brauchen 3 Brushs mit der Trigger-Textur und machen jeden einzelnen zum trigger_teleport.

823

Folgende Properties:

Name: "battery_trigger_1; battery_trigger_2; battery_trigger_3"
Filter Name: "battery_filter"
Remote Destination: "battery1_aim; battery2_aim; battery3_aim"


Folgende Flags:

x Pushables
x Physics Objects


und folgende Outputs:

My Output Target Entity Target Input Parameter Delay
OnStartTouch |!activator |AddOutput |OnPhysGunPickup !self:enableshadow::0:1 |0.00
OnStartTouch |!activator |DisableShadow | |0.00
OnStartTouch |!activator |ForceDrop | |0.00
OnStartTouch |!activator |DisableMotion | |0.00
OnStartTouch |battery_trigger_1 |Disable | |0.00
OnStartTouch |!activator |AddOutput |OnPhysGunPickup battery_relay_1:Trigger::0:1 |0.00
OnStartTouch |battery1_spark |SparkOnce | |0.10
OnStartTouch |battery_sound_in |PlaySound | |0.10
OnStartTouch |battery_counter |Add |1 |0.10
OnStartTouch |battery1_sprite_green |ShowSprite | |0.10
OnStartTouch |battery1_sprite_red |HideSprite | |0.10



Jetzt leuchtet das rote Licht auf, wenn keine Batterie im Gerät ist, falls doch, leuchtet das Grüne.
Wenn ihr einen Effekt erzielen wollt, dann müsst ihr jetzt noch ein Output im math_counter adden.
Bei mir schaut das so aus:


My Output Target Entity Target Input Delay
OnHitMax |steam |TurnOn | |2.00


Ich hoffe es hat euch gefallen und ihr wisst etwas damit anzufangen.
Av3ris