User Tag List

Ergebnis 1 bis 6 von 6

Thema: func_tracktrain & env_laser

  1. #1
    Erfahrenes Mitglied Avatar von Ikontflash
    Registriert seit
    20.06.2010
    Ort
    Oldenburg
    Alter
    23
    Beiträge
    769
    Renommee-Modifikator
    10

    func_tracktrain & env_laser

    In diesem Tutorial möchte ich euch nun erklären, wie man das „func_tracktrain“ benutzt.
    Es ist ein Brush-Entity, das eine bestimmte Route abfährt, für z.B. bewegliche Laser oder eine bewegliche Plattform.

    In meinem Beispiel wird es sich um bewegliche Laser handeln, wie sie z.B. in mg_*-Maps vorkommen, um zu dem 2. Thema dieses Tutorials zu kommen, dem „env_laser“

    Was wir brauchen:

    1* func_tracktrain
    2* path_track
    2* env_laser
    1* logic_auto(optional)

    So dann wollen wir mal anfangen.

    Als erstes bauen wir uns erstmal einen Raum.
    Nun setzen wir an die Seitenmauern unseres Raumes jeweils ein „env_laser“
    Nun öffnen wir die Properties des einen env_laser und fügen dort nun folgende Keyvalues ein:
    Code:
    name: laser1
    parent: track //dazu kommen wir noch etwas später
    target of laser: laser2
    Brightness: //hat keinen Effekt auf den Laser
    Beam Color: 255 255 255 //Gibt eurem Laser seine Farbe(255 255 255≠weiß, sonder die Farbe des bei „Sprite Name“ angegebenen Sprites wird verwendet.)
    Width of Beam: 5 //gibt die Breite/Dicke das Lasers an
    Amount of noise: 0 // Ein höher Wert verursacht, dass der Laser keine gerade Linie bildet, sondern blitzartig aussieht.
    Sprite Name: sprites/purplelaser1.vmt // Dieser Eintrag gibt dem Laser sein aussehen. Ob er rot ist oder blau(falls „Beam Color“=255 255 255) oder was er für eine Form hat.
    End Sprite:  // falls ein Sprite ausgewählt ist, wird dieser am Ende des Laser dargestellt.
    Texture Scroll Rate(0-100):35 // Wie schnell die Animation der Textur dargestellt wird.
    Start Frame: 0 // Bei welchem Frame die Animation der Textur beginnen soll.
    Damage / Second: 100 // Wie viel Damage pro Sekunde am Spieler entsteht. Der Schaden wird jede 0,1 Sekunde berechnet, das bedeutet bei 100 Damage pro Sekunde entstehen alle 0,1 Sekunden 10 Damage. (Eingetragener Wert÷10= Damage pro 0,1 Sekunden)
    Dissolve Type: None // Art des Lasers
    Nun wechseln wir noch zu den Flags des env_laser:
    Code:
    Start on [x] // Ob der Laser von Rundenbeginn an aktiviert sein soll
    Start Sparks [ ] // Ob beim Anfang des Laser Funken entstehen sollen
    End Sparks [ ] // Ob beim Ende des Laser Funken entstehen sollen
    Decal End [ ] // Ob beim Ende des Lasers eine „Verkohlung“ dargestellt werden soll
    So damit wäre der erste Laser fertig und ihr wisst, wozu alle Einstellungen dienen.
    Nun geht zu den Properties des zweiten env_laser:

    Code:
    name: laser2
    parent: track
    Mehr müsst ihr an diesem env_laser nicht einstellen.

    Falls ihr alles richtig gemacht habt, wird nun im Hammer eine Verbindungslinie zwischen den beiden env_laser dargestellt.
    Klicke auf die Grafik für eine größere Ansicht 

