Fahrzeugauswahl und Start/Endjahr im Ingame-Ladebildschirm

Willkommen in der Transport Fever Community

Welcome to the fan community of Transport Fever and Train Fever, the economic simulators of Urban Games. The community is free for you to share and inform yourself about the game. We cultivate a friendly and objective interaction with each other and our team will be happy to answer any questions you may have.

 

Registration and use is of course free for you.

 

We wish you a lot of fun and hope for active participation.

The Team of the Transport-Fever Community

  • In Transport Fever gab es die Möglichkeit Fahrzeuge über die mod.lua zu verstecken, mit Transport Fever 2 funktioniert das nun auch bequem ingame im Ladebildschirm. Das Scripting dazu ist etwas anders und das versuche ich hier mal zu erklären.

    Noch eins vornweg: Ein ganz Herzlicher Dank geht an EAT1963 der mir den ganzen Code so geschrieben hat, daß es am Ende jetzt auch funktioniert.

    Erstmal wie schaut das ganze denn am Ende aus?



    Teil 1 Verstecken von Fahrzeugen und Startjahr / Endjahr deaktivieren


    Um das ganze einfacher zu gestalten, kommt an den Anfang der mod.lua ein kleines Stück script. Alles wo ich etwas kommentiert habe sollte man mal näher schauen dort muss was geändert werden.

    Danach müssen wir ein paar Parameter definieren, das kommt nach den Tags in den Infoblock. Auch hier wieder, in den Zeilen wo Kommentare stehen sind individuelle Anpassungen notwendig.

    Danach muss das ganze noch aufgerufen werden und das geht so:

    Da das Forum leider keine lua formatierung mehr kann und das ganze so absolut unübersichtlich ist, bitte die mod_lua_ohne_script.zip aus dem Dateianhang verwenden und diese auf den eigenen Mod anpassen. Die strings.lua habe ich auch angehängt, dort kann man sehen wie ich vorgehe um die strings zu übersetzen.



    Teil 2: Das Ganze für Multiple units

    folgt


    Teil 3 Verstecken der Gruppierungs mdl

    Da es einige User immer wieder schaffen den Gruppierungseintrag zu kaufen, hier mal die entsprechenden Codezeilen um die Gruppierungs.mdl DAU-Sicher zu verstecken, dafür ist allerdings ein externes Script notwendig (Anhang kommt in den Ordner res/scripts). Wie das ganze innerhalb der mod.lua ausschaut kann man der angehängten mod_lua_mit_script.zip entnehmen.


Share

