Eigene Dateilisten und Zusatzmods für den Dummy Mod 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.

  • Der Dummy Mod wurde so ausgelegt, dass ihr relativ einfach eigene Listen mit fehlenden Dateien oder sogar eigene Zusatzmods erstellen könnt. Dieser Artikel soll zeigen was genau man dafür tun muss.

    1 Dateilisten

    Wenn ihr eine Fehlermeldung bekommt, dass das Spiel beim Spielstand laden eine bestimmte Datei nicht finden kann und es für die Datei nicht schon einen Zusatzmod gibt, ist die einfachste Lösung eine eigene Dateiliste. Diese Liste muss in einer Textdatei mit dem Namen [tt]userList.lua[/tt] gespeichert werden, entweder direkt im Hauptverzeichnis des Mods (wo sich auch die mod.lua befindet) oder im Unterordner [tt]res/scripts[/tt] (es ist auch möglich an beiden Orten unterscheidliche Dateien zu nutzen, wenn man unbedingt möchte). Der Inhalt der Datei sollte dann wie folgt aussehen: [code='userList.lua']local modelList = { { fileName = "res/models/model/vehicle/train/br_120_0.mdl", dummyModel = {name = "trainEngine", length = 19.2, seats = 0} }, } return modelList[/code] Die Zeilen 1 und 6-7 solltet ihr nur ändern, wenn ihr wisst was sie bedeuten. Der Block aus den Zeilen 2-5 kann dagegen für beliebig viele Dateien wiederholt werden (wodurch sich natürlich die Zeilen 6 und 7 nach hinten verschieben). [b][u]Zeile 3[/u][/b] gibt den Dateinamen der fehlenden Datei an, ihr könnt ihn aus der Fehlermeldung ablesen, die das Spiel ausgibt: [box]File: [color=#FF0000]res/models/model/vehicle/train/br_120_0.mdl[/color] cannot open [color=#FF0000]res/models/model/vehicle/train/br_120_0.mdl[/color]: No such file or directory This error is usually caused by modding. The Syntax of some game resources is not correct.[/box] oder, nachdem das Spiel beendet wurde, am Ende der stdout.txt: [box][font='Consolas,Courier New,Courier,monospace']error in file [color=#FF0000]res/models/model/vehicle/train/br_120_0.mdl[/color]: cannot open [color=#FF0000]res/models/model/vehicle/train/br_120_0.mdl[/color]: No such file or directory[/font][/box] Hier ist noch zu beachten, dass die Ordnerstruktur bis zur Datei im Mod vorhanden sein muss, da es nicht möglich ist Ordner über ein Lua-Script zu erstellen. In diesem Beispiel müsste im Ordner des Mods der Unterordner [tt]res[/tt] vorhanden sein, dort ein Unterordner [tt]models[/tt] und so weiter bis zum Ordner [tt]train[/tt] (diese speziellen Ordner sind im Mod schon enthalten, aber bei "exotischeren" Objekten kann es sein, dass manche Ordner fehlen). [b][u]Zeile 4[/u][/b] liefert Informationen über die Art der fehlenden Datei, diese sind leider nicht so einfach herauszufinden (da die Datei ja nicht mehr exisitert), aber leider auch nötig, damit die Objekte im Spiel richtig funktionieren. [tt]name[/tt] gibt an welches Objekt für diese Datei benutzt werden soll, folgende Werte sind möglich (alle anderen werden einfach ignoriert): [table] [tr] [td]trainEngine[/td] [td]Loks[/td] [/tr] [tr] [td]trainWagonPerson[/td] [td]Personenwagen[/td] [/tr] [tr] [td]trainWagonCargo[/td] [td]Güterwagen[/td] [/tr] [tr] [td]tram[/td] [td]Trams[/td] [/tr] [tr] [td]tramCargo[/td] [td]Gütertrams[/td] [/tr] [tr] [td]bus[/td] [td]Busse[/td] [/tr] [tr] [td]truck[/td] [td]LKWs[/td] [/tr] [tr] [td]ship[/td] [td]Passagierschiffe[/td] [/tr] [tr] [td]shipCargo[/td] [td]Frachtschiffe[/td] [/tr] [tr] [td]person[/td] [td]Personen[/td] [/tr] [tr] [td]car[/td] [td]KI Autos[/td] [/tr] [tr] [td]misc[/td] [td]Sonstige (Signale, Depots, Assets, etc.)[/td] [/tr] [tr] [td]construction[/td] [td]Konstruktionen[/td] [/tr] [/table] [tt]length[/tt] gibt die Länge des Modells an. Dieser Eintrag ist optional und nur bei Zügen relevant, dort können nämlich auch zu kurze oder zu lange Modelle zu einem Absturz führen. Es ist daher empfehlenswert hier möglichst genaue Werte einzutragen. Mir ist allerdings klar, dass es schwierig ist diese herauszufinden. Wenn man weiß um welches Fahrzeug es sich handelt, könnte man sich zum Beispiel am Vorbild orientieren (sofern eines existiert). Mit [tt]seats[/tt] kann man die Menge der Sitzplätz für Passagiere und Crew bestimmen. Auch dieser Eintrag ist optional und sollte nur genutzt werden, wenn man den genauen Wert kennt oder der Standardwert zu klein ist. Werden sowohl [tt]length[/tt] als auch [tt]seats[/tt] nicht benötigt, kann die Zeile auch zu [tt]dummyModel = ""[/tt] (z.B. [tt]dummyModel = "bus"[/tt] oder [tt]dummyModel = "shipCargo"[/tt]) vereinfacht werden. Sollte die Fehlermeldung immer noch erscheinen, nachdem ihr die Datei gespeichert und den Mod zu eurem Spielstand hinzugefügt habt, überprüft am besten nochmal ob sich die [tt]userList.lua[/tt] im richtigen Ordner befindet und die Ordnerstruktur für die zu erstellenden Dateien vorhanden ist.

    2 Zusatzmods

    Ihr habt noch ein Backup eines Mods der gelöscht wurde und wollt anderen Leuten ohne Urheberrechtsverletzung die nötigen Dateien bereitstellen, damit sie ihre Spielstände wieterhin nutzen können? Dann ist ein eigener Zusatzmod eine Option. Der Zusatzmod ist erstmal aufgebaut wie jeder andere Mod, man braucht also einen Ordner dessen Name folgendes Format hat: [tt]_1[/tt] darf weitere Unterstriche enthalten, ihr könnt euch an den vorhandenen Zusatzmods orientieren, also [tt]dummies__1[/tt] oder einen eigenen Namen verwenden. In diesem Ordner muss eine mod.lua und die Ordnerstruktur zu allen Dateien, die erstellt werden sollen, vorhanden sein. Der Inhalt der mod.lua sollte wie folgt aussehen: [code='mod.lua']local modelList = { { fileName = "", possiblePaths = { "mods//", "../../workshop/content/446800//" }, dummyModel = {name = "misc", length = 0, seats = 0}, }, } local info = debug.getinfo(1,'S') local modPath = string.sub(info.source, 2, string.len(info.source)-7) function data() return { info = {}, runFn = function (settings) if dummyModels then dummyModels.util.createModels(modPath, modelList) else print("Could not create dummy models. It seems the main mod is missing or not loaded at this point.") end end } end[/code] Der Block aus Zeile 2-9 muss für jede Datei wiederholt werden, [tt]fileName[/tt] und [tt]dummyModel[/tt] haben die gleiche Funktion wie bei den eigenen Dateilisten, neu ist hier [tt]possiblePaths[/tt]. Dort werden alle Verzeichnisse eingetragen, in denen die Datei vorhanden sein könnte, damit der Dummy Mod weiß wo er nach der Datei suchen muss, um dann zu enscheiden ob sie erstellt werden muss oder nicht. Zeile 5 zeigt ein Beispiel für einen Mod aus dem Mod-Ordner, Zeile 6 für einen Mod aus dem Workshop. Es müssen natürlich nicht immer diese zwei Einträge vorhanden sein, mehr oder weniger Einträge sind ebenfalls möglich. Der Eintrag info in Zeile 15 entspricht größtenteils noch dem Inhalt der info.lua aus Train Fever, daher verweise ich dafür auf folgenen Artikel: [url='https://www.transportfever.net/lexikon/index.php/Entry/96-info-lua/']info.lua[/url] Eigene Zusatzmods können gerne veröffentlicht werden, wenn die folgenden Bedingungen eingehalten werden: [spoiler] [list][*]Der Hauptmod darf nicht mitgeliefert werden. Verlinkt stattdessen auf den [url='https://www.transportfever.net/filebase/index.php/Entry/2734-Dummy-Modelle-Dummy-Models/']Webdisk[/url] oder [url='http://steamcommunity.com/sharedfiles/filedetails/?id=864541399']Workshop Eintrag[/url] [*]Der Zusatzmod muss auf transportfever.net veröffentlicht werden, eine zusätzliche Veröffentlichung im Steam Workshop ist möglich [*]Wer diese Bedingungen aus bestimmten Gründen nicht einhalten kann, muss vorher [url='https://www.transportfever.net/index.php/User/18018-mediziner/']@mediziner[/url] oder mich kontaktieren. [/list][/spoiler]

Teilen