Gegner soll Tür öffnen wenn er stirbt

  • Heho, wie der Titel schon verrät, komme ich nicht ganz weiter.

    Mein Plan ist, Lara soll 2 Gegner oder mehr töten und daraufhin soll sich eine Tür öffnen.

    Ich habe herausgefunden das man dazu den GT verwenden soll.

    Ich meine ich müsste auch eine Triggergroupsyntax mit hineinschreiben bin nur etwas überfragt,

    zumal ich nicht ganz weiß ob ich im Level selbst einen Trigger vergeben soll oder alles nur im Script einzutragen ist?!


    Könnt ihr mir helfen? :(

  • Theoretisch funktioniert hier ein Global Trigger "GT_Condition_Group Trigger", der einen Condition Trigger hat, der sagt, wenn Gegner 1, 2, 3 usw. tot ist, dann soll die Tür aufgehen.


    Leider gibt es hier ein kleines Problem. Speichert der Spieler zwischendurch ab, bevor alle Gegner tot sind und lädt ein zuvor gespeichertes Savegame, um dann die restlichen Gegner zu töten, kann es passieren, dass der Trigger zum Öffnen der Tür am Schluss nicht mehr ausgelöst wird.


    Deswegen eigenen sich hier Variablen. Man setzt in eine Variabel jeweils den Wert 1, immer wenn ein Gegner getötet wurde. Sollen z.B. 4 Gegner getötet werden, wird jedesmal die Variabel um 1 erhöht. Wenn dann die Variabel den Wert 4 hat (4 Gegner getötet), soll die Tür geöffnet werden. Der Vorteil ist, selbst wenn der Spieler abspeichert, nachdem er z.b. erst 2 Gegner getötet hat, bleibt der Wert in der Variabel also z.B. "2" und wird nach dem Laden des Savegames weiter erhöht, wenn der Spieler weitere Gegner tötet.


    Das ganze kann man ebenfalls mit einem Global Trigger "GT_Condition_Group", oder einem "GT_Enemy_Killed" Trigger umsetzen.

  • Hey danke für die Antwort,


    ich habe hier mal Beispiel, wie ichs im Script reingeschrieben habe, nur weiß ich jetzt nicht sorecht wo ich GT_Enemy_Killed einsetzen muss, so das ich sagen kann Lara muss eine bestimmte Anzahl an Gegnern töten damit das Ereignis stattfindet...


    GlobalTrigger= 1, FGT_SINGLE_SHOT, GT_CONDITION_GROUP, IGNORE, 1, 2, IGNORE

    TriggerGroup= 1,$5000,331,$050E; Bedingung

    TriggerGroup= 2,$5000,193,$011A; Ereignis


    Wo ich mir auch nicht sicher bin sind die Variablen, in der Triggergroup die bekomm ich doch im TombEditor her wenn ich zB. beim Gegner ein ActionNG auswähle oder?


    Bin etwas confused da ich mit GT und TG noch nie gearbeitet habe... :/


    Edit: was mir noch gerade einfiel, ich wollte das Lara in einem bestimmten Raum die Gegner tötet und darauf hin sich die Tür öffnet, spielt das eine Rolle?

    Oder geben die Variablen an in was für einen Raum usw. sich alles befindet?

  • Variabeln sind Platzhalter, in die man Werte setzen kann. Das hat nichts mit dem Exportieren eines Triggers in eine Triggergroup zu tun.


    Ich gebe dir mal mein Beispiel, welches ich in meinem Madhouse Level verwendet habe, als der Spieler 4 Mutanten töten musste, damit etwas passiert.


    Hier in dem Beispiel habe ich 4 Gegner mit den ID 20-23. Diese habe ich 4 Global Trigger mit "GT_Enemy_Killed" gesetzt.

    Jedesmal wenn man einen Gegner tötet wird Triggergroup1 ausgelöst. Sprich der Wert der Variabel Local Byte Alfa1 erhöht sich um 1. Dann habe ich noch einen weiteren Global Trigger (Nummer 5) weiter unten, mit der Triggergroup 2 und TriggerGroup 3, sprich wenn die Variabel "Local Byte Alfa1" den Wert 4 hat, soll eine Tür geöfnet werden.

  • Funktioniert wunderbar,hab vielen dank, man muss erstmal wissen das man dafür Alfa 1 usw. nehmen muss, muss ich wohl noch einige Tutorials von dir lesen :)

    Aber sag mal gibt es denn auch die Möglichkeit eine Fixed Camera ebenfalls auszulösen, wenn die beiden Gegner sterben so das man sieht, hey die Tür oder Falltür ist offen?

  • Funktioniert wunderbar,hab vielen dank, man muss erstmal wissen das man dafür Alfa 1 usw. nehmen muss, muss ich wohl noch einige Tutorials von dir lesen :)

    Aber sag mal gibt es denn auch die Möglichkeit eine Fixed Camera ebenfalls auszulösen, wenn die beiden Gegner sterben so das man sieht, hey die Tür oder Falltür ist offen?

    Tutorials über Variabeln von mir gibt es noch nicht, das ist auch ein sehr komplexes Thema, weil man da tief in die Engine eingreifen kann auch in die berühmten Memory Zones. Bin gerade dabei den ersten Teil über Variabeln zu schreiben, wo ich Basis Sachen erkläre und erste einfache Sachen, die man mit Variabeln realisieren kann.


    Um Camera und Camera Targets in Triggergruppen exportieren zu können, brauchst du die neuen Action Trigger dafür:

    41 Trigger. (Camera) Activate <#>Camera or fixed camera with (E)Timer value

    42 Trigger. (Target) Set <#>Moveable as Target for camera or fixed camera



    Diese dann in die Triggergroup exportieren, wo auch schon der Auslöser für die Tür ist, in meinem Beispiel in Triggergroup 3


  • Mhh komme gerade nicht ganz weiter, sobald Lara die beiden Gegner tötet schaut die Camera dauerhaft auf Lara statt auf das Target :/

  • Der Trigger für das Camera Target muss in der Triggergruppe vor die Camera gesetzt werden, in deinem Fall also


  • Antwort habe ich schon bekommen von trf.


    Man kann einen "Remove Weapons from Lara Hands " Flipeffect davor setzen, dann steckt sie zunächst ihre Waffen wieder in die Holster und dann wird die Camera auch ausgelöst.


    Und der TG_GROUP Flag "+TGROUP_SINGLE_SHOT", den man in die Triggergroup setzt, müsste eigentlich dafür sorgen, dass die Camera nur einmal ausgelöst wird.


    Code
    ; Trigger for FlipEffect
    ; <#> Lara. (Weapons) Remove weapons or flare from lara's hands (F83)
    ; <&> 
    ; Copy following values to your script:
    ; $2000,83,$0000

    Du kannst das ganze der Ordentlichkeit auch in einen Organizer setzen. Dass nach dem Töten der Gegner ein Organizer ausgelöst wird, der in einer bestimmten Reihenfolge die anderen Trigger auslöst, also


    - Remove weapons from Lara's hands

    - Trigger camera target und camera

    - Open door

  • So ich habe es hinbekommen, allerdings ohne den Organizer, zumindest wusste ich jetzt nicht so recht wie ^^

    aber es geht endlich, UND das war tatsächlich das Sahnehäubchen auf der Torte, Lvl 1 ist daher fertig :P


    hab auch nochmal zwischen geladen funktioniert alles wunderbar^^


Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!