Mod mit GameScript erstellen

Willkommen in der Transport Fever Community

Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.

 

Die Registrierung und Nutzung ist selbstverständlich kostenlos.

 

Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.

Das Team der Transport-Fever Community


Sie betrachten gerade eine ältere Version des Eintrags. Klicken Sie hier, um zur aktuellen Version zu gelangen.

  • Kurze Beschreibung, wie man einen Mod mit Game Script erstellen kann.
    Um eine Mod zu erstellen, die auf Ingame Events reagieren kann, muss man ein Game Script anlegen. Dazu erstellt man im Mod-Ordner einen Ordner /res/config/game_script Dort legt man dann die Datei modname.lua mit folgendem Grundgerüst an: [code=lua]function data() return { handleEvent = function (src, id, name, param) end, guiHandleEvent = function (id, name, param) end, update = function() end, guiUpdate = function() end, load = function (allState) end, } end[/code]handleEvent und update laufen im Game Thread, guiHandleEvent und guiUpdate laufen im Gui Thread. Man kann Daten von der Gui zum Script schicken mit game.interface.startScriptEvent Die Funktion guiUpdate wird recht regelmäßig getriggert, muss noch herausfinden, ob bei jedem Tick. Ich werde mich jetzt erstmal weiter durch die Vanilla Files wühlen, um zu sehen, was man alles anstellen kann.

Teilen

Kommentare

  • Kann mir jemand ein Beispiel für diese Funktion schreiben "replaceVehicle"? Ich habe es mit CommonAPI2 getestet, aber ich konnte die Parameter nicht richtig angeben.

  • Habe den Eintrag mal umfassend überarbeitet, sortiert und einige Informationen hinzugefügt.

    Danke an alle für die bisherigen Infos :)

    Was save und load angeht, so bin ich mir mit der Angabe, dass diese 3 mal in einem Frame aufgerufen werden, unsicher. Ich hatte den Eindruck, dass save und load ähnlich wie update aufgerufen werden.

  • Hat jemand startEvent getestet? Wenn ich dieselbe Zeile verwende, die in TpF1 funktioniert, erhalte ich jetzt eine CTD in TpF2.


    Has anyone tested startEvent? When I use the same line that works in TpF1 I now get a CTD in TpF2.

    stdout.txt

    c:\build\tpf2_steam\src\game\scripting\interface.cpp:2320: auto __cdecl scripting::SetupInterface::<lambda_d632bb7827acf6d5147b617fa6d1eaa7>::operator ()(class lua::State &) const: Assertion `false' failed.

    • I have got a quick answer from UG and "startEvent" function is not supported for the moment.

  • War mal so frei und hab ein bischen was ergänzt :)

    Verständlichere Formulierungen und noch mehr Infos wären aber sich wünschenswert, damit kann ich aber leider erst mal nicht dienen.


    MFG PMV