====== (Abschießbare) Vögel in CS:S ====== Gleich vorweg: Dieses Tutorial gilt nicht nur für Counter Strike: Source, sondern auch für alle anderen HL2 Mods in denen keine npc's (-> [[half-life_2:entities:npc_seagull]]) vorgesehen sind. **Was wir brauchen:** * [[source:entities:func_tracktrain]] * [[half-life_2:entities:path_track]] * [[source:entities:prop_dynamic_override]] * [[source:entities:env_shooter]] * [[source:entities:func_button]] ===== Die Flugbahn ===== Wir beginnen mit der "Flugbahn" des Vogels. Da der Vogel ja wie ein Zug funktioniert, besteht seine Strecke also aus ''path_tracks''. Wie ihr eine solche Strecke erstellt, könnt ihr im [[half-life_2:tutorials:zuege|Zug Tutorial]] nachlesen. Ich werde meine ''path_tracks'' hier "//track1//", "//track2//" usw. nennen. ==== Tipp ==== Damit der Vogel keine "eckigen" Flugbahnen fliegt ist es am sinnvollsten, eine kreisförmige Strecke zu erstellen. Am besten schafft ihr das, indem ihr euch einen Zylinder als Schablone erstellt und die ''path_tracks'' auf den Eckpunkten des Körpers positioniert: {{half-life_2:tutorials:css-abschiessbarer_vogel:flugbahn.jpg}} Danach könnt ihr den Zylinder wieder löschen. Die Flugbahn ist jetzt also schonmal geschafft! ===== Der Vogel ===== Nun kommen wir zum Vogel. Erst einmal müssen wir jedoch einen ''func_tracktrain'' erstellen, welcher später das Model des Vogels bewegen wird. Erstellt einfach einen 4x4x4 großen Brush, den ihr dann zu einem ''func_tracktrain'' macht. Hier müssen folgende Einstellungen gesetzt werden: * **Name** - Ich nenne meinen "//train//" * **Render Mode** - "Texture" * **FX Amound** - 0 * **First Stop Target** - "//track1//" * **Max Speed** - 100 * **Initial Speed** - 100 Jetzt kommt der eigentliche Vogel ins Spiel: Als [[source:entities:prop_dynamic_override]] mit dem Model ''models/seagull.mdl'' (eine Seemöwe). Hier könnt ihr natürlich variieren, andere Möglichkeiten sind z.B. ''pidgeon'' (Taube) oder ''crow'' (Krähe). Außerdem braucht das Model einen "Namen" ("//seagull//") und eine "Default Animation" ("//Fly//"). Als "Parent" tragt ihr den "//train//" ein. Am besten positioniert ihr das Model etwas unter dem ''func_tracktrain''. **Wichtig:** Der Vogel muss mit dem Kopf nach Osten (rechts) ausgerichtet sein, sonst fliegt er rückwärts oder seitlich ;-). Das sollte jetzt ungefähr so aussehen: {{half-life_2:tutorials:css-abschiessbarer_vogel:tracktrain.jpg}} Wenn ihr die Map jetzt kompiliert, dreht der Vogel schonmal fröhlich seine Runden, abschießen könnt ihr ihn jedoch noch nicht. ===== Der sterbliche Vogel ===== Nun setzt ihr einen [[source:entities:env_shooter]] genau an die Position des Origins des [[source:entities:prop_dynamic_override]]. Ihr müsst folgende Einstellungen vornehmen: * **Name** - Meiner heißt "//shooter//" * **Parent** - "//train//" * **Number of Gibs** - 1 * **Gib Velocity** - 7 * **Gib Life** - 10 * **Model** - ''models/seagull.mdl'' * **Simulate** - Ragdoll Jetzt zieht ein einen Brush um das Model des Vogels, sodass kein Stück davon mehr herausschaut. Belegt ihn mit der ''toolsnodraw'' Textur und macht ihn zu einem [[source:entities:func_button]]. Das Ganze sollte nun so aussehen: {{half-life_2:tutorials:css-abschiessbarer_vogel:seagull.jpg?800}} Zur besseren Übersicht hab ich den [[source:entities:func_button]] in der 3D-Ansicht ausgeblendet. Beim Button müsst ihr als "Parent" natürlich auch den "//train//" angeben. Bei den Flags checkt ihr noch den Punkt "Damage Activates" und setzt Outputs wie folgt: {{half-life_2:tutorials:css-abschiessbarer_vogel:button.jpg}} **Fertig!**