User Tag List

Ergebnis 1 bis 1 von 1

Thema: Aufzug mit mehreren Stockwerken (frei wählbar)

  1. #1
    Mitglied
    Registriert seit
    23.06.2010
    Alter
    30
    Beiträge
    67
    Renommee-Modifikator
    13

    Aufzug mit mehreren Stockwerken (frei wählbar)

    Hi,

    heute zeige ich euch, wie ihr einen Aufzug mit mehreren Stockwerken und selbst wählbarem Stockwerk erstellt. Zusätzlich habe ich noch eine Leiter eingebaut, damit man den Aufzug auch von anderen Stockwerken holen kann.

    Entities:

    1x logic_compare
    X-mal func_button (In meinem Beispiel 8 - 4 die den Aufzug holen, 4 die das Stockwerk steuern.)
    1x func_tracktrain
    X-mal path_track (In meinem Beispiel 4 - pro Stock eines)
    X-mal func_door (In meinem Beispiel 10 - 2 Aufzugtür und 8 Sicherheitstüren)

    Erstellt euch einen Aufzug nach euren Vorstellungen und macht einen func_tracktrain daraus. Ich habe ihn train_aufzug genannt.

    Folgende Einstellungen sind entscheidend oder können verstellt werden:



    First Stop Target ist der erste path_track, den der Aufzug anfahren soll. Bei mir erdgeschoss.
    Max Speed ist die Geschwindigkeit des Aufzuges gemessen in Unit/Sekunde.
    Height above track ist die Höhe, die der Aufzug über das path_track fahren soll. Bei mir ist es genau auf 0 ausgerichtet, deswegen der Wert 0. (Ausrichten zeige ich euch.)
    No Pitch ist die Drehung. Der Aufzug soll sich ja beim Fahren nicht drehen.
    No User Control ist die Steuerung. Der Aufzug lässt sich nicht von einem anderen Ort aus steuern.
    Damage on Crush ist der Schaden, der aktiviert wird, wenn der Aufzug von einem Spieler geblockt wird. (In meinem Beispiel habe ich Sicherheitstüren, also ist es nicht notwendig.)

    Setzt nun entsprechend eure path_tracks ungefähr an die Stelle, an die sie später hinsollen oder richtet ihn manuell aus und benennt diese entsprechend. In meinem Beispiel erdgeschoss, stock1, stock2, stock3. Setzt jedem entsprechend als Next Stop Target den nachfolgenden. Mehr braucht ihr nicht einzustellen.

    Tipp für schnelle path_tracks:

    Spoiler:

    Erstellt euch ein path_track und benennt es nach belieben.

    Mein Beispiel sind mehrere Stockwerke.
    Ich benenne das eine stock1.
    Jetzt kopiert das path_track mithilfe der Shift-Taste. Klickt es an und zieht es an eine Stelle eurer Wahl. Sobald ihr die Maustaste loslasst, seht ihr, dass eine gelbe Linie zwischen den path_tracks ist.
    Unser Hammer Editor hat in diesem Fall eine "Folge" entdeckt und führt diese weiter, indem er bei dem zweiten path_track stock2 schreibt und bei dem ersten bei Next Stop Target stock 2 reinschreibt.

    Vorteil:
    -Es sind ziemlich schnell viele path_tracks gemacht.
    -Es funktioniert auch nur mit Buchstaben. z.B. nach a kommt a1 usw.

    Unerklärlicher Bug bei mir: Bei mir ist der stock3 ausgelassen, aber ich weiß nicht warum. Theoretisch macht das eigentlich keinen unterschied. Der Hammer Editor füllt dann bei dem stock2 dein Next Stop Target stock4 ein. Danach macht er normal mit stock5 weiter. Ob es danach noch solche Bugs gibt weiß ich nicht.



    Tipp zum Ausrichten:
    Spoiler:

    Markiert den Aufzug und zieht ihn nach oben und setzt die Oberkante des Aufzugs auf die Oberkante des nächsten Stockes. Anhand des Kreuzes seht ihr nun den Mittelpunkt eures Aufzugs und könnt entsprechend den path_track genau setzen.





    Habt ihr alles ausgerichtet und soweit eingestellt, machen wir mit der Aufzugstür weiter. Hier habe ich ein func_door verwendet und sie aufzugdoor_1 genannt. Da eine Aufzugstür bekanntlich beidseitig aufgeht sind es 2 func_door. Hier müsst ihr lediglich folgende Einstellungen beachten. Es sollte aber durch die Anfänger-Tutorials bekannt sein.



    Parent: Hier tragt ihr den Namen des func_tracktrain ein, da ja eine Aufzugtür immer am Aufzug dran ist.
    Lip: Hier stellt ihr die Überlappung ein.
    Delay before reset: Hier stellt ihr die Zeit ein, nach welcher die Tür wieder automatisch schließt. (-1 ist stehenbleiben)
    Move Direction: Hier stellt ihr die Richtung ein.

    So jetzt braucht unser Aufzug und die jeweiligen Stockwerke noch Knöpfe, um den Aufzug zu steuern.
    Die Knöpfe in den jeweiligen Stockwerken habe ich get_train0 ... get_train3 genannt.
    Die Knöpfe im Aufzug but_erdgeschoss, but_stock1 ... but_stock3.
    Erstellt je einen Button pro Stockwerk und in dem Aufzug je einen Button für je ein Stockwerk.

    Bei jedem Button bei Flags den Haken von Don´t move und Use Activates aktivieren.

    Bei den Buttons im Aufzug stellt folgendes noch mit ein: (WICHTIG)



    Jetzt wäre unser Aufzug schon fast fahrbereit. Er braucht lediglich nur noch den Befehl, dass er starten soll. Dies bewerkstelligen wir mit dem logic_compare.



    Initial Value: In meinem Tutorial benennt es lediglich den Startpunkt.
    Compare Value: Ist die Funktion, welche überprüft, ob unsere Werte diesem Value entsprechen und führt so in unserem Beispiel die Outputs OnEqualTo, OnGreaterThan oder OnLessThan aus.
    OnEqualTo: Wird geschalten, wenn der Ist-Wert dem Soll-Wert entspricht.
    OnGreaterThan: Wird geschalten, wenn der Ist-Wert größer ist, als der Soll-Wert.
    OnLessThan: Wird geschalten, wenn der Ist-Wert kleiner ist, als der Soll-Wert.

    Die Outputs in dem rot eingerahmten Kästchen sind für mich theoretische wichtig.

    Warum?
    Wenn ich mir vorstelle, das eure Map im Multiplayer gespielt wird und ein Spieler im Aufzug ist und in den dritten Stock fährt und ein anderer Spieler im zweiten Stock auf den Knopf drückt, damit der Aufzug kommt, würde der Aufzug theoretisch gesehen statt in den dritten Stock in den zweiten Stock fahren. Deswegen habe ich hier alle Buttons "entsperrt" und in jedem Button die anderen Buttons gesperrt. (Später in den Outputs der Buttons zu sehen.)

    Jetzt muss der Aufzug nur wissen, wo er sich im Moment befindet und Wo er hinsoll.

    Zu dem Wo er sich befindet:

    Hierzu tragt ihr in allen path_tracks folgende Outputs ein.



    Für jeden Stock braucht ihr einen anderen Wert bei SetValue.
    Bei mir:
    erdgeschoss: Value 0
    stock1 ... stock3: Value 1 ... Value 3

    SetValue: Unser Wert, den das path_track hat und welches von dem logic_compare gelesen wird.
    Compare: Hier wird geprüft wo sich der Aufzug befindet und je nach Lage werden dann die Outputs OnEqualTo, OnGreaterThan oder OnLessThan aktiviert.
    So funktioniert das mit dem Größer, Kleiner oder enspricht:

    Angenommen wir sind in Stockwerk 1. Wir wollen in den 3. Stock. Wir drücken also den Knopf für den 3.Stock. Jetzt bekommt das logic_compare ein neues Value zugeschickt und soll danach prüfen, wo es sich im Moment befindet. Es merkt, dass der Wert der gesendet wurde größer ist, als der Wert, den es im Moment hat. Jetzt aktiviert es den Output OnGreaterThan. Der Aufzug wird in Bewegung gesetzt und startet wie in unserem Output bestimmt Vorwärts zum nächsten path_track. Dort wird erneut geprüft, ob der Wert der gefordert ist erreicht ist. Da dieser nicht erreicht ist, fährt er weiter. Im dritten Stock wird das nächste path_track angesprochen und sagt, "du bist jetzt im 3. Stock". Das logic_compare hat den Wert erreicht und deaktiviert nun den Output OnGreaterThan und aktiviert den Output OnEqualTo. Durch diesen Output wird jetzt unser Befehl an den Aufzug weitergegeben, dass er stoppen soll.

    WICHTIG: Vergesst bei dem Compare das Delay von 0.01 Sekunden nicht. Es ist wichtig, da die Value als erstes gesetzt wird und erst danach das logic_compare mit Compare prüfen soll.

    Soviel nun zur Erläuterung, wie das logic_compare erkennt, wo es sich befindet und wo es hin soll.

    Die Buttons außerhalb habe ich get_train0 ... get_train3 genannt.

    train0 = erdgeschoss
    train1 = Stockwerk 1 usw.

    Jetzt noch zu den Outputs der jeweiligen Buttons.

    Das Delay von 2 und 2.01 Sekunden ist lediglich die Zeitspanne, in der die Türen sich schließen. (Nur Optik)
    Die Outputs secure_door0 ... secure_door3 könnt ihr weglassen. Diese sind nur für eine Sicherheitstür gedacht, damit man nicht unter bzw. über dem Aufzug sein kann, um diesen zu blocken oder runterzufallen.
    WICHTIG: Passt auf, dass ihr SetCompareValue nehmt nicht SetValueCompare.

    but_erdgeschoss:



    but_stock1:



    but_stock2:



    but_stock3:



    get_train0:



    get_train1:



    get_train2:



    get_train3:




    Jetzt ist der Aufzug vollkommen betriebsbereit und funktioniert.

    Für die die Sicherheitstüren oder eine "realistische Tür" haben wollen:

    Sicherheitstüren:
    Spoiler:

    Erstellt euch die Türen und macht sie zu func_doors. Stellt alles so ein, wie die Aufzugstür. Nur der Name muss bei jeder Tür anders sein. In meinem Beispiel secure_door0 ... secure_door3.

    Tragt noch die Outputs, die oben in den Bildern der Buttons enthalten sind nach und in die path_tracks schreib ihr noch je einen Output rein.

    Bei dem path_track erdgeschoss z.B.

    OnPass - secure_door0 - Open

    Bei den anderen müsst ihr die jeweilige Tür dann eintragen.

    Bei mir:

    stock1 --> secure_door1
    stock2 --> secure_door2
    stock3 --> secure_door3

    Jetzt ist diese auch funktionsfähig.


    Realistische Tür:
    Spoiler:


    Ihr wollt eine Tür die diese hier?



    Erstellt euch 3 func_doors, übernehmt die Einstellungen von oben und versetzt sie zueinander. Das sollte in etwa so aussehen. Ich habe sie door1 ... door3 benannt.



    Bei door1 setzt ihr noch ein Parent auf door2 und bei door2 ein Parent auf door3.

    Gebt ihnen noch folgende Outputs:

    door1:



    door2:



    door3:



    Erstellt noch 2 func_button. Einer soll die Tür wieder schließen und einer Öffnen.
    Gebt ihnen noch folgende Outputs:

    but_open:



    but_close:



    Jetzt hab ihr auch eine "realistische Tür". Beispielmap hierfür als Extra Download.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicke auf die Grafik für eine größere Ansicht 

