Übersicht über alle Einträge in der info.lua für den Spielinternen Modmanager.
Schon an der Dateiendung [tt].lua[/tt] ist zu erkennen, daß es sich hierbei um ein Lua-Script handelt. Wird ein [b]Text [/b]erwartet, so muss dieser durch [b]Anführungszeichen [/b]begrenzte werden [tt]"Text"[/tt]. Innerhalb der Anführungszeichen dürfen natürlich keine Anführungszeichen vorkommen. Sollte dies dennoch erforderlich sein, müssen sie durch ein vorangestelltes [tt]\[/tt] markiert werden. Zeilenumbrüche werden mittels [tt]\n[/tt] innerhalb des Textes erstellt.
Kein Eintrag darf eine fehlende Zuweisung aufweisen [tt]name = [/tt]
Die Minimalversion einer info.lua sollte folgendes enthalten:
[code]function data()
return {
minorVersion = 0,
severityAdd = "NONE",
severityRemove = "NONE",
name = _("Titel des Mods"),
description = _("Beschreibung"),
}
end[/code]
Innerhalb von [tt]return {}[/tt] stehen die eigentlichen Rückgabewerte, die wir uns jetzt noch im Detail ansehen werden. Jeder Variable muss dabei ein Wert zugewiesen werden. Zudem werden die Einträge durch Kommas voneinander getrennt.
1 Versionsinformation
Da ein Mod immer wieder aktualisiert wird ist eine Versionsnummer unverzichtbar, um die einzelnen Versionen auseinanderzuhalten. Durch die Vorgaben von Urban Games ist die Versionsnummer auf folgendes Schema begrenzt: [tt]M.N[/tt] M ist hierbei die Hauptversionsnummer (majorversion) und N die Unterversionsnummer (minorversion).
Die [color=#800080][b]majorversion [/b][/color]wird über den [b]Ordnernamen [/b]des Mods festgelegt. Sie steht am Ende des Ordnernamens und wird durch einen Unterstrich vom restlichen Namen getrennt. Sie darf nur aus einer Zahl bestehen und keine Buchstaben oder Sonderzeichen (Punkte etc.) enthalten. Beispiel: [tt]mediziner_tatrakt4d_1[/tt]
Die [color=#800080][b]minorversion [/b][/color]wird über [tt]minorVersion[/tt] definiert. Hier sind nur Zahlen gültig. Zum Beispiel: [tt]minorVersion = 0[/tt]
2 Warnhinweise
Beim Hinzufügen und Entfernen von Mods können im internen Modmanager Hinweise ausgegeben werden. Grundsätzlich gilt, wenn man sich ncit sicher ist, welcher Wert zu benutzen ist, dann lieber den höheren Eintrag benutzen. [b][color=#000000]Die Werte werden als Text erwartet.[/color]
[/b]
[color=#800080][b]severityAdd[/b][/color] legt den Warnhinweis beim Hinzufügen fest. Z.B.: [tt]severityAdd = "NONE"[/tt]
[color=#800080][b]severityRemove[/b][/color] legt den Warnhinweis beim Entfernen fest. Z.B.: [tt]severityRemove = "WARNING"[/tt]
Beide Einträge können folgende Werte annehmen:
[table][tr][td]NONE
[/td][td]Kein Warnhinweis
[/td][td][i]Der Mod hat keine Auswirkungen auf das Spiel beim Hinzufügen/Entfernen.[/i]
[/td][/tr][tr][td]WARNING
[/td][td]Warnung: das Hinzufügen/Entfernen dieses Mods kann unerwartete Ereignisse haben
[/td][td][i]Beim Hinzufügen/Entfernen kann es zu unerwarteten Ereignissen kommen. [b]Sinnvoll bei Entfernen von Fahrzeugmods.[/b][/i]
[/td][/tr][tr][td]CRITICAL
[/td][td]
[/td][td][i]Dieser Mod führt garantier zu einem Absturz, wenn er währen des Spiels hinzugefügt/Entfernt wird.[/i]
[/td][/tr][/table]
3 Modname und Beschreibung
[color=#000000][b]Die Werte für beide Einträge werden als Text erwartet.[/b][/color]
Über [color=#800080][b]name [/b][/color]wird der Titel des Mods definiert. Sinnvoll sind hier kurze Aussagekräftige Titel. Namen und Versionsnummern etc. sollten hier nicht stehen.
Beispiele:
[tt]name = "Tatra KT4D Stettin"[/tt]
[tt]Name = "DB BR 420"[/tt]
Mittels [color=#800080][b]description [/b][/color]kann man eine Beschreibung für den Mod festlegen. [b]Beispiel:[/b] [tt]description = _("Hier steht eine Beschreibung")[/tt]
Soll erst später ein Eintrag erfolgen, so kann man natürlich auch eine leere Beschreibung anlegen: [tt] description = _(" ")[/tt]
Soll es eine mehrsprachige Beschreibung geben, so kann man mit Hilfe einer [tt]strings.lua[/tt] im gleichen Verzeichnis auch eine Übersetzung von Strings anbieten. Da in der strings.lua der komplette Originaltext angegeben werden muss empfiehlt es sich auch nur einen Platzhalter zu verwenden und in der strings.lua dann die eigentliche Beschreibung zu hinterlegen: [tt] description = _("Beschreibung")[/tt]
[Spoiler=strings.lua][code]function data()
return {
de = {
["Beschreibung"] = "Hier steht ein Beschreibungstext auf Deutsch.",
},
en = {
["Beschreibung"] = "This will be an English decription text.",
},
}
end[/code][/spoiler]
4 Autorenblock
Für die Autoren wird unabhängig von der Anzahl zunächst ein eigener Block mit [tt] authors = { },[/tt] erstellt. Innerhalb dieses Blocks können dann ein oder mehrere Autoren eingetragen werden. Jeder Autor wird dabei wiederum mit Klammern [tt]{}[/tt] eingefasst.
4.1 Name
Mit [color=#800080][b]name [/b][/color]wird der Name des Beteiligten Autors angegeben ([color=#000000][b]als Text erwartet[/b][/color]) Der Name sollte auch dem Namen im Forum entsprechen, damit eine automatische Modaktualisierung über die Modmanager später ohne Probleme möglich ist.
4.2 Funktion
[color=#800080][b]role [/b][/color]gibt die Funktion des genannten Autors an. Jedem Autor kann eine Funktion individuell zugewiesen werden. [b][color=#000000]Der Eintrag wird als Text erwartet.[/color] [/b]Folgende Einträge sind vordefiniert. [tt]role = "CREATOR"[/tt]
[table][tr][td]CREATOR
[/td][td]Der Ersteller des Mods
[/td][/tr][tr][td]CO_CREATOR
[/td][td]Helfer des Erstellers, ist dem Ersteller untergeordnet
[/td][/tr][tr][td]TESTER
[/td][td]Tester
[/td][/tr][tr][td]BASED_ON
[/td][td]Der Mod basiert auf einem Mod dieses Autoren
[/td][/tr][tr][td]OTHER
[/td][td]Keine der Kategorien oben trifft zu
[/td][/tr][/table]
Der interne Modmanager wertet diese Einträge bisher [i][b]nicht [/b][/i]aus. Theoretisch kann der Eintrag auch jeden anderen Wert annehmen. Es ist jedoch sinnvoll diese Kategorien zu verwenden, damit eine automatisch Übersetzung in den Modmanagern erfolgen kann.
4.3 tf|net Nutzer-ID
Die [color=#800080][b]tfnetId [/b][/color]ist hier die Nummer des Autors in der Datenbank von train-fever.net. Im Modmanager wird sie z.B. dazu benutzt, um den Autor mit dem Forum zu verlinken. Zudem ist die ID später wichtig, um automatische Updates mittels Modmanager zu ermöglichen. [b][color=#000000]Erwartet wird eine Zahl.[/color] [/b]Der Eintrag ist nicht zwingend erforderlich.
Beispiel: [tt]tfnetId = 18018[/tt]
Wie ihr an eure ID kommt: Wenn ihr auf train-fever.net eingeloggt seid, klickt auf euren Namen rechts ganz oben in der Leiste und dann auf "Mein Profil". Danach öffnet sich eine Seite in eurem Browser. Interessant ist jetzt die Adresszeile des Browsers: Sie sollte in etwa so aussehen: [tt]http://www.train-fever.net/index.php/User/18018-mediziner/[/tt]. Nur der hintere Teil ist hier interessant. Die Zahl vor eurem Nutzernamen ist die tfnet-Nutzer-ID.
4.4 weitere Einträge
Mit [color=#800080][b]text [/b][/color]kann ein individueller [b]Text [/b]verfasst werden zum jeweiligen Autor. Beispiel: [tt]text = "Ich habe das gaaanz alleine geschafft"[/tt]
Mit [color=#800080][b]steamProfile [/b][/color]könnt ihr eure persönliche 17-stellige Steamnummer preisgeben. Wenn Ihr das nicht möchtet, lasst den Eintrag einfach weg. Er wird nicht benötigt. [b][color=#000000]Erwartet wird ein Text.[/color] (Also die Anführungszeichen nicht vergessen!)
[/b]Beispiel:[tt]steamProfile = "12345678901234567[/tt]
[Spoiler=Beispiel mit 2 Autoren]
[code] authors = {
{
name = "wohlstandskind",
role = "CREATOR",
tfnetId = 18271,
},
{
name = "mediziner",
role = "CO_CREATOR",
tfnetId = 18018,
},
},[/code][/spoiler]
5 tf|net Mod-ID
Über die [color=#800080][b]tfnetId [/b][/color]außerhalb des Autorenblocks wird die Download-ID eines Mods auf train-fever.net zugewiesen. Mit dieser soll später eine eindeutige Zuordnug des Mods möglich sein und so automatische Updates über die externen Modmanager ermöglichen. [b][color=#000000]Erwartet wird eine Zahl. [/color]
[/b]Beispiel: [tt]tfnetId = 266[/tt]
Wie ihr an eure Mod-ID kommt: Zunächst muss ein Download-Eintrag auf train-fever.net erstellt worden sein. Aus der Adresszeile des Browsers könnt ihr die Nummer eures Eintrags ablesen: [tt]http://www.train-fever.net/filebase/index.php/Entry/266-Tatra-KT4D/[/tt]
6 Minimale Spielversion
Die [color=#800080][b]minGameVersion [/b][/color]gibt an, welche Spielversion mindestens benötigt wird. [color=#000000][b]Erwartet wird eine Zahl.[/b][/color] Beispiel: [tt]minGameVersion = 5671[/tt]
7 Abhängigkeiten
Zu den Abhängigkeiten gibt es bisher keine Konventionen. [b]Weder der TFMM, TFGM noch der interne Modmanager nutzen diesen Eintrag.[/b] So kann leider mit dem neuen Modsystem Abstürze durch fehlende (abhängige) Mods nicht wirklich ausgeschlossen werden.
Vorgesehen ist ein Grundgerüst über [b][color=#800080]dependencies [/color][/b] in einer durch Klammern gebildeten Gruppierung sollen dort die Abhängigkeiten als Ordnernamen (durch Komma getrennt)aufgelistet werden.
Beispiel: [tt] dependencies = {"mediziner_tatrat4d_1", "mediziner_tatrakt4d_1"},[/tt]
Versionsnummern werden bei diesem System bisher nicht unterstützt.
8 Tags
Mit tags werden Schlüsselwörter aufgelistet mit Hilfe derer in den Modmanagern Mods sortiert und gefiltert werden können.
9 URL
10 Beispiele