[img]https://ftp.train-fever.net/flaggen/gb.png[/img] The English version can be found here: [url='https://www.transportfever.net/lexikon/index.php/Entry/217-Settings-for-Mods/']Settings for Mods[/url]
, -- minimal und maximal möglicher Wert (nur bei "number")
values = { -- mögliche Werte für die Mehrfachauswahl (nur bei "table")
{
text = _("this is a 100"), -- Text der im TPFMM für diese Option angezeigt wird
value = 100, -- Wert, der in die Tabelle geschrieben wird, wenn diese Option ausgewählt wurde
},
},
},[/code]Die ID der Option sollte innerhalb des Mods einzigartig sein. Anders gesagt, wird immer nur die zuletzt definierte Option, mit dieser ID, verwendet.
Sofern nicht anders angegeben, stellen bei den optionalen Parametern, die in diesem Bespiel genutzten Werte, auch die Standarwerte dar, falls dieser Parameter fehlt.
Wird das ModUtil Script verwendet, ist es sinnvoll die Optionen erst in einer Variable zu speichern damit diese dann sowohl für den TPFMM als auch für das Script verwendet werden kann:
[code=lua,'mod.lua']local modUtil = require "merk_modutil_1"
local settings_def = {
option1 = {
type = "boolean",
name = _("Option1"),
},
option2 = {
type = "number",
name = _("Option2"),
},
}
function data()
return {
info = {
-- ...
},
settings = settings_def,
runFn = function(settings)
modUtil.userSettings.create("mod_id", settings_def)
end
}
end[/code]Mit der Zeile [tt]modUtil.userSettings.create("mod_id", settings_def)[/tt] wird dem Script mitgeteilt, welche Optionen erwartet werden. Außerdem werden automatisch die settings.lua des Mods ausgelesen (sofern vorhanden) und die dort angegeben Werte für die spätere Verwendung gespeichert. Die "mod_id" wird intern genutzt, um zu unterscheiden, von welchem Mod die Einstellungen stammen. Zwei unterschiedliche Mods sollten also nicht die gleiche ID haben. Meiner Meinung nach bietet sich daher der Ordnername des Mods an.
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.
Kommentare 15
Neu erstellte Kommentare unterliegen der Moderation und werden erst sichtbar, wenn sie durch einen Moderator geprüft und freigeschaltet wurden.
Neu erstellte Kommentare unterliegen der Moderation und werden erst sichtbar, wenn sie durch einen Moderator geprüft und freigeschaltet wurden.
VacuumTube
Wie hier schon geschrieben habe (CommonAPI2), wäre es nützlich, wenn Änderungen von Mod Einstellungen über die GUI der CommonApi im laufenden Spiel direkt von den Mods erfasst werden könnten. Dazu ist wahrscheinlich eine Art Interface notwendig.
Konzeptidee:
Momentan werden ja die Einstellungen einmal beim Laden des Spiels von settings.lua eingelesen und gespeichert. Da manche Mods möglicherweise sehr oft die Einstellungen mit local options = merk_modutil[1].userSettings.get("mod_id") aufrufen, wäre es wahrscheinlich ineffizient, jedes Mal die Datei auszulesen. Daher sollte die CommonApi beim Ändern eines Wertes dieses modutil informieren, sodass die geänderten Einstellungen erkannt und aktualisiert werden. Rufen Mods danach wieder ihre Einstellungen ab, erhalten sie die neuen Werte.