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 Operatoren 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 dritten 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 im zweiten Teil erklärt.
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: )
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. Es gilt also der Wenn... und Faktor.
Wenn Bedingung 1 und Bedingung 2 und Bedingung 3 etc. wahr ist, dann werden die folgenden ausführbaren Trigger angewendet.
Wenn man andere Operatoren wie "Wenn...oder etc." verwenden möchte 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.
Anmerkung:
Bei diesem Flipeffect kann man nur bis zu 255 unterschiedliche TriggerGruppen anlegen. Deswegen wurden später die 3 anderen (F371 - F373) aufgenommen, bei denen man mehr als 255 verschiedene TriggerGruppen anlegen kann.
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 wird beschrieben, welche Alternativen es für Standard Trigger gibt, die man nicht so einfach exportieren kann. Ausserdem wird erklärt, wie man TriggerGroups übersichtlicher Gestalten kann.