TRNG TriggerGroup= - Teil 1

  • Basiswissen - Trigger in Triggergroups setzen

    Triggergroup=


    Syntax: TriggerGroup= IdGroup, ExportValue1 + TGROUP_ flags, ExportValue2, ExportValue3 usw.


    In den Triggergroup Scriptbefehl kann man einen oder mehrere Trigger setzen.

    Diese kann man dann gemeinsam mit speziellen "TriggerGroup Flipeffekten" auszulösen, oder in andere Scriptbefehle setzen, allem voran in den berühmten GlobalTrigger.


    IdGroup


    Hier vergeben wir eine Nummer, damit wir die TriggerGroup später zuordnen können.

    Zahlen gehen hier in jedem Level laut Paolone bis zu 999.


    ExportValue1, ExportValue2, ExportValue3 usw.


    Hier gibt man den exportierten Wert eines Trigger aus dem Editor an. Die Werte erhält man direkt im Triggermenü des Editors.


    Bsp.

    $2000,96,$0000


    +TGROUP_FLAGS


    (Optional und für Fortgeschrittene)


    Mit TGROUP Flags kann man z.B. Trigger durch Verhältnisse wie "nicht, oder, sonst" usw. verbinden und damit unterschiedliche Ergebnisse erzielen.

    Auch gibt es hier zwei Flags, mit denen wir festlegen können, dass ein Trigger und alle nachfolgenden nur einmal ausgeführt werden. (Falls One Shot nicht funktioniert)

    Es gibt aber auch noch weitere Flags; z.B. ein Trigger wird bei allen Moveables eines bestimmten Slots ausgeführt usw.

    Die Flags werden im zweiten Teil noch mal ausführlicher mit Beispielen erklärt.


    Beispiele sind z.B.


    TGROUP_NOT

    TGROUP_OR

    TGROUP_ELSE


    TGROUP_SINGLE_SHOT

    TGROUP_SINGLE_SHOT_RESUMED


    usw.


    Wichtige Anmerkung:

    In eine TriggerGroup kann man nur Flipeffekte (Alte und Neue) und die neuen Action und Condition Trigger der TRNG Engine setzen.

    Um normale alte Trigger in eine TriggerGroup setzen zu können, muss man sehen, ob es dafür einen entsprechenden neuen TRNG Trigger gibt.


    Ein typisches Beispiel ist hier das Öffnen einer Tür. Den normalen "Trigger for Door_Type" kann man nicht exportieren.

    Als Alternative kann man hier z.B. den Action Trigger "Trigger. (Door) (E)Open/Close <#>door (A26)" oder den Action Trigger "Trigger. (Moveable) Activate <#>Object with (E)Timer value (A43)" nehmen.


    Wie man typische alte Trigger durch neue TRNG Trigger in eine TriggerGroup setzen kann, wird in einem gesonderten Tutorial erklärt werden.


    Hier mal ein erstes Beispiel einer TriggerGroup:


    Wir möchten Lara entwaffnen. Dafür gibt es unter anderem den Flipeffekt F96

    Lara. (Weapons) Disarm Lara in <&>way (F96)


    Öffnen wir bei einem Trigger den Trigger Editor finden wir bei Flipeffect, Action oder Condition Triggern unten rechts bei "Script:" den Triggerwert , den wir für die Triggergroup brauchen.


    Anmerkung:

    Bei allen anderen normalen Triggern steht dort "Script: not supported". (siehe Wichtige Anmerkung weiter oben)



    Rechts vom Script Wert können wir diesen direkt oder mit Kommentar in die Zwischenablage kopieren.


    Copy to clipboard


    Hier erhalten wir nur den reinen Wert:

    $2000,96,$0000


    Copy to clipboard with comments


    Hier erhalten wir den Wert mit Kommentar:

    Das ist praktisch wenn wir unter die TriggerGroup Kommentare setzen wollen, damit wir später noch wissen, welcher Scriptwert welcher Trigger ist.


    ; Trigger for FlipEffect

    ; <#> Lara. (Weapons) Disarm Lara in <&>way (F96)

    ; <&> Remove All. (Weapons + Ammos)

    ; Copy following values to your script:

    ; $2000,96,$0000


    Nun setzen wir diesen Wert einfach in eine TriggerGroup. Haben wir noch gar keine im Script, können wir eine mit dem Wert "1" erstellen.


    TriggerGroup= 1,


    HInter der "1" setzen wir jetzt einfach durch Komma getrennt den Scriptwert.


    TriggerGroup= 1,$2000,96,$0000


    Jetzt haben wir theoretisch schon die erste TriggerGroup mit der ID 1 erstellt, obwohl sich nur ein Trigger darin befindet.


    Möchten wir einen weiteren Trigger hinzufügen, können wir den nächsten 3-er Wert einfach durch ein Komma getrennt anhängen.


    z.B.


    Enferne alle BIGMEDI_ITEM aus dem Inventar


    Inventory-Item. Remove <&>inventory-item from inventory (F47)

    BIGMEDI_ITEM Slot=368


    ; Trigger for FlipEffect

    ; <#> Inventory-Item. Remove <&>inventory-item from inventory (F47)

    ; <&> BIGMEDI_ITEM Slot=368

    ; Copy following values to your script:

    ; $2000,47,$006D


    Diesen 3er Wert hängen wir jetzt einfach durch ein Komma getrennt an.


    TriggerGroup= 1,$2000,96,$0000, $2000,47,$006D


    Nun haben wir eine Triggergroup in der Lara alle Waffen und Ammo abgenommen wird und auch alle BIGMEDI Packs.


    In eine Triggergroup kann man 3 Hauptarten von Triggern setzen:


    1. eine TriggerGroup, die nur ausführbare Trigger enthält. (Flipeffect und Action Trigger)

    2. eine TriggerGroup, die nur Bedingungen enthält. (Condition Trigger)

    3. eine gemischte TriggerGroup, die sowohl ausführbare also auch welche mit Bedingungen enthält. (Flipeffect, Action und Condition Trigger)


    Setzt man z.B. in eine gemischte Triggergroup eine oder mehrere Bedingungen und dazu ausführbare Trigger, müssen die Bedingungen immer "wahr" sein, damit die anderen Trigger in der Gruppe ausgeführt werden. Ändern kann man dies mit den schon oben kurz erwähnten TGROUP Flags.


    Eine TriggerGroup mit den dafür vorgesehenen Flipeffekt Triggern ausführen


    Um eine Triggergruppe direkt mit einem Trigger ausführen zu können, haben wir folgende neue Flipeffekte:


    118: TriggerGroup. Perform <&>TriggerGroup from script.dat in (E)way



    Hier können wir eine bestimmte TriggerGroup auslösen und bei Extra bestimmen, ob sie


    ständig ausgeführt wird und erst durch den Flipeffekt 192 gestoppt wird

    mehrmals ausgeführt wird, wenn sie unter anderem Bedingungen enthält.

    einmal ausgeführt wird, wenn sie nur ausführbare Trigger enthält.


    192: TriggerGroup. Stop <&>TriggerGroup (it had been enabled in continue mode)



    Hier kann man eine Triggergroup stoppen, die ständig ausgeführt wird.


    345: TriggerGroup. Enable newly the one-shot <&>TriggerGroup already performed



    Hier kann eine TriggerGroup reaktivieren, die bereits ausgeführt wurde und nur einmal Gültigkeit hatte.

    Wenn z.B. eine Bedingung erfüllt wurde, wird diese Bedingung wieder neu geprüft.


    371: TriggerGroup. Perform <&>TriggerGroup from script.dat (Single execution to use when in TriggerGroup there are only commands)



    Im Prinzip wie F 118, nur dass es hier kein Auswahlmenü gibt, wo man die drei unterschiedlichen Arten bestimmten kann.

    Hier gilt die einmalige Ausführung.


    372: TriggerGroup. Perform <&>TriggerGroup from script.dat (Mutiple performing to use when in TriggerGroup there is some condition)



    Im Prinzip wie F 118, nur dass es hier kein Auswahlmenü gibt, wo man die drei unterschiedlichen Arten bestimmten kann.

    Hier gilt die mehrmalige Ausführung, wenn in der TriggerGroup Bedingungen sind.


    373: TriggerGroup. Perform <&>TriggerGroup from script.dat (continue performing to stop with f192 trigger)



    Im Prinzip wie F 118, nur dass es hier kein Auswahlmenü gibt, wo man die drei unterschiedlichen Arten bestimmten kann.

    Hier gilt die ständige Ausführung. Die TriggerGroup kann durch den F192 gestoppt werden.


    Wie schon oben erwähnt, werden TriggerGroups auch in GlobalTrigger gesetzt, oder einige andere Scriptbefehle bzw. Trigger verlangen eine TriggerGroup.

    Im zweiten Teil werden einige Beispiele und die TGROUP Flags erklärt. Ausserdem wird gezeigt, wie man TriggerGroups, die sehr viele Trigger enthalten, übersichtlich schreiben kann, so dass man den Überblick behält.

Share