Dies ist eine alte Version des Dokuments!
Das Basisskript
Um für dieses Tutorial einen einheitlichen Ausgangspunkt zu haben, reduzieren wir zuerst das Standardskript auf das minimal Notwendige. Alle Veränderungen am Skript nehmen wir mit Visual Studio Code vor. Im Mapeditor ist zwar ein Texteditor enthalten, der eignet sich aber nur für das Sichten des Skripts, nicht zum Bearbeiten.
Dazu wird im ersten Schritt das automatisch generierte Skript aus dem Editor exportiert (Datei → Skript bearbeiten, dann Skript → Exportiere Skript…).
Im exportierten Skript können nun abhängig davon, was du im Skriptassistent ausgewählt hast, einige Funktionen schon mit Inhalt befüllt werden. Diesen werden wir dennoch zunächst rausnehmen und dann Schritt für Schritt wieder aufbauen. Konkret bedeutet das, dass folgende Funktionen leer sein müssen:
InitDiplomacy InitResources InitTechnologies InitWeatherGfxSets InitWeather InitPlayerColorMapping FirstMapAction
Auch die „Quest Information“ ganz unten im Skript nehmen wir raus.
Warum tun wir das? Einige dieser automatischen Funktionen werden schlicht nicht benötigt oder können einfacher ausgedrückt werden. Andere, wie zum Beispiel die Quest Information ist nur sehr eingeschränkt benutzbar, da man mit ihr nur eine einzige Quest anzeigen kann. Zu guter Letzt kann beispielsweise die automatische Niederlagebedingung sogar für Fehler sorgen, da sie den von uns im Editor gesetzten Namen für die Burg des Spielers überschreibt.
Dabei ist es sehr einfach, alle diese Funktionalitäten selbst zu definieren, weshalb wir das in den nächsten Kapiteln auch tun werden. Nachdem du das komplette Skript „aufgeräumt“ hast, sollte es so aussehen:
-------------------------------------------------------------------------------- -- MapName: XXX -- -- Author: XXX -- -------------------------------------------------------------------------------- -- Include main function Script.Load( Folders.MapTools.."Main.lua" ) IncludeGlobals("MapEditorTools") --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- This function is called from main script to initialize the diplomacy states function InitDiplomacy() end --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- This function is called from main script to init all resources for player(s) function InitResources() end --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- This function is called to setup Technology states on mission start function InitTechnologies() end --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- This function is called on game start and after save game is loaded, setup your weather gfx -- sets here function InitWeatherGfxSets() end --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- This function is called on game start you should setup your weather periods here function InitWeather() end --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- This function is called on game start and after save game to initialize player colors function InitPlayerColorMapping() end --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- This function is called on game start after all initialization is done function FirstMapAction() end
Du kannst oben dann den Namen deiner Karte und deinen eigenen eintragen.
Die beiden Zeilen
Script.Load( Folders.MapTools.."Main.lua" ) IncludeGlobals("MapEditorTools")
werden in jedem Skript benötigt und müssen deshalb immer erhalten bleiben!
Fertiges Skript dann hier hochladen!
Im nächsten Kapitel definieren wir die diplomatische Ausgangslage auf der Karte.