Entrypoint- new_game

In diesem Tutorial befassen wir uns mit der Funktion
new_game
und dessen Eigenschaften.

Definition
Die new_game Funktion ist der Haupteinstiegspunkt jenes Scripts. Neben register_functions ist dies die einzige Methode, welche vom Spiel aufgerufen werden. (Hier wird der globale Bereich mal abgesehen, da der immer ausgeführt wird)

Beispiel: Was wird ausgeführt?


function new_game()
dbg.stm("Ja, new_game wird vom Spiel aufgerufen")
end
function register_functions()
dbg.stm("Ja, register_functions wird vom Spiel aufgerufen")
end

function eineAndereFunktion()
dbg.stm("Nein, andere Funktionen werden vom Spiel nicht aufgerufen")
end

function noch_eine_andere_funktion()
dbg.stm("Nein, andere Funktionen werden vom Spiel nicht aufgerufen")
end

dbg.stm("Ja, der globale Bereich wird vom Spiel aufgerufen!") -- nicht schön!!!


Beim Spielstart sieht die Konsole möglicherweise so aus

Nach dem Laden des Spielstandes:


Funktionskriterien
In Lua ist es relativ egal, wie man eine Funktion nennt, das Hauptkriterium ist, dass der Name nicht mit einer Zahl anfängt und keine ä,ö,ü,ß vorkommen.
function 2Fähler() 
-- Das ganze Skript wird nicht Funktionieren und Siedler IV gibt keine Fehlermeldung aus!
end


Aber bei Einstiegspunkten muss der Name übereinstimmen, da das Spiel die Funktion new_game() aufruft.


Fazit

Wie ihr seht ist der globale Bereich nicht sehr gut zum Skripte schreiben, weshalb das Modularisieren mit Funktionen immer besser ist.