Benutzer-Werkzeuge

Webseiten-Werkzeuge


tutorials:schnelles_testen

Originalbeitrag Wikiarchiv

Schnelles Testen

Prozedur ohne schnelles Testen

Änderungen im Script zu testen erfordern normalerweise viel Zeit.

  1. Änderung im Script durchführen
  2. Karte per Editor speichern
  3. Spiel starten
  4. Karte laden
  5. Auswirkung der Änderung ansehen
  6. Spiel beenden
  7. Script weiter im Editor ändern…

Dies kostet Zeit… zu viel Zeit.

So gehts !

Es geht aber auch sehr viel schneller. Das Spiel erkennt an einem Aufruf im Script, von wo es seine Scriptdaten beziehen muss.

Zunächst wird das Script aus dem internen Scripteditor exportiert, beispielsweise als „C:\Scripte\NeueKarte.lua“. Danach wird das gesamte Script aus dem Scriptfenster gelöscht. Schnelle Methode: STRG + A, ENTF. In das leere Fenster wird nun genau eine Zeile eingefügt:

Script.Load( "C:\\Scripte\\NeuKarte.lua" )
Wichtig sind hier die doppelten Backslash!! und die Dateiendung

Dadurch lädt die Karte bei jedem Start das Mapscript aus der angegebenen Datei. Nun den Scripteditor übers Menü mit „Beenden“ verlassen, damit das veränderte Script gespeichert wird. Dann noch die Karte per Mapeditor speichern.

Nun kann das Spiel gestartet und die Karte geladen werden.

Das gespeicherte Script wird mit einem externen Editor (B:Lua,NotePad++, SciTE, UltraEdit, etc) geöffnet und kann beliebig editiert werden. Vorm Zurückspringen ins Spiel nicht vergessen im externen Editor abzuspeichern.

Damit das veränderte Script aktiv wird nun im Spiel auf F1 → Karte neu starten. Da die Karte bereits geöffnet war wird sie innerhalb von Sekunden neu geladen. Auf diese Weise werden nur wenige Sekunden benötigt um eine Änderung im Script zu testen. Bevor die fertige Karte anderen Spielern zur Verfügung gestellt wird, muss das Script aus der externen Datei natürlich wieder in die Karte importiert werden.

Am Ende möchte ich Euch noch raten, regelmässige Sicherungskopien des Scriptes anzulegen. Dabei kann man an den Scriptnamen einfach eine fortlaufende Nummer anhängen. So sieht man immer, welches die letzte funktionierende Variante war.
Sollte doch mal etwas in die Hose gehen und nix geht mehr, schaut mal im Abschnitt „Aber eben funktionierte es doch noch“ in diesem Thread nach…

Alternative Bezeichnungen

Man kann übrigens auch Relativpfade angeben. So könnt ihr das Script einfach auch im Mapeditor ablegen.
So gehts:

Script.Load( "maps\\user\\meinScript.lua" )

Der Laufwerksbuchstabe fehlt dabei. Der Relativpfad beginnt beim Pfad extra1\shr bzw extra2\shr für Legenden.

Probleme

Das Binäre NUL

Um auf der sicheren Seite zu sein sollte man das Script aus dem Mapeditor mit STRG+A, STRG+C und STRG+V exportieren und nicht über das Menü.
Wenn man über das Menü exportiert wird das Sonderzeichen NUL mit exportiert wodurch es zu Fehlern im Script kommt.

Zurück

tutorials/schnelles_testen.txt · Zuletzt geändert: 2021/09/18 19:16 (Externe Bearbeitung)