User Tag List

Ergebnis 1 bis 1 von 1

Thema: Steuerbare schießende Kanone

  1. #1
    Mitglied
    Registriert seit
    23.06.2010
    Alter
    24
    Beiträge
    67
    Renommee-Modifikator
    8

    Steuerbare schießende Kanone

    Hi,

    heute zeige ich euch wiedermal ein neues Tutorial. Eine steuerbare schießende Kanone.
    Tutorial für eine Kanone.



    Nachteil: Leider weiß ich nicht, wie man es lösen kann, dass die Kanone nicht durch Wände durchsteuerbar ist.

    Entities:

    2x func_rotating
    1x func_physbox
    1x func_button
    1x trigger_push
    1x trigger_hurt
    1x trigger_teleport
    1x point_template
    1x logic_relay
    2x logic_case
    1x info_target
    1x game_ui

    Erstellt euch eine Kanone und dessen Dreh- bzw Schwenkachsen. Nehmt nun den einen Teil eurer Kanone und macht daraus ein func_rotate. Ich habe es in meinem Beispiel X genannt.



    Bei Flags solltet ihr

    [X]Large Sound Radius

    aktiviert haben. Alternativ kann man auch noch Not Solid aktivieren.

    Wichtig: Ihr müsst aufpassen in welcher Ansicht ihr die Kanone erstellt. Jenachdem müsst ihr eventuell X Axis oder Y Axis aktivieren.

    Das 2. func_rotation habe ich Y genannt. Hier setzt ihr ein Parent auf das andere func_rotation, da sich sonst die Position der Kanone nur nach oben und unten verändern lässt. Zusätzlich habe ich die Drehachse (den blauen Punkt) noch an die Stelle gesetzt, an die die Achse angebracht ist. Also an unserem Punkt vorne.





    Vorteil: Die Kanone kann nicht vom Spieler geblockt werden.
    Nachteil: Man kann durch die Kanone durchlaufen.

    Dies könnt ihr je nach Bauart eurer Map selbst de- bzw. aktivieren.

    Zu den anderen Einstellungen.

    Hier braucht ihr lediglich den Max Rotation Speed anpassen. Je kleiner der Wert ist, desto langsamer und feiner könnt ihr die Kanone später steuern.

    Die andere Achse stellt ihr genau so ein, wie die vorherige auch.

    Als nächstes brauchen wir die logic_case. Diese Übersetzen später unsere Steuerung.

    Das eine habe ich x-axis und das andere y-axis genannt.

    In die Case tragt ihr dann bei beiden folgendes ein:



    Bei dem Case x-axis müsst ihr in den Outputs nur den Target Name von Y auf X ändern.

    Jetzt wäre unsere Kanone steuerbereit. Lediglich der Befehl fehlt, dass sie mit W-A-S-D gesteuert werden kann.
    Dazu kommen wir jetzt.
    Nehmt das game_ui und gebt ihm einen Namen. In meinem Beispiel ui_kanone.
    Hier könnt ihr anfangs folgende Outputs eintragen.

    X-Axis - x-axis - InValue
    Y-Axis - y-axis - InValue

    Y-Axis = Die Steuerung in der Höhe. Mit den Tasten W und S.
    X-Axis = Die Steuerung seitlich. Mit den Tasten A und D.

    Was bewirkt dieser Befehl nun auf unser logic_case und dann auf unser func_rotating?

    Um das zu erklären verwende ich mal ein einfaches Beispiel.

    Ein Hubzylinder.

    Fährt der Zylinder nun aus, also in einen positiven Wert, ist das Zeichen +. In unserem Fall Value (+)1.
    Fährt der Zylinder nun ein, also in einen negativen Wert, ist das Zeichen -. In unserem Fall Value -1.
    Bewegt sich der Zylinder weder ins Positive noch ins Negative, ist der Value-Wert gleich 0. Er macht nichts.

    So verhält es sich in unserem Fall auch. Drücken wir W, gehen wir nach vorne, also einen positiven Wert. (Value (+)1)
    Drücken wir S, gehen wir nach hinten, also einen negativen Wert. (Value -1)
    Drücken wir weder W noch S, bleiben wir stehen, also den Wert "null". (Value 0)

    Je nach Wert gibt das logic_case die Eingabe an das func_rotating weiter. Bei W einen Positiven, also nach oben.

    Bei S einen Negativen, also nach unten. Bei keiner gedrückten Taste keinen Wert, es bleibt stehen.

    Bei dem game_ui wird also folglich der Wert je nach gedrückter Taste in Form von Value´s ausgegeben.

    Jetzt wäre unsere Kanone schonmal steuerbar.

    Kommen wir zu den Kugeln.
    Aus der Kugel, welche ihr erstellt habt, macht ihr ein func_physbox. Gebt ihm einen Namen. Bei mir ball und stellt die Strengt auf 100000000 oder einen ähnlichen Wert.
    Um die Kugel erstellt ihr einen trigger_teleport. Gebt diesem einen Namen und ein Remote Destination.

    Name: kugel_teleporter
    Remote Destination: kugel_spawn

    Bei den Flags setzt ihr einen Haken bei

    [X]Physics Objects.

    Setzt nun das info_target in die Kanone.

    Wichtig: Achtet darauf, dass die Kugel nicht in dem Brush der Kanone ist, da sie sonst blockiert und nicht feuert.

    Gebt dem info_target den Namen eures Remote Destinations. Also kugel_spawn.

    Setzt nun das point_template und gebt ihm den Namen ball_template.

    Bei Template 1 tragt ihr nun den Namen eurer Kugel ein. Bei mir ball.



    Setzt nun das logic_relay und gebt ihm einen Namen. Bei mir relay.

    Hier setzt ihr folgende Einstellungen und Outputs.



    Zur Erläuterung:

    Wird jetzt das logic_relay angesprochen und aktiviert, so soll es die Kugel auf den info_target spawnen und danach sofort wieder deaktiviert werden, da man sonst unendlich viele Kugeln auf einmal feuern könnte.

    Wieso nach 4 Sekunden wieder aktivieren?

    Das aktivieren ist für die Funktion wichtig. Die 4 Sekunden sind lediglich die Zeit, die man warten muss, um erneut feuern zu können.

    Aber welches Entity aktiviert jetzt unser logic_relay?

    Das übernimmt das game_ui.

    Diesem geben wir noch 2 weitere Outputs wie auf dem Bild zu sehen.



    Wieso brauchen wir bei dem 2. Output ein Delay von 0.01?

    Das brauchen wir aus dem Grund, da das Entity ja einen Start braucht. Würde man das Entity Triggern und Starten zugleich lassen, wird es das Triggern nicht ausführen, da es zeitgleich mit dem Start verbunden ist und somit

    noch nicht reagieren kann.

    Was ist PressedAttack?

    PressedAttack ist, wenn ihr die Linke Maustaste drückt, um zu feuern. Dies löst unsere Kugel aus, die dann gespawned wird.

    Jetzt fehlen uns nur noch 3 Entities. Der func_button, der trigger_hurt und der trigger_push.
    Den trigger_push setzt ihr in die Kanone und Parented ihn daran. Parent in meinem Beispiel Y.
    Hier nur die Push Direction einstellen. Je nach Ansicht und Bauweise der Kanone unterschiedlich.
    Bei Flags noch

    [X]Physics Objects

    aktivieren und

    [ ]Clients

    deaktivieren.

    Stellt hier den Speed of Push auf einen sehr hohen Wert. Je größer der Wert ist, je schneller schießt die Kugel heraus.

    Irgendwie muss ja jetzt die Kugel wieder verschwinden, da zu viele Kugeln die Performance enorm schwachen und

    das Spiel zu ruckeln anfangen kann.
    Dies können wir ganz einfach mit dem trigger_hurt bewerkstelligen. Setzt hier einfach bei Damage und Damage Cap einen ebenfalls sehr großen Wert, damit die Kugel schnell zerstört wird.

    Bei den Flags sollte hier nur

    [X]Physics Objects

    aktiviert sein.

    Kommen wir zu unserem letzten Entity. Dem func_button.

    Ihm müsst ihr nur den Output

    OnPressed - ui_kanone - Activate

    geben. Jetzt könnt ihr euch nicht mehr bewegen, aber die Kanone steuern und abfeuern.

    MfG

    Master of Terror
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicke auf die Grafik für eine größere Ansicht 

