Community-Tutorials (Source)

BBC-Maps

Ich wurde gebeten dieses Tutorial zu machen und eine Beispielmap anzuhängen, ersteres habe ich gemacht, letzteres kann ich nicht. Daher hier ein Link zur Beispielmap.
_________________________________
BBC-Maps sind eine Art Funmaps, bei denen zwei Teams von getrennten Seiten mit Fässern aus Kanonen aufeinander schießen. Die Kanonen werden aus einer ganzen Reihe anderer Entities zusammengebastelt, wegen der recht hohen komplexität würde ich Anfängern nicht raten mit einer bbc-Map zu beginnen.

Die Kanonen:
Sie bestehen aus verschiedenen trigger_push, einem prop_physics_multiplayer, einem point_template, einem env_entity_maker, mehreren Triggern, sowie dem "Drumherum" für die Optik.
Dieses Tutorial startet mit einem Kanonenrohr und anderem, das eigentlich zum "Drumherum" gehört, dieser schritt macht das Verfolgen des Tutorials einfacher. Das ganze könnte so aussehen:

bauer001.jpg

Als nächstes sorgen wir dafür, dass die Kanone auch geladen werden kann, dazu wird ein prop_physics_multiplayer auf der kanone plaziert (Die normale Variante würde die CPU unnötig balasten, da wir ohnehin nur einfache Physik brauchen.), sodass ein spawnendes Fass im Nachladebereich landet. Einstellungen für das prop_physics_multiplayer:

  • name: fass1
  • World Model: models/props_c17/oildrum001_explosive.mdl
  • Disable Shadows: yes (spart mal wieder Performance)
  • Explosion Damage: 20 (ein Fass soll ja nicht gleich alles töten)
  • Explosion Radius: 256 (nicht nur direkte Treffer sollen zählen)
  • Performance Mode: No Gibs (Performance ...)
  • Flags: Force server-side

Damit das Fass auch respawnt, braucht man einen env_entity_maker und ein point_template:
env_entity_maker:

  • name: maker1
  • Point_template to spawn: template1

piont_template:

  • name: template1
  • template1: fass1

Das ganze wird jetzt noch getriggert, dazu bringen wir einen trigger_multiple an der Kanone an:

  • name: reload1
  • Start Disabled: No
  • Delay Before Restet: -1
  • Outputs: OnTrigger|maker1|ForceSpawn||0.00|No

Jetzt haben wir eine Kanone, die man beladen kann. Das ganze könnte so aussehen:

bauer002.jpg

Es folgen zwei trigger_push, der eine soll das Fass abschießen, der andere beschleunigt es in Kanonenrohr. Beide trigger_push werden nun in die Kanone eingebettet. Derjenige, der beim Spawnenden Fass ist, bekommt folgende Werte:

  • name: fire1
  • Start Disabled: Yes
  • Push Direction: (in Richtung des Kanonenrohrs)
  • Speed of Push: 500
  • Flags: Physic Objects

Der im Kanonenrohr folgende Werte:

  • Start Disabled: No
  • Push Direction: (Schussrichtung, nach oben etwas stärker)
  • Speed of Push: >1500
  • Flags: Physic Objects

Das ganze sieht dann etwa so aus:

bauer003.jpg

Der erste trigger_push wird mit einem trigger_multiple aktiviert, damit man nur bei Bedarf schießt, dieser trigger sollte auch den Nachlade-Trigger wieder aktivieren. Beispielsweise so:

  • Outputs: OnTrigger|fire1|Enable||0.00|No
  • Outputs: OnTrigger|fire1|Disable||2.00|No
  • Outputs: OnTrigger|reload1|Enable||2.00|No

Im Grunde genommen ist die Kanone jetzt fertig. Um die Kanonenkugel zu steuern kann man noch einige trigger_push kurz vor der Kanone plazieren, die die Kugel nach links oder rechts ablenken. Das könnte dann so aussehen:

bauer004.jpg

Der Rest:
Wenn man damit fertig ist, kompiliert man die Map und guckt, wo die Fässer auftreffen, dort muss die Gegenseite gebaut werden. Wenn einem der Ort nicht passt, muss man den "Speed of Push" im Kanonenrohr anpassen und nochmal gucken, ob es passt. Sollte - wie in meiner Beispielmap - der Aufprall der Fässer nicht ausreichen, um diese explodieren zu lassen, kann man den Boden beider Seiten mit trigger_hurt überziehen, der nur Physikobjekten Schaden zufügt.