Wir unterscheiden allgemeine Funktionen, Callbackfunktionen, Zustaende und Schleifenfunktionen, Bedingungsfunktionen, Tagesablaeufe und externe Funktionen.
Allgemeine Funktionen sind nicht reglementiert. Sie dürfen eine beliebige Anzahl Parameter und entweder einen oder keinen Rückgabewert haben.
Die meisten Funktionen sind keine allgemeinen Funktionen. Dennoch sind diese Funktionen sehr nützlich, weil sich mir ihrer Hilfe wiederkehrende Aufgaben flexibel bewältigen, erledigen lassen.
Callback ist englisch für zurückrufen. Was wird zurückgerufen? Die Ausführung bzw. die Abarbeitung einer Funktion wird wiederaufgerufen. Damit die Engine einen solchen Rückruf tätigen kann, darf eine Callbackfunktion keine Parameter annehmen, sonst schleichen sich in der Spielmechanik Fehler ein und es könnte zum Absturz des Spiels kommen.
Eine Callbackfunktion hat keinen Rückgabewert und keine Parameter!
func void Name_der_Callbackfunktion () { //Funktionskörper };
Sie finden in der Klasse C_INFO extensiv Verwendung mit der Eigenschaft condition.
Eine Bedingungsfunktion (engl. condition function) wird wie eine Callbackfunktion von der Engine aufgerufen und erwartet deshalb keine Parameter.
Die Engine erwartet eine Antwort als Zahl auf die Frage sind Bedingungen erfüllt oder nicht.
Dies wird durch die ganze Zahl 0 (nicht erfüllt) im Allgemeinen ausgedrückt durch die Konstante
const int false = 0;
oder eine ganze Zahl ungleich null !0 (erfüllt) ausgedrückt durch die Konstante
const int true = 1;
func int Name_der_Bedingungsfunktion () { //Funktionskörper return false; // oder return true };
Es sind alle Funktionen, die nicht in den Skripten definiert wurden, aber dennoch sozusagen extern oder vorab definiert wurden. Ihre Namen wurden bereits vergeben und können nicht verwendet werden.
In den Skripten lassen sie sich gut an ihren typischen Vorsilben Präfixen erkennen.
Naturgemäß können sie nicht in Skripten definiert werden.