Fallen von Ravenholm: Rotorblatt
Beispielmap: indextut43.zip
Anmerkung: Dieses Thema ist für fortgeschrittene Mapper und aufwärts gedacht. Hier wird mit Entities und Outputs um sich geworfen was das Zeug hält. Solltest du also noch Probleme mit diesen beiden Gebieten haben, solltest du dich mit diesem Thema noch nicht befassen. In CSS funktioniert der Rotor, nur leider funktioniert der Sound beim Abschalten des Rotors nicht.
In diesem Sicher hast du in Ravenholm auch diese Abschnitte geliebt, in denen diese Rotoren standen mit denen man die Zombies einfach halbieren konnte. So einen Rotor wollen wir hier erstellen. Kommen wir wieder zuerst zum optisch sichtbaren im Spiel. Ein solcher Rotor besteht aus drei Teilen:
- Propeller Unterbau (models/props_c17/TrapPropeller_Engine.mdl) als prop_static
- Propeller Schalter am Unterbau (models/props_c17/TrapPropeller_Lever.mdl) als prop_dynamic
- Propeller Messer (models/props_c17/TrapPropeller_Blade.mdl) als prop_physics
Diese habe ich schon in der Map stehen. Zuerst selektieren wir den Schalter am Unterbau und stellen bei "Parent" ein: "rotor_01_schalter". Anschliessend benötigen wir hier wieder 2 brushbasierende Entities, und dafür benötigen wir die Texturen "toolsnodraw" und "toolsorigin".Damit erstellen wir um den Schalter ein "func_door_rotating", dieser sieht dann ungefähr so aus:
Nun drücken wir "ALT" + "ENTER" um ein paar Einstellungen vorzunehmen:
- Keyvalue: "Name"
Value: "rotor_01_schalter"
- Keyvalue: "Speed"
Value: "100"
- Keyvalue: "Solid Type"
Value: "Use Vphysics"
und bei den Flags aktivieren wir:
[x] One Way
[x] y-Axis
[x] Non-solid to player
[x] Toggle
[x] use Opens
dann kommen wir zu den Outputs:
| OnFullyClosed | motor_01 | TurnOff |- | 0.00 | No |
| OnFullyClosed | sound_01 | StopSound | - | 0.00 | No |
| OnFullyClosed | sound_02 | PlaySound | - | 0.00 | No |
| OnFullyOpen | motor_01 | TurnOn | - | 0.00 | No |
| OnFullyOpen | sound_01 | PlaySound | - | 0.00 | No |
|
das sind übrigens auch die einzigen Outputs gewesen, die wir in diesem Thema vornehmen. Nun benötigen wir noch ein phys_hinge, denn das wird die Drehachse des Motors. Diesen setzen wir ins Zentrum des Unterbaus am Boden. Dann wollen wir ein paar Einstellungen vornehmen:
- Keyvalue: "Entity1"
Value: "rotor"
- Keyvalue: "Friction"
Value: "10"
- Keyvalue: "Load Scale"
Value: "1"
und bei den Flags:
[x] No Collision until break
nun müssen wir noch den Kreis des "phys_hinge" nach oben setzen, wo später das Zentrum des Motors sitzen wird. Dazu ein Bild:

Nun zum Motor. Dazu erstellen wir ein phys_motor. Dieses Entity muss nun im Mittelpunkt den Kreis des phys_hinge haben. Dann wollen wir noch ein paar Dinge einstellen:
- Keyvalue: "Name"
Value: "motor_01"
- Keyvalue: "Rotation Speed"
Value: "1200"
- Keyvalue: "Spin Up Time"
Value: "2"
- Keyvalue: "System interia Scale"
Value: "5"
- Keyvalue: "Attached Object"
Value: "rotor"
und bei den Flags:
[x] hinge object
Auch hier mal ein Bild:
Kommen wir nun zum Rotorblatt selbst. Dort stellen wir folgendes ein:
- Keyvalue: "Name"
Value: "rotor"
- Keyvalue: "Impact damage type"
Value: "sharp"
- Keyvalue: "Damaging it doesn't push it"
Value: "No"
- Keyvalue: "Scale Factor for Inertia"
Value: "10"
und bei den Flags:
[x] prevent pickup
Nun fehlen noch 2 Sounds, die die ganze Kulisse vervollständigen. Dazu erstellen wir 2x das Entity "ambient_generic":
Beim ersten Entity geben wir ein:
- Keyvalue: "Name"
Value: "sound_01"
- Keyvalue: "Sound Name"
Value: "ambient/machines/spin_loop.wav"
- Keyvalue: "Volume"
Value: "8"
- Keyvalue: "Max. audible Distance"
Value: "424"
- Keyvalue: "SourceEntityName"
Value: "motor_01"
und bei den Flags:
[x] Start Silent
kommen wir zum zweiten und letzten Entity:
- Keyvalue: "Name"
Value: "sound_02"
- Keyvalue: "Sound Name"
Value: "Town.d1_town_03_spindown"
- Keyvalue: "Volume"
Value: "8"
- Keyvalue: "Max. audible Distance"
Value: "424"
- Keyvalue: "SourceEntityName"
Value: "motor_01"
und bei den Flags:
[x] Start Silent
[x] is NOT looped
das war es schon, nun aber compilen und dann testen!
zurück zur Hauptseite