Waffen triggern
Autor: DrSilence
Downloads: Beispielmap, VideoTutorial
Um was es eigentlich geht:
In diesem Tutorial möchte ich Euch heute mal zeigen wie man einen Trigger baut der auf Gegenstände reagiert; wo normale Trigger versagen/schwächeln.
Beispiel:
Ich wollte mal einen „Opferbrunnen“ basteln der, je nach weggeworfener Waffe, ein Ereignis Triggert. z.B. bessere Waffe spawnen, Geheimtür öffnen, usw.
Problem:
Keiner der Source-Engine bekannten Trigger reagieren auf Waffen.
Nach langem überlegen und testen kam ich auf eine Lösung die genau das erfüllte was ich wollte:
Einen Trigger der auf Waffen reagiert und sogar unterscheidet welche Waffe.
Prinzip:
Es wird eine Waffe erstellt. Dieser Waffe wird eine kleiner Würfel (1 Unit,func_physbox_multiplayer) mit einer unauffälligen Textur (tools/toolsnodraw) geparentet. Der Würfel liegt genau in der Waffe. Durch das Parenten mit der Waffe, klebt diese Box immer genau „in“ der Waffe
und ist für die Spieler unsichtbar, kann aber Trigger auslösen (Flags: physics objects gesetzt). Der Clou: würde man normaler weise mit einem filter_activator_class prüfen „Bist du eine weapon_ak47?“ funzt zwar nicht da wir bei jeder Waffe als Klasse nur „func_physbox_multiplayer“ haben, aber durch den Namen dieser Box können wir die Waffen unterscheiden. DerClou ( die 2te), packt man alles in ein point_template spawn jede so erzeugte Waffe automatisch mit seiner eig. kleinen „Triggerbox“.
Hinweis:
Eigentlich funzt das in allen SourceGames, ich habe mich aber in meinem Tutorial auf CSS konzentriert.
Die Bilder und das Video wurden mit einer geänderten FGD erstellt, wundert Euch bitte nicht wenn einige Bilder nicht ganz dem „Original“ gleichen (z.B. werden einige Outputs rot dargestellt usw.), oder ihr findet keine „weapon_“ Entities. Bei den Outputs hilft leider nur eine „bessere“ FGD, aber bei den Waffen könnt ihr auch einfach ein „light“ setzen und auf z.B. weapon_ak47 umbennen.
Vorraussetzungen:
Etwas logisches Verständnis,
pro Waffe:
1x weapon_*
1x point_template
1x phys_box_multiplayer
1x filter_activator_name
Raumerstellen:
• Raum erstellen
• Spawnpunkte erstellen
• Licht erstellen
• 
Waffenspawner:
• Waffe erstellen (weapon_ak47)
• Waffe bennen (targetname Waffe_ak47)
• 
• Einen Block erstellen 1 Unit Groß mit Textur TOOLS/NODRAW
• Block zu einem func_physbox_multiplayer machen
• Box benennen targetname physbox_ak47
• Box auf Waffe parenten
• 
• point_template erstllen
• bennen template_ak47
• templates einstellen (Waffe_ak47, physbox_ak47)
• 
• Button erstellen output OnTrigger template_ak47 forcespawn
• 
Triggerfeld:
• Filter_activator_name erstellen bennen targetname filter_ak47
• Filtername Waffe_ak47
• 
• Licht erstllen bennen targetname licht, initally dark hacken setzen
• 
• Triggerzone erstellen textur tools/toolsnodraw
• Triggerzone auf physik objekte einstellen
• 
• Filter auf filter_ak47 einstellen
• 
• Trigger Output einstellen:
• 
So ich hoffe das Prinzip wurde verstanden und freue mich schon auf die kommenden Maps die evntl Waffentriggern ...
MfG DrSilence :)