Benutzer-Werkzeuge

Webseiten-Werkzeuge


s5lua_g:g_funktionen:startsimplejob

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


Zurück

s5lua_g/g_funktionen/startsimplejob.txt · Zuletzt geändert: 2021/09/18 19:16 (Externe Bearbeitung)