Name:	laserverbindung.jpg 
Hits:	38 
Größe:	57,7 KB 
ID:	396

    So damit wäre unser Laser fertig, aber wir wollen ja auch noch, dass er sich bewegt.
    Dazu werden wir nun das func_tracktrain benutzen.

    Als erstes nehmt ihr das Brush-Tool und macht einen Brush mit z.B. der Playerclip-Textur und setzt ihn am besten schön mittig in den Laser, damit man die Bewegung perfekt unter Kontrolle hat. Während der Brush noch selektiert ist, drückt ihr „STRG+T“ und macht ihn zu einem func_tracktrain.
    Keyvalues:
    Code:
    name: track // da wir vorher schon bei den env_laser eingestellt haben, dass deren Parent „track“ ist, wird dieses func_tracktrain nun als Parent verwendet
    Parent: // Falls euer func_tracktrain noch irgendwie in seiner Bewegung beeinflusst werden soll, könnt ihr hier noch einen parent eintragen
    Origin: !nicht verschieben!
    /Bis hin zu First Stop Target ist alles unwichtig
    First Stop Target: path1 // hier wird der path_track angegeben, zu dem sich das func_tracktrain als erstes bewegen soll
    Max Speed(Units/second): Die Geschwindigkeit, die das func_tracktrain maximal haben kann
    Initial Speed(Units/second): Die Anfangsgeschwindigkeit des func_tracktrain (Geschwindigkeit des func_tracktrain kann mit dem Output „SetSpeed“ verändert werden)
    Change Velocity: Instantaneously // Wenn das func_tracktrain einen path_track passiert, kann je nach Einstellung die Geschwindigkeit verändert werden(Instntaneously = Konstante Geschwindigkeit)
    Change Angle: Near path_tracks // Wenn das func_tracktrain einen path_track passiert, kann je nach Einstellung der Ausrichtungswinkel des func_tracktrains verändert werden(near path_tracks = func_tracktrain „guckt“ zum nächsten path_track)
    Distance Between the Wheels: 50 // Wie „smooth“ das func_tracktrain durch die Kurve fährt
    Height above track: 4 // Höhendifferenz zwischen func_tracktrain und der Strecke
    Bank Angle on Turns: 0 // Um wie viel Grad sich das func_tracktrain neigen soll, wenn es einen path_track passiert(Minuszahlen=Neigung in andere Richtung)
    Damage on Crush: 0 // Wie viel Damage der Spieler erleidet, wenn er zwischen einem Brush und dem func_tracktrain steckt
    Move Sound: // Ein Sound, der während der Bewegung des func_tracktrains abgespielt und wiederholht werden soll
    Move Ping Sound: // Ein Sound, der schneller/langsamer abgespielt wird, wenn sich die Geschwindigkeit des func_tracktrain ändert.
    Start Sound: Ein Sound, der abgespielt wird, wenn das func_tracktrain beginnt sich zu bewegen
    Stop Sound: Ein Sound, der abgespielt wird, wenn das func_tracktrain aufhört sich zu bewegen
    Volume(10=loudest): 10 // Lautstärke des Sounds, 10=am lautesten
    Min Pitch – Max Move Sound Interval: // da kenn ich die Bedeutungen nicht
    Health: 100 // Leben des func_tracktrain
    Kommen wir nun noch zu den Flags:
    Code:
    No Pitch(x-rot) [x] // Wenn das func_tracktrain eine Steigung hinauffährt, dann wird es entsprechend der Steigung gekippt. Ist dieses Flag aktiviert, dann ist dies nicht der Fall.
    No User Control [ ] // Das func_tracktrain kann nicht vom Spieler kontrolliert werden
    Passable [x] // Wenn dieses Flag aktiviert ist, dann ist das func_tracktrain nicht solid
    Fixed Orientation [x] // Die „Blickrichtung“ des func_tracktrain ist fixiert, falls dieses Flag gesetzt ist
    HL1 Train [ ] // Die Bedeutung ist mir nicht bekannt
    Use max speed for pitch shifting move sound [ ] // Auch diese Bedeutung ist mir nicht bekannt
    Is unblockable by player [x] // Das func_tracktrain kann ausschließlich vom Spieler nicht berührt warden
    Das sind nun alle Einstellungsmöglichkeiten des func_tracktrain.
    Damit haben wir aber noch keine Bewegung bzw. keine Strecke, die das func_tracktrain abfahren soll.
    Dazu benötigen wir nun die 2 path_track.
    Wir setzen diese Beiden so, wie unser Laser sich später bewegen soll.

    Und kommen wir nun auch hier zu den Keyvalues:
    Code:
    name: path1 
    parent: 
    Pitch Yaw Roll
    Next Stop Target: path2 // Das nächste Ziel, dass das func_tracktrain ansteuern soll
    Branch Path: // Hier kann ein alternatives Ziel angegeben werden, dass durch einen Input als nächstes Ziel ausgewählt werden kann(ToggleAlternatepath/EnableAlternattePath)
    New Train Speed: 0 // Die neue Geschwindigkeit des func_tracktrain. Sie muss unter dem „Max Speed“-Wert des func_tracktrain liegen. 0 = keine Veränderung der Geschwindigkeit
    Path Radius: 0 // Maximaler Abstand der NPC’s zu dem path_track
    Orientation Type: Face direction of motion // Die Art,  in welche Richtung das func_tracktrain "guckt“, während es den path_track durchfährt
    Und nun die Flags des Path_track:
    Code:
    Disabled [ ] // Das path_track ist anfangs disabled und kann nicht angesteuert werden
    Fire once [ ] // Wenn ihr den Output „OnPass“ des path_track nutzt, dann wird dieser nur einmal gefeuert, wenn dieses Flag aktiviert ist
    Branch reverse [ ] // Das „Next Stop Target“ wird zum „Branch Path“ und umgekehrt, falls dieses Flag aktiviert ist
    Disable train [ ] // Das func_tracktrain bleibt stehen, wenn dieses path_track passiert wurde
    Teleport to THIS path track [ ] // Das func_tracktrain wird nicht zu diesm path_track gefahren, sondern teleportiert
    So jetzt haben wir auch alle Einstellungsmöglichkeiten des path_track durchgekaut.
    Bei dem Zweiten stellen wir noch eben ein:
    Code:
    name: path2
    Next Stop Target: path1
    Dem findigen Beobachter wird nun aufgefallen sein, dass ich bei dem path1 als „Next Stop Target“ „path2“ angegeben habe und beim path2 das „path1“. Das habe ich aus diesem Grund getan, damit das func_tracktrain immer zwischen den beiden path_track hin und her fährt.

    Damit das func_tracktrain aber auch überhaupt startet, müssen wir ihm dazu einen Befehl geben.
    Ich möchte, dass es beim Rundenstart startet also benutze ich ein logic_auto. Ihr könnt natürlich auch einen Trigger oder ähnliches nehmen um ihn zu starten, es hängt halt von der Situation ab.

    Auf jeden Fall sieht der Output meines logic_auto so aus:
    Code:
    OnMapSpawn|track|SetForward|0.00|No
    Jetzt haben wir es endlich geschafft.
    Noch schnell einen spawn (info_player_counterterrorist) gesetzt und dann sieht es bei mir im Hammer so aus:
    Klicke auf die Grafik für eine größere Ansicht 

