Organizer=

  • Ereignisse in Zeitfolgen auslösen

    Organizer


    Syntax: Organizer=IdOrganizer, Flags Organizer (FO_..), Parameter, FirstTime, PerformFirstIdTriggerGroup, SecondTime, PerformSecondIdTriggerGroup, {Time and TriggerGroup Array }


    Bereich im Script: [Level]


    Mit dem Organizer kann man Auslöser in zeitlicher Abfolge nacheinander auslösen. Der Scriptbefehl oben sieht komplizierter aus als er ist. Theoretisch kann man sogar einen Organizer dazu verwenden, nur ein Ereigniss zeitgesteuert auszulösen, wenn andere Methoden nicht funktionieren.


    Das Besondere ist, dass man nicht die Trigger selber in den Befehl setzt, sondern diese in Triggergroups setzt, die man dann zeitgesteuert auslösen kann.


    Gehen wir die Parameter einzeln durch;


    IdOrganizer


    Hier vergeben wir eine Nummer, damit wir den Organzier später mit einem Flipeffekt im Editor starten oder stoppen können.

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


    (FO_..)


    Hier kann man folgende Parameter zuweisen:


    FO_DEMO_ORGANIZER

    Wird dafür verwendet, Triggergroups bei einer Demo auszlösen. Nähere Beschreibung dazu findet man bei Reference > _Mnemonic constants.


    FO_ENABLED

    Organzier löst man im Editor durch Flipeffekte aus. Möchte man, dass der Organzier schon beim Starten des Levels ausgelöst wird, nimmt man diesen Parameter.


    FO_LOOP

    Hier wiederholen sich die zeitlichen Abfolgen endlos. Wurde die letzte zeitliche Triggergroup ausgelöst, fängt der Organizer wieder mit der ersten Triggergroup im Befehl an. Kann durch einen entsprechenden Flipeffekt gestoppt werden.


    FO_TICK_TIME

    Zeitliche Abfolgen gibt man in Sekunden an, möchte man noch genauer zeitlich definieren, kann man diesen Parameter setzen und Sekunden als " Frame Ticks" setzen.

    Dabei gilt folgende Formel:


    Frame Tick = X Sekunde(n) * 30


    1/2 Sekunde = 15

    20 Sekunden = 300

    usw,


    Parameter

    Wird nicht benutzt,

    Hier bitte ein IGNORE setzen


    FirstTime

    HIer setzt man die Zeit in Sekunden bevor eine Triggergruop ausgelöst werden soll.


    PerformFirstIdTriggerGroup

    Hier setzt man die ID der ersten Triggergroup, die ausgelöst werden soll.


    Bsp.

    TriggerGroup= 1, $5000,0,$002B


    Second Time

    Hier setzt man die Zeit in Sekunden, bevor die 2 Triggergroup ausgelöst werden soll.


    PerformSecondIdTriggerGroup

    Hier setzt man die ID der zweiten Triggergroup, die ausgelöst werden soll.

    Bsp.

    TriggerGroup= 3, $5000,1,$070E


    Die Liste kann man so fortsetzen, also immer Zeit in Sekunden und ID der Triggergroup. Dabei muss diese übrigens nicht chronologisch sein.


    Man kann also Triggergroup 3 auslösen, dann Triggergroup 1, dann Triggergroup 12, dann Triggergroup 5 usw. Es empfiehlt sich aber aufgrund der Übersichtlichkeit eine chronologische Reihenfolge einzuhalten.


    Zum Schluss noch ein praktisches Beispiel als Verdeutlichung:


    Organizer= 1, IGNORE, IGNORE, 5,1,10,2,30,3


    TriggerGroup= 1, $2000,129,$000A; Sound. (CD) Play <&>CD track in (E) way on channel2 (F129)

    TriggerGroup= 2, $5000,2,$002B; Trigger. (Moveable) Activate <#>Object with (E)Timer value (A43)

    TriggerGroup= 3, $5000,2,$011A ; Trigger. (Door) (E)Open/Close <#>door (A26)


    Hier wird nach 5 Sekunden die Triggergroup mit der ID 1 ausgelöst, dann nach 10 Sekunden die Triggergroup mit der ID 2, dann nach 30 Sekunden die Triggergroup mit der ID 3.

    Nach 5 Sekunden wird ein Sound auf Kanal 2 abgespielt, nach 10 Sekunden wird ein Objekt ausgelöst, nach 30 Sekunden geht eine Tür auf oder zu.


    Anmerkung:

    Mit folgenden Flipeffekt Triggern kann man Organizer im Editor auslösen, stoppen oder wiederaufnehmen.

    Code
    127: Organizer. Enable <&>Organizer
    128: Organizer. Stop <&>Organizer
    290: Organizer. Resume <&>Organizer in (E)way
    376: Organizer. Resume <&>Organizer from first command (reset)
    377: Organizer. Resume <&>Organizer from next command (immediatly)
    378: Organizer. Resume <&>Organizer from next command in the given time set in next command

Share