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 nur diese Funktionen aufruft.


Fazit

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