Skip to end of metadata
Go to start of metadata

[skip|else] if [not]|while [not]| = Die möglichen bedingten Anweisungen, die mit diesem Befehl genutzt werden können. 
<RetVar/IF> = Nutze eine Variable, wenn der Befehl eine Information zurückgeben soll. Wenn eine Variable genutzt wird, wird sie 1 im Erfolgs- und 0 im Fehlerfall enthalten. 
<Var/Number> = Die Scriptpriorität, auf die gesprüft werden soll. 

Findet heraus, ob ein Script mit gegebener Priorität sich auf dem "call stack" befindet. 

Der call stack ist die Liste von Scripten, die mit einer gegebenen Priorität von einem Prozess genutzt werden. 
Jedes Mal wenn ein Script ein anderes aufruft, wird dieses zum call stack hinzugefügt. Scripte werden auch während einer Unterbrechung (interrupt) oder eines Signals dem stack hinzugefügt. 

Dieser Befehl läuft immer auf dem aktuellen Task – er kann nicht genutzt werden, um herauszufinden, ob ein Script mit einer gegebenen Priorität unter einer anderen task ID läuft. Verschiedene Scriptprioritäten werden für verschiedene Funktionen verwendet. Insbesondere arbeiten die unterschiedlichen Signale mit unterschiedlichen Prioritäten. Dieser Befehl wird oft verwendet, um herauszufinden, ob ein bestimmtes Signal von einem Schiff empfangen wurde. 
Indem man überprüft, ob ein Script (z.B.) mit Priorität 99 auf dem stack ist, kann ein Script herausfinden, ob das Schiff, auf dem es läuft, angegriffen wurde und dabei war zurückzuschlagen. 


Tabelle der Scriptprioritäten: 

PrioritätVerwendung
0
    Standardmäßig alle Scripts
50
    Fluchtantwort auf SIGNAL_ATTACKED 
99
    Angriffsantwort auf SIGNAL_ATTACKED
100
    SIGNAL_ATTACKED
150
    SIGNAL_LEADERNEEDSHELP 
???
    SIGNAL_FOLLOWERNEEDSHELP
200
    SIGNAL_FORMATIONLEADERCHANGED

300

    SIGNAL_CAPTURED
10.000
    SIGNAL_KILLED

 


  • No labels