Benutzer-Werkzeuge

Webseiten-Werkzeuge


scripting

Dies ist eine alte Version des Dokuments!


Die Siedler - das Erbe der Könige Mapping Wiki

Herzlich Willkommen im Mapping Wiki für Die Siedler - das Erbe der Könige. Dieses Wiki hat zwei Dinge zum Ziel:

Zum einen sollen Einsteiger leicht nachvollziehbare Tutorials zur Verfügung haben, die ihnen ermöglicht, eine funktionsfähige Karte für Siedler 5 zu erstellen. Die Tutorials beinhalten dabei primär technische Aspekte wie die Bedienung des Editors oder der Verwendung der Skriptschnittstelle. Darüber hinaus gibt es aber auch Wissen zu Themen, die nicht technischer Natur sind. Dazu gehören die Planung und das Testen einer Map sowie häufige Fallstricke, die es zu vermeiden gilt.

Zum anderen soll dieses Wiki zur Dokumentierung der Skriptschnittstelle im Spiel dienen und sich dementsprechend auch an erfahrene Mapper richten. Dabei werden nicht nur diejenigen Funktionen betrachtet, die „ab Werk“ enthalten sind, sondern auch das große Angebot an Werkzeugen, die von der Community entwickelt wurden.

Die Struktur ist dabei wie folgt: FIXME Struktur dann so beschreiben, wie sie zum Schluss raus kommt. Inhaltsverzeichnis wird automatisch generiert. :)


Einsteigertutorials

Hier sind die einzelnen Ebenen des Einsteigertutorials aufgelistet. Dabei bezeichnen die einzelnen Ebenen sich steigernde Komplexitätsgrade und bauen aufeinander auf. Für Einsteiger ist es daher sinnvoll, die Reihenfolge einzuhalten.

Die Ebenen sind dabei so konzipiert, dass nach jeder Ebene eine funktionsfähige Karte entstehen kann. Fortgeschrittene Mapper können auch in einer späteren Ebene einsteigen bzw. Themen wählen, die sie interessant finden.

FIXME Die Übersicht ist wahrscheinlich besser in einer eigenen Datei aufgehoben

Ebene 0: Vor dem Editor

  • Aufsetzen von Visual Studio Code
  • Planung einer Karte
  • Community-Tools (bbaTool, S5Updater, Debugger, etc)

Ebene 1: Eine einfache (Kampf-) Karte

  • Grundlagen Mapeditor
    • Interface
    • Höhen modifizieren
    • Texturen setzen
    • Objekte platzieren
    • Wasser
  • Grundlagen Lua-Programmierung
    • Variablen
    • Funktionen und Blöcke
    • Tables
    • Schleifen
    • Verzweigungen
    • Gut lesbare Skripte
  • Fehlermeldungen aktivieren
  • Die Spielvoraussetzungen definieren
    • Diplomatie
    • Ressourcen
    • Technologien
    • Wetter
    • Multiplayer: Unterschiede zum Singleplayer (und EMS)
  • Einen Computergegner platzieren
  • Ein Briefing abspielen
  • Eine Siegbedingung formulieren
  • Die Karte testen
    • Fehler finden und beheben
    • Häufige Fehler
    • Balancing

Ebene 2: Karte mit Quests

  • Fortgeschrittene Funktionen des Mapeditors
    • Kopiervorlagen
    • Höhen- und Texturmaps
    • Vertexfarben
    • Multiplayer: Spezielle Anforderungen ans Mapdesign
    • FIXME Hier das Gruppentool oder schon in Ebene 1?
  • Fortgeschrittene Lua-Programmierung
    • Schleifen Vol. 2
    • table-Funktionen
    • Comfortfunktionen
  • Quests aufsetzen
    • Npcs
    • Orte erreichen, Gebäude bauen, Gegner besiegen
    • Tribute
    • Belohnungen
    • Das Auftragsmenü
    • Schatztruhen
    • Effektive Kommunikation mit dem Spieler
  • Maptest revised
    • Effektives Debugging
    • Häufige Fehler

Ebene 3: Individuelle Kartenabläufe

  • Der Rest zur Lua-Programmierung
    • Funktionen als (lokale) Variablen
    • Call by reference vs Call by value
  • Armeesteuerung
  • Trigger
  • KI-Steuerung
    • Eigenständiger Aufbau
    • Eigenständige Entwicklung

Ebene 4: Das gewisse Etwas

  • Cutscenes
  • Gfx-Sets
  • Quest-Icons
  • Grafikeffekte
  • Sound
  • Dynamischer Nebel

Skriptreferenz

  • Funktionsreferenz
    • Comfort Layer
    • table, math, string
    • Logic
    • GUI
    • Übersicht Technologien, Formationen, Textur- und Wassertypen
  • Übersicht KI-Gegner
  • Übersicht Briefings
  • Übersicht Trigger

Die CommunityLib


Modding und alles übers Skripten hinaus

FIXME Alles hierunter hab ich aus dem Original mal drin gelassen

Wichtig
Aufsetzen der Umgebung und Debugtools

Enhanced Multiplayer Script

scripting.1680612048.txt.gz · Zuletzt geändert: 2023/04/04 12:40 von fritz_98