Diverse Fahrzeuge haben kein "mouse over" in Kaufmenü oder Fahrzeugdetails

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


  • Ich musste ja vor kurzem selber lernen (bei meinen zwei Mods), dass der bei vielen Moddern noch verbreitete Fehler bzgl. der Syntax im Umgang mit info_name und info_desc in strings.lua und mod.lua eine globale Variable erstellt, was so nicht sein sollte.


    Ist genau dies auch der Grund für das Nichterscheinen einer Popup-Info beim "mouse over" über dem UI-Bildchen eines Fahrzeugs?

    Speziell in den Fahrzeugdetails fehlt diese Popup-Info bei diversen Loks.


    Beispiel:

    franzl_kkstb_4_1


    In strings.lua:

    Außerhalb des return-Blocks wird eine globale Variable definiert, auf die sich dann innerhalb des return-Blocks bezogen wird.


    Gibt es nur die eine Lösung, alles von außerhalb des return-Blocks in diesen hinein zu verfrachten und durch Nutzung von Anführungsstrichen zu "entglobalisieren", oder gibt es eine einfachere Lösung - kann ich z.B. die Definierung der Variablen ganz oben durch das Voransetzen von "local" beheben?


    Oder anders gefragt; muss es umständliche händische Fummelarbeit sein oder ginge es mit massenhaftem "suchen und ersetzen"?

  • Gordon Dry

    Hat den Titel des Themas von „Diverse Fahrzeuge haben kein "mouse over" im Kaufmenü (falsche Syntax für "info_name"?)“ zu „Diverse Fahrzeuge haben kein "mouse over" in Kaufmenü oder Fahrzeugdetails“ geändert.
  • Fehler:

    1) Globale Variablen, d.h. es müssen lokale Variablen benutzt werden. local meinevariable = "Test".

    2) [info_name] = info_name ist falsch, wenn info_name = <irgendwas> oder als ["info_name"] = "nochwas" oder ["info_name"] = meinevariable


    3) Irgendwelche Klammern, wo keine hinngehören. irgendwas = (nochwas) ist nicht schön und meistens ein Fehler.

    Wenn es mehrzeilig sein soll, wäre das in LUA via long bracket möglich:
    [[


    ]]


    oder [=[


    ]=]


    Lua sagt dazu "Literal strings can also be defined using a long format enclosed by long brackets"

    https://www.lua.org/manual/5.2/manual.html


    4) Meistens falsch in den weiteren Dateien: Es muss dann <irgendwas> = _("info_name") sein. Ich sehe da öfter Konstruktionen aller <irgendwas> = ("info_name"), da fehlt der Aufruf der Funktion _


    _( "string" ) spricht die Übersetzungsfunktion _ an und übergibt den Namen, TPF2 sucht dann im Mod nach Übersetzungen für <Sprache>, gibt es das nicht dann unter en und dann noch in Strings des "Basis"spiels.

  • bei vielen Moddern noch verbreitete Fehler bzgl. der Syntax im Umgang mit info_name und info_desc in strings.lua und mod.lua eine globale Variable erstellt, was so nicht sein sollte

    Hast du eine Ahnung wo das herkommt, da das ja wirklich in einigen Mods so benannt ist? Wenn man sich die globalen Variablen anguckt ("info" + tab) kommt da ja einiges. In den Lexikon-Artikeln hier ist es jedenfalls richtig beschrieben.


    das Nichterscheinen einer Popup-Info beim "mouse over" über dem UI-Bildchen eines Fahrzeugs

    Was sollte da stehen? In den Fahrzeugdateien wird name und description definiert.

    In dem Fall werden zusätzlich noch kkstb_4_desc und kkstb_4_407_desc (diesmal richtig) definiert. In der mdl steht description = _("kkstb_4_desc") was funktionieren sollte. name = _("kkStB 4.72") sollte kkStB 4.72 ergeben, da keine Übersetzung dafür gefunden wird (kann man sich _(...) auch sparen).


BlueBrixx