Comments 12

  • Puh, ganz schön viel Code... ich weiß nicht wie viele Modder sich das für eigene settings genauer anschauen. Ein Interface wäre da sicherlich praktischer

    • Mal schauen was da kommt ;-)


      Nicht erschrecken lassen von den "vielen" Zeilen (es sind nicht mal viele, die ganze mdl hat 211 Zeilen), im Endeffekt muss man nur ein paar Parameter ändern (Keys) und die Pfade zu den mdl auf den eigenen Mod anpassen, als Modder ist das nur Copy&Paste aus dem EffEff. Die ganze Arbeit ist schon gemacht.

    • Kein Problem, ich habe den Code verstanden. Aber wenn ich Fahrzeuge modden würde und mich mit Lua nicht gut auskennen würde, fände ich das wahrscheinlich überfordernd für so etwas eigentlich einfaches wie Fahrzeug ein/ausblenden.

      Außerdem sollten Modder möglichst wenig fremden Code einfügen, vor allem wenn man nicht genau versteht was er macht. Die mod.lua wird dadurch auch nicht übersichtlicher. Da wäre ein Interface wie ParamBuilder schon hilfreich, sodass man alle Daten nur einmal angeben muss, was am ende auch weniger fehleranfällig ist.

    • Bisschen Eigenwerbung wa ^^

      Und nach dem Motto "möglichst wenig fremden Code einfügen," meinst du wohl --> lieber deinen Code verwenden? Naja Schwamm drüber.


      Ich hatte das wohl schon in der Webdisk gesehen, aber das es auch für das ingame Menü anwendbar wäre ist mir nicht aufgefallen.

      Ausserdem bin ich jemand der von lua (fast) keine Ahnung hat und die Beispiele dort sind allesamt für Constructions so das man (also ich) nicht mal ansatzweise weiss wie das ganze aufgebaut sein müsste und das was ich hier beschrieben habe abzubilden. Du kannst ja gerne mal einen einfach verständlichen Lexikonartikel mit Beispiel dazu schreiben wie das ganze ausschauen müsste um die hier beschriebenen Sachen zu erreichen und ich schaue mir das nochmal an was denn (für mich) einfacher ist.

    • Nein, so war das nicht gemeint. Es war nur als Beispiel, wie ein Interface aussehen könnte, ebenso wie eatglobal ja auch eins ist. Dass man ein fest definiertes skript hat, das man schnell einbinden kann und die eigentliche Angabe für jede einzelne Einstellung in nur einer Zeile erledigt ist.


      Mit "wenig fremden Code" meinte ich, dass es für Modder/Programmierer immer unangenehm ist, viel mit Copy-Paste zu übernehmen. Klar kann man auch sagen Hauptsache es funktioniert. Aber so ist es eben fehleranfälliger und manchmal schauen auch andere mal in den Code und da ist es schön, wenn das halbwegs übersichtlich ist.


      ParamBuilder ist auch für die ingame Modeinstellungen gedacht, da die ja gleich aufgebaut sind wie bei Constructions. (siehe Beispiel Realistic Railway Slopes) Der zweite wesentliche Vorteil ist die Verwendung bei Slidern, damit man nicht ("0.1","0.2","0.3",...) schreiben muss und die Werte umrechnen muss (deswegen ist das ganze auch entstanden).


      Für diesen Fall, wo es nur um einen einfachen Button geht, lohnt es sich kaum das darüber zu machen, klar. Es wäre natürlich möglich, in ParamBuilder eine Art Preset einzubauen, das einen vorgefertigten Button zum Anzeigen/Verstecken zurückgibt. Allerdings frage ich mich dabei, wie viele Modder das anwenden würden. Es geht ja vor allem um die Auswahl bei Fakes? (sofern die überhaupt vorhanden sind). Für jedes Fahrzeug "No end year" einzustellen können ist zwar nice to have, aber glaube ich nicht so nachgefragt.

    • Ah dann habe ich deinen Beitrag falsch verstanden, ja dein Vorschlag das ganze in eine API auszulagern so das man nur Parameter übergeben muss ist natürlich schöner. So war es ja auch seit TPF nur da es jetzt halt kein Tool mehr gibt was die settings ändern kann musste ich nun auch umsteigen.

      Da sind wir auch am überlegen ob und wie wir das ganze in eine verbesserte API integrieren können.


      Copy&Paste braucht man aber immer was sich aber schon bei dem hier vorgestellten darauf beschränkt das man eigene (eindeutige) Keys vergeben muss und natürlich die Pfade zu den mdl + mdl angeben muss, der Rest kann komplett unverändert übernommen werden. Das wird auch mit einer API nicht anders werden, nur ein bisschen kürzer so das man alles Sachen wo man nichts ändern muss gar nicht mehr erst sieht.

  • Thank you very much MaikC.

    so "eatglobal_v2_26" is only required to hide a buy menu, right?

    • I see a translation of this wiki is needed ^^


      Since some users manage to buy the grouping entry again and again, the corresponding lines of code are necessary to hide the group.mdl safely from buying it. It's still visible but you can't buy it.


      But the external script is necessary for this (attachment is in the res / scripts folder).

    • Thanks, DeepL does a good job though.
      I guess I'm simply surprised that the buy menu is still modded in a way that makes it buyable at all.

      I just prefer to avoid using script libraries, I see too many errors poping up in player's stdout due to a version conflict.
      Cheers

  • Herzlichen Dank für diesen hervorragenden Tipp. Sieht zwar kompliziert aus, aber mit Deiner Vorlage widerum verständlich.

    • Danke und ja sieht kompliziert aus, leider unterstützt das Forum auch weder LUA noch Farbige Markierungen innerhalb des Codes. Wenn man aber die angehängte mod.lua nimmt und aufmerksam durchgeht erkennt man schnell wo die Werte sind die man individiduell anpassen muss. 95% der ganzen Zeilen können unverändert verwendet werden.

    • Hast recht, ich werd mich mal einlesen und ausprobieren.