Logo AeK Script-Wiki Logo AeK Script-Wiki Logo AeK Script-Wiki

Vorwort

Bevor wir uns nun aktiv mit Lua selber beschäftigen, ist erstmal ein grundlegendes Verständnis und Wissen über den generellen Aufbau des Spiels erforderlich.

Das Spiel besteht (programmtechnisch gesehen) aus zwei Hauptbestandteilen. Das ist zum einen die eigentliche „Game-Engine“ (sozusagen der „Motor“ des Spiels, der alles antreibt), und zum anderen der Lua-Skriptteil.

Die Game-Engine ist in C++ programmiert und „unveränderbar“ - von daher soll uns diese nicht weiter interessieren.

Für uns von Interesse ist also ausschließlich der andere Teil - der Lua-Skriptteil. Diesen kann man sich in etwa wie eine „Benutzerschnittstelle“ vorstellen, mittels derer man auf Funktionen der Game-Engine zugreifen, bzw. diese steuern kann. Steuern bspw. durch die Festlegung bestimmter Variablen(werte). Das funktioniert natürlich nur da, wo BB diese Möglichkeiten vorgesehen hat, bzw. zulässt. Denn es gibt auch Dinge, die quasi „fest“ in anderen Spieldateien vorgegeben sind und somit auch nicht per Skript änderbar sind. Dazu gehören z.B. sämtliche Limits (Siedler- + Soldatenlimit, Lagerhauskapazität, etc.).

Zu Beginn einer jeden Map werden „automatisch“ dutzende Lua-Skriptdateien vom Spiel geladen und bereits etliche Funktionen daraus ausgeführt. Darunter befinden sich u.a. auch die globale und lokale Map-Skriptdatei (also die beiden Dateien, die man als Skripter für seine Map bearbeitet hat), sowie die Datei „QuestSystemBehavior.lua“.

In der globalen Skriptdatei wird zu Beginn die Funktion Mission_FirstMapAction() aufgerufen und im lokalen Skript analog die Funktion Mission_LocalOnMapStart().

Das bedeutet also, dass alles, was in diesen beiden Funktionen steht, direkt beim Start einer Map, ausgeführt wird. Dies ist also quasi der Beginn unseres „Erzählungsfadens“, der nie während des gesamten Spiels „abreißen“ darf! Das heißt mit anderen Worten, es muss immer mind. eine Funktion „aktiv“ sein, die dann ggf. bei Bedarf eine weitere Funktion aufruft, damit die Geschichte, die man erzählen will, nicht mittendrin endet.

Anmeldung/ Registrierung

Passwort vergessen? Kein Problem: Sende neues Passwort

· Zuletzt geändert: 18/06/2008 18:53 von netsurfer (1407 views)