Name:	path_tipp.jpg 
Hits:	566 
Größe:	69,7 KB 
ID:	1292   Klicke auf die Grafik für eine größere Ansicht 

Name:	but_stock2.jpg 
Hits:	536 
Größe:	52,8 KB 
ID:	1293   Klicke auf die Grafik für eine größere Ansicht 

Name:	get_train2.jpg 
Hits:	547 
Größe:	51,6 KB 
ID:	1294   Klicke auf die Grafik für eine größere Ansicht 

Name:	buttonaufzug.jpg 
Hits:	572 
Größe:	53,9 KB 
ID:	1295   Klicke auf die Grafik für eine größere Ansicht 

Name:	door3.jpg 
Hits:	508 
Größe:	30,6 KB 
ID:	1296  

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

Name:	door2.jpg 
Hits:	529 
Größe:	37,4 KB 
ID:	1297   Klicke auf die Grafik für eine größere Ansicht 

Name:	tracktrain.jpg 
Hits:	544 
Größe:	62,7 KB 
ID:	1298   Klicke auf die Grafik für eine größere Ansicht 

Name:	compare.jpg 
Hits:	547 
Größe:	66,1 KB 
ID:	1299   Klicke auf die Grafik für eine größere Ansicht 

Name:	get_train0.jpg 
Hits:	556 
Größe:	53,0 KB 
ID:	1300   Klicke auf die Grafik für eine größere Ansicht 

