In diesem Tutorial möchte ich zeigen, wie sich komplexere Einrichtungen mit den einrastenden prop_physics installieren lassen.
Endergebnis: http://www.youtube.com/watch?v=ANs2eHwDaOw
Vorab:
Die geschriebenen Tutorials wurden von mir Av3ris selbst geschrieben und werden hier auf www.Mapping-Tutorials.de veröffentlicht. Keine Inhalte wurden aus anderen Quellen kopiert. Das anderweitige veröffentlichen oder kopieren der Tutorials oder Teilen dieser ist, ohne mit mir in Absprache zu treten, verboten.
Ihr solltet euch zuerst dieses Tutorials hier anschaun:
http://www.mapping-tutorials.de/forum/showthread.php?t=12018 // Einrastende prop_physics
http://www.mapping-tutorials.de/forum/showthread.php?t=10991 // env_sprite
http://www.mapping-tutorials.de/forum/showthread.php?t=6690 // env_spark
und Natürlich die Fragpoint- oder die Haradirki Grund-Tutorials
Alles was jetzt kommt, basiert darauf.
Batterie-Slots
Die ganzen prop_dynamics und das Drum-herum könnt ihr euch dann aus meiner Beispielmap ziehen. So sieht die Einrichtung fertig aus:

prop_physics
Zuerst brauchen wir die 3 Batterien.

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.

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.

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.

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 physic, 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.

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:

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.

Name: "battery_relay_1; battery_relay_2; battery_relay_3"
Folgende Outputs:
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.

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:
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:
OnHitMax |steam |TurnOn | | |2.00
Ich hoffe es hat euch gefallen und ihr wisst etwas damit anzufangen.
Av3ris