DrSilence
11.08.2010, 03:56:11
JetPack in CS:S
In diesem Tutorial wird erklärt wie man einen Spieler in CS:S mit einem Jetpack ausrüsten kann.
Benötigte Entity's:
1x trigger_push
1x weapon_knife
1x game_player_equip
1x logic_compare
1x game_ui
Aufbau:
game_player_equip, logic_compare und game_ui können irgendwo in der Map verteilt werden. Weapon_knife muss auf einer höche liegen, die ein Speiler auch zum insammeln, erreichen kann. Der trigger_push darf nur so groß sein, sodass es genau einen Spieler hochhebt und ganu über/auf dem Knife liegt.
614
Einstellungen der Hauptentity's:
weapon_knife:
Name: knife_1
Flags: [x] Start constrained
Output "OnPlayerPickup | game_ui1 | Activate | | 0 | no "
trigger_push:
Name: push_up1
Parent: knife_1
Start Disabled: Yes
Push direction: -90 0 0 (up)
Speed: 1500
Flags: [x] Clients
game_player_equip:
<benötigt keine Einstellungen>
game_ui:
Name: game_ui1
FieldofView: -1
Output "AttackAxis | compare_up1 | SetValueCompare | | 0 | no "
Logic_compare:
Name: compare_up1
CompareValue: 0
InitialValue: 0
Output "OnGreaterThan | push_up1 | Enable | | 0 | no "
Output "OnLessThan | push_up1 | Disable | | 0 | no "
Output "OnEqualTo | push_up1 | Disable | | 0 | no "
Wie funktoniert's ?:
Als erstes muss dafür sorge getragen werden, dass der Jetpackbenutzer kein Messer mehr hat (hier durch game_player_equip, weapon_strip würde auch gehen).
Da der trigger_push an das Messer geparentet wird, bleibt es auch immer beim Messer, selbst wenn es einsammelt wird. Zeitgleich wird für den aufsammelnden das game_ui aktiviert. Wenn jetzt die pim. Feuertaste gedrückt wird, ändert sich der Wert für „AttackAxis“ im game_ui, welcher im logic_compare mit „0“ verglichen wird; je nach Ergebnis wird der trigger_push ein oder ausgeschalten und hebt somit den Spieler an.
Mögliche Erweiterungen:
Den Jetpackbenutzer gegen Fallschaden immun machen.
Ein Jetpackmodel für den Spieler, Sounds beim fliegen, Feuerstrahl aus dem Jetpack, Treibstoff für das Jetpack begrenzen / nachtanken, und vieles mehr.
Beispielmap: sdk_jetpack (http://www.drsilence.de/downloads/maps/_sdk_jetpack.bsp)
Viel Spaß beim nachbauen!
dere :wink:
In diesem Tutorial wird erklärt wie man einen Spieler in CS:S mit einem Jetpack ausrüsten kann.
Benötigte Entity's:
1x trigger_push
1x weapon_knife
1x game_player_equip
1x logic_compare
1x game_ui
Aufbau:
game_player_equip, logic_compare und game_ui können irgendwo in der Map verteilt werden. Weapon_knife muss auf einer höche liegen, die ein Speiler auch zum insammeln, erreichen kann. Der trigger_push darf nur so groß sein, sodass es genau einen Spieler hochhebt und ganu über/auf dem Knife liegt.
614
Einstellungen der Hauptentity's:
weapon_knife:
Name: knife_1
Flags: [x] Start constrained
Output "OnPlayerPickup | game_ui1 | Activate | | 0 | no "
trigger_push:
Name: push_up1
Parent: knife_1
Start Disabled: Yes
Push direction: -90 0 0 (up)
Speed: 1500
Flags: [x] Clients
game_player_equip:
<benötigt keine Einstellungen>
game_ui:
Name: game_ui1
FieldofView: -1
Output "AttackAxis | compare_up1 | SetValueCompare | | 0 | no "
Logic_compare:
Name: compare_up1
CompareValue: 0
InitialValue: 0
Output "OnGreaterThan | push_up1 | Enable | | 0 | no "
Output "OnLessThan | push_up1 | Disable | | 0 | no "
Output "OnEqualTo | push_up1 | Disable | | 0 | no "
Wie funktoniert's ?:
Als erstes muss dafür sorge getragen werden, dass der Jetpackbenutzer kein Messer mehr hat (hier durch game_player_equip, weapon_strip würde auch gehen).
Da der trigger_push an das Messer geparentet wird, bleibt es auch immer beim Messer, selbst wenn es einsammelt wird. Zeitgleich wird für den aufsammelnden das game_ui aktiviert. Wenn jetzt die pim. Feuertaste gedrückt wird, ändert sich der Wert für „AttackAxis“ im game_ui, welcher im logic_compare mit „0“ verglichen wird; je nach Ergebnis wird der trigger_push ein oder ausgeschalten und hebt somit den Spieler an.
Mögliche Erweiterungen:
Den Jetpackbenutzer gegen Fallschaden immun machen.
Ein Jetpackmodel für den Spieler, Sounds beim fliegen, Feuerstrahl aus dem Jetpack, Treibstoff für das Jetpack begrenzen / nachtanken, und vieles mehr.
Beispielmap: sdk_jetpack (http://www.drsilence.de/downloads/maps/_sdk_jetpack.bsp)
Viel Spaß beim nachbauen!
dere :wink: