[[http://www.siedler-games.de|{{:sg-link.jpg|}}]]
====Einen Job starten====
StartSimpleJob( _name )
Startet einen Job, der jede Sekunde aufgerufen wird. _name ist der Funktionsname.\\
Rückgabewert ist die Job-ID
\\
\\
\\
__Achtung:__
\\
\\
Wie beschrieben, wird die durch //StartSimpleJob// aufgerufene Funktion jede Sekunde ausgeführt. Zumeist wird ein SimpleJob gestartet, um ein bestimmtes Ereignis abzufragen und anschließend weitere Folgefunktionen auszulösen.
Ist das entsprechende Ereignis eingetreten, muss/soll der SimpleJob deshalb beendet werden. Dies wird in der Regel mit dem Befehl //return true// realisiert.
\\
\\
Beispiel:
StartSimpleJob("CheckIfEntityIsNear")
function CheckIfEntityIsNear()
if IsNear( "Entity_1", "Entity_2", 1000) then
Message("Hallo, auch schon da!?")
return true --hier wird nun der SimpleJob beendet
end
end
--oder mittels JobId:
_jobId1 = StartSimpleJob("CheckIfEntityIsNear")
_jobID2 = StartSimpleJob("CheckIfEntity_1IsDead")
function CheckIfEntityIsNear()
if IsNear( "Entity_1", "Entity_2", 1000) then
Message("Hallo, auch schon da!?")
EndJob( _jobId2 ) --hier wird nun der SimpleJob mit der ID _jobId2 beendet, er wird ja nicht mehr benötigt
return true --hier wird nun die Ausführung der Funktion CheckIfEntityIsNear beendet
end
end
function CheckIfEntity_1IsDead()
if IsDead("Entity_1") then
EndJob( _jobId1 ) --hier wird nun der SimpleJob mit der ID _jobId1 beendet, er wird ja nicht mehr benötigt
return true --hier wird nun die Ausführung der Funktion CheckIfEntity_1IsDead beendet
end
end
\\
\\
**//Tipp://** Es ist meist nicht verkehrt, wenn man sich an gewisse Konventionen bei der Vergabe für Variablen und Funktionsnamen hält. Eine mögliche Variante wäre bspw. Funktionen, die als Job verwendet werden, auch so zu bennen. Also **Job_FunktionsName()** und Variablen, die Job-Ids enthalten kann man mit **JobId_FunktionsName** bezeichnen. Das erhöht die Übersichtlichkeit und Lesbarkeit für Andere enorm. Welche Konventionen jeder für sich verwendet, ist natürlich ihm überlassen - das ist nur ein Beispiel!
Siehe auch
* [[EndJob]]
* [[JobIsRunning]]
* [[StartHiResJob]]
* [[StartJob]]
* [[StartSimpleHiResJob]]
* [[.trigger:disabletrigger|Trigger.DisableTrigger]]
* [[.trigger:disabletriggersystem|Trigger.DisableTriggerSystem]]
* [[.trigger:enabletrigger|Trigger.EnableTrigger]]
* [[.trigger:istriggerenabled|Trigger.IsTriggerEnabled]]
* [[.trigger:requesttrigger|Trigger.RequestTrigger]]
* [[.trigger:unrequesttrigger|Trigger.UnrequestTrigger]]
\\
[[functions-summary|Zurück]]