Name:	fertig.jpg 
Hits:	40 
Größe:	99,7 KB 
ID:	397

    Und so kann es dann InGame aussehen:

    Im Anhang gibts noch meine Beispielmap zum Download, falls ihr euch etwas genauer angucken wollt.
    Ich hoffe ich konnte euch mit diesem Tutorial ein wenig weiterhelfen und wünsche euch noch viel Spaß am Mappen.
    Mfg Ikontflash
    _____________________________________________
    P.S.: Wenn ihr die Bedeutungen kennt, die ich oben rot markiert habe, dann postet die bitte damit ich die editieren kann.
    Angehängte Dateien Angehängte Dateien
    Geändert von Ikontflash (05.07.2010 um 19:29:13 Uhr)

  2. #2
    Mitglied
    Registriert seit
    24.07.2010
    Ort
    Zeuthen near Berlin
    Beiträge
    28
    Renommee-Modifikator
    8
    Hey cooles Tut,aber ich habe da noch eine frage kannst du auch eins machen mit einem Auto oder panzer also so dass die fahren und wie man die auf einander einsstimmt da es ja mehrere sachen dann sind wäre nett da ich so viele zwar schon gesehen hab aber entwerder blöd erklärt oder englisch und das ist nicht so meine stärke

    MfG Melekai

  3. #3
    Erfahrenes Mitglied Avatar von Ikontflash
    Registriert seit
    20.06.2010
    Ort
    Oldenburg
    Alter
    23
    Beiträge
    769
    Renommee-Modifikator
    10
    Meinst du Fahrzeuge, die der Spieler auch steuern kann?
    Weil das mit Phys_thruster(oda so ähnlich) und einem Game_ui gelöst wird und damit kenn ich mich garnicht aus...

  4. #4
    Mitglied Avatar von Hashimo
    Registriert seit
    18.06.2010
    Ort
    CCAA
    Alter
    34
    Beiträge
    338
    Blog-Einträge
    3
    Renommee-Modifikator
    8
    Weiteres zu diesem Thema bitte per PN, da es nichts anscheinend nicht mit dem Tutorial zu tun hat. Danke
    No pity. No mercy. No regret.


  5. #5
    Mitglied
    Registriert seit
    24.07.2010
    Ort
    Zeuthen near Berlin
    Beiträge
    28
    Renommee-Modifikator
    8
    Habs alleine raus gefunden
    ich würd gerne das auch als tut machen für andere die das selbe Problem haben, aber ich kann iwie keins erstellen.
    naja eventuel kann ichs ja auch einem erklären und der macht das dann.

    Mfg Melekai

    Ps:das ist das was ich meine ein Model durch die Mapp fahren lassen (panzer,flugzeug ect.)
    wenn es erwünscht ist

  6. #6
    Super-Moderator Avatar von Frontschwein
    Registriert seit
    18.06.2010
    Ort
    Chemnitz
    Alter
    27
    Beiträge
    575
    Renommee-Modifikator
    11
    Is doch nix anderes, als das, was uns Ikontflash schon gezeigt hat, nur das eben kein env_laser dran geparentet wird, sondern eben n prop_physics
    Also deswegen n neues Tut ... ne.

    E: Ach, und übrigens, leserliche Rechtschreibung würde ich von dir doch sehr begrüßen

Stichworte

Berechtigungen

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