Name:	but_stock1.jpg 
Hits:	535 
Größe:	51,3 KB 
ID:	1302  

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

Name:	but_erdgeschoss.jpg 
Hits:	538 
Größe:	54,9 KB 
ID:	1303   Klicke auf die Grafik für eine größere Ansicht 

Name:	path_compare.jpg 
Hits:	556 
Größe:	51,5 KB 
ID:	1304   Klicke auf die Grafik für eine größere Ansicht 

Name:	versetztdoor.jpg 
Hits:	538 
Größe:	36,6 KB 
ID:	1305   Klicke auf die Grafik für eine größere Ansicht 

Name:	but_stock3.jpg 
Hits:	523 
Größe:	52,5 KB 
ID:	1306   Klicke auf die Grafik für eine größere Ansicht 

Name:	but_open.jpg 
Hits:	515 
Größe:	31,3 KB 
ID:	1308  

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

Name:	door1.jpg 
Hits:	534 
Größe:	33,9 KB 
ID:	1309   Klicke auf die Grafik für eine größere Ansicht 

Name:	but_close.jpg 
Hits:	517 
Größe:	29,2 KB 
ID:	1310   Klicke auf die Grafik für eine größere Ansicht 

Name:	get_train3.jpg 
Hits:	546 
Größe:	51,8 KB 
ID:	1312   Klicke auf die Grafik für eine größere Ansicht 

Name:	get_train1.jpg 
Hits:	521 
Größe:	51,4 KB 
ID:	1313   Klicke auf die Grafik für eine größere Ansicht 

Name:	aufzugdoor1.jpg 
Hits:	554 
Größe:	67,2 KB 
ID:	1314  

    Angehängte Grafiken Angehängte Grafiken  
    Angehängte Dateien Angehängte Dateien
    Geändert von Dmx6 (22.02.2011 um 23:05:44 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]