Wohin mit eigenen Settings?

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 habe vor, eine Mod herauszubringen, die eigene Settings auf der Platte abspeichert. In manchen Mods entdeckte ich eine settings.lua. Ich weiß aber nicht, ob die einen besonderen Zweck hat. Früher wurde sowas wohl mal benutzt, um spezifische Spieleinstellungen abzuspeichern ... keine Ahnung. Ich möchte aber eigene Params für RunFn dort reinschreiben, so dass die Mod zwischen mehreren Savegames portiert werden kann, ohne dass die Einstellungen verloren gehen.


    Darf ich dafür eine settings.lua im Hauptverzeichnis der Mod anlegen? Oder sollte ich sie besser _settings.lua nennen. Oder vielleicht ganz anders? Oder sollte ich sie besser in meinen scripts-Ordner schreiben? Oder in einen Ordner im Userdata-Bereich des Hauptprogramms? Gibt es überhaupt da irgendeine Konvention? Oder umgekehrt gefragt: Gibt es einen Ort und einen Namen, wo so was auf keinen Fall hingehört?


    Ist mir schon klar, dass vieles ziemlich anarchisch geregelt ist. ^^ Ich möchte nur nicht, dass meine eigenen Fehler nachher von Mod zu Mod weiterkopiert werden. ;)

    ... don't know much trigonometry ... don't know much about algebra ... don't know what a slide rule is for ...

  • UGs Version ist:


    https://www.transportfever2.co…ding:modcomponents#modlua -> params

    (Jeweils im Savegame gespeichert)



    TPFMM Variante via settings.lua im mod Verzeichnis (auch bei TPF2 Mods) :

    https://www.transportfever.net…he-Parameter-fr-CommonAPI


    Die TPFMM Variante der settings.lua unterstütze ich via CommonAPI1/2 auch...

  • Im Savegame werden sie ja ohnehin gespeichert. Aber genau das meinte ich nicht. Da werden sie ja nur vom jeweiligen Savegame wieder geladen, ich möchte sie aber in ein anderes Savegame portieren können, sobald ich meine Mod in Verbindung mit der eigenen Settings-Datei dort wieder installiere. Die Idee ist, die eigenen Params als Defaultwerte wieder in den Param-Block zu laden, solange noch keine eigenen Params im Savegame gespeichert sind. Sprich: Wenn die Mod neu installiert ist.


    Sollte ich in die settings.lua (die zweite Variante) wirklich alles reinschreiben dürfen (außer Schweinkram, Bombenbauanleitungen und Morddrohungen :):):):)), wäre ich schon beruhigt. Ich möchte nur nicht, dass es mit irgendeiner fremden oder spieleigenen Abfrage kollidiert, die zufälligerweise auch auf eine evtl. vorhanden Settings-Datei zugreifen könnte.

    ... don't know much trigonometry ... don't know much about algebra ... don't know what a slide rule is for ...

  • Die settings.lua ist mod spezifisch (d.h. jedes mod hat seine eigene im mod ordner), wenn du dein eigenes Format in der settings.lua nutzen möchtest und nicht das obige beschrieben, so solltest sie nicht settings.lua nennen. Das führt sonst zu Konfusion bei allen und auch bei Tools.


    Da scheint ein Link kaputt, da ist das "standard format" für settings.lua:

    Code
    return {
    option1 = true,
    option2 = 4,
    -- usw.
    }

    Siehe dazu: Mod Einstellungen (Modder)


    CommonAPI2 nutzt dann die mod.lua Beschreibung und kann dir dazu dann ein Einstellungsdialog bauen....

    Auslesen und verarbeiten kannst du sie dann wie du willst...

  • Genau das war meine Frage. Wie gesagt, ich möchte was Eigenes machen, was eben nicht über settings/options läuft. Meine Mod schreibt's rein. Meine Mod liest es aus. Und sonst niemand. Und das soll sichergestellt sein. Ein sicherer Ort wäre documents, aber da sollten vielleicht besser doch nur Anleitungen rein.

    ... don't know much trigonometry ... don't know much about algebra ... don't know what a slide rule is for ...

  • Du kannst die settings.lua in deinen eigenen Mod im Modordner ablegen, das Spiel weiß damit nix anzufangen und auch sonst kein Mod. Wenn du nicht willst das CommonAPI2 sie ausliest dann nenne sie einfach werners_settings.lua

  • Um Missverständnissen vorzubeugen:


    - Wenn der Mod eine settings.lua nutzt, dann sind die Werte für jedes Savegame gültig.

    - Wenn das "neue" System mit den Ingamesettings genutzt wird, gibt es keine settings.lua und es wird nur im savegame hinterlegt welche Settings gewählt wurden. Es sei denn man würde das in der mod.lua so umschreiben das zusätzlich eine settings.lua angelegt wird. Bei meinen Mods ist das nicht so, ob es bei anderen Mods so ist weiss ich nicht. Bei meinen Mods kann man also (wahrscheinlich) nicht mehr mit commonapi2 die settings ändern eis_os ?, es ist zumindestens keine Unterstützung vorgesehen als wir das geschrieben haben.


    Du müsstest also irgendwie auslesen was im Ingamemenü ausgewählt wird und es in deine werner_settings.lua schreiben, das auslesen der settings.lua wird nicht gehen, da es sie ja nicht gibt.

    Du kannst ja mal eine Umfrage machen wer bei der Modauswahl überhaupt noch settings.lua und damit commonapi2 unterstützt.

  • Auf meiner Todoliste steht:

    settings.lua in modlisten zu speichern/wiederherstellen

    UGs Savegame Mod Settings speichern/wiederherstellen


    UG behindert mich, das ich im Spiel keinen Zugriff via UG API auf ModRep erhalte, noch zu den Modlisten irgendwelche infos habe.

    Die UI ist dafür ja schon portiert, sprich, der Code wird im Failback UI im Hauptmenü genutzt und auch im CommonAPI2 Button links unten im Spiel angeboten.

    Daher sehe ich da kein Handlungsbedarf gerade etwas zu ändern.


    Wie man meinem vorherigen Post entnehmen kann, habe ich UGs Version als erstes verlinkt.


    Ich verweise mal auf: (und der TPFMM Standard ist definitiv älter)

    https://xkcd.com/927/


    Sprich, noch mehr Standards aus Nutzerseite muss es eigentlich nicht wirklich geben und von dem was ich gelesen habe, könnte man die Grundeinstellungen für Savegames via settings.lua ermöglichen, diese dann in mod.lua auslesen und damit die param defaults für UGs System füttern.

  • Ich habe das Problem mit den Settings jetzt so gelöst, dass ich eine wk_settings.lua in den Scripts-Ordner schreibe. Dann brauche ich statt einer eigenen Leseroutine nur require, um sie auszulesen. Aber es sind eben keine Settings im Sinne des Games oder der commonAPI.

    ... don't know much trigonometry ... don't know much about algebra ... don't know what a slide rule is for ...

  • Nochmal: Das Vanillaspiel selbst liest die settings.lua die im Modordner liegt nicht aus, es wüsste nichts damit anzufangen. Das tun nur die scripts die im jeweiligen Mod mitgeliefert werden und die CommonAPI2.

BlueBrixx