Name:	achse_kanone.jpg 
Hits:	323 
Größe:	52,2 KB 
ID:	1286   Klicke auf die Grafik für eine größere Ansicht 

Name:	rotate_x.jpg 
Hits:	326 
Größe:	57,8 KB 
ID:	1285   Klicke auf die Grafik für eine größere Ansicht 

Name:	kanone_y.jpg 
Hits:	326 
Größe:	58,0 KB 
ID:	1283   Klicke auf die Grafik für eine größere Ansicht 

Name:	relay.jpg 
Hits:	324 
Größe:	68,7 KB 
ID:	1282   Klicke auf die Grafik für eine größere Ansicht 

Name:	game_ui.jpg 
Hits:	331 
Größe:	31,0 KB 
ID:	1281  

    Klicke auf die Grafik für eine größere Ansicht 

Name:	kanone.jpg 
Hits:	335 
Größe:	31,1 KB 
ID:	1280   Klicke auf die Grafik für eine größere Ansicht 

Name:	template.jpg 
Hits:	326 
Größe:	45,3 KB 
ID:	1279   Klicke auf die Grafik für eine größere Ansicht 

Name:	case_xy.jpg 
Hits:	328 
Größe:	51,2 KB 
ID:	1278  
    Angehängte Dateien Angehängte Dateien
    Geändert von Dmx6 (22.02.2011 um 22:06:19 Uhr) Grund: Präfix hinzugefügt

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
[email protected]