Probleme mit Mods die Vanilladateien überschreiben

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


  • Guten Morgen zusammen, eines mal vorneweg, es soll kein Motze Kommentar sein sondern lediglich einen Hinweis sein.


    Wie so oft, wenn man irgendetwas baut oder einen Mod erschafft, wird man desöfteren hingewiesen, das man prägnante Dateinamen nimmt und nicht UG Daten überschreibt. Das finde ich ja auch sehr sinnvoll und richtig. Obschon auch bei mir diese Dinge unterlaufen, werde ich wenigstens von Super Leuten die mir schon öfters geholfen haben etwas zu verwirklichen (Nochmals Danke dafür)hingewiesen und dann gabs eben auch die Begründung warum eigentlich, das man dies so machen sollte. Find ich echt gut, so weiss man dann auch, warum eigentlich prägnante Dateinamen.


    Mir ist aber jetzt aufgefallen, das es öfters nun vorkommt das UG Dateien überschrieben werden, geschweige denn , das man plötzlich etwas dabei hat, wo man vielleicht gar nicht will, weil man einen eigenen Mod schon erstellt hatte dafür. Und danach hat man von der gleichen Sache 2,3 oder sogar 4x mal das gleiche drin. Öfters aufgefallen beim Terrain- und Maltool. Ich finde es wirklich super, das es echt Mitglieder gibt, die sowas erstellen und Ihre Zeit dafür opfern. Ich kenn das ja selbst, wieviel Zeit so schnell vorbei geht und man hat noch lange nicht das Ende in Sicht.


    Aber ich frage mich, warum gerade erfahrene Modder z.B. der NEP die Standard und Highspeed Gleise überschreiben lässt, warum kann man da nicht auch einen prägnanten Namen nehmen, damit die UG Gleise nicht überschrieben werden? Ich denke , das wäre sicherlich sinnvoll. Das ist für mich selbst sicherlich nicht tragisch, denn ich benutze die UG gleise seit es ja den NEP gibt nie mehr. Also Riesenkompliment das Ihr sowas auf die Beine gestellt habt.


    Es soll wie gesagt kein Gemotze sein, aber es werden UG Dateinamen genommen, lediglich nur ein Hinweis.


    Diejenigen die viele Terrain oder Mal Mods erstellt haben, schaut doch bitte, das es nicht das gleiche nochmals im Mod drin ist, wenn dies schon in zig andern Mods auch vorhanden ist. Wenn Ihr solche Mods erstellt, schaut doch mal, was ist denn schon vorhanden in andern Mods oder von UG.. so kann man das 2,3,4 x das gleiche minimieren.


    Das gilt auch für die Modder, die gerne UG Daten bei den Modellen (z.B.) Trucks) überschreiben und wir als Benutzer dann doof schauen, wo danach UG Dateien überschrieben werden. Ich find das alles super, aber schaut doch auch da bitte, das Ihr prägnante Dateinamen nehmt und nicht UG Dateien in der Weise überschreibt.


    Schlussendlich, hab ich mir lange überlegt ob ich dies schreiben soll, weil ich bin mir sicher, ich werde einigen auf den Schlips treten obschon es lediglich als Hinweis dienen soll. Aber ich bin mir das ja nicht anders gewohnt, aber es musste nun einfach mal raus, weil desöfteren schon Beiträge hier im Forum gewesen sind, wegen 2,3 oder sogar 4x mal das gleiche in verschiedenen Mods. Und jeder hat dann noch einige Dinge die man wirklich brauchen kann, so dass man den Mod dann nicht deaktiviert aber eben damit leben muss, das man einige Dinge 2,3 oder sogar 4x mal das gleiche hat.


    PS; Schreibfehler dürft Ihr gerne selbst behalten ;-)


    Ich hoffe, das ich jetzt nicht gerade am Masten aufgehängt werde, mit diesem Beitrag. (Ich nehme mich nicht aus, an diesem Hinweis, ich nehm in auch zu Herzen und geb dazu mein Bestes).

  • Ich halte deinen Einwand durchaus berechtigt. Ich finde auch, dass sich niemand auf den Schlips getreten fühlen sollte, wenn man ihn auf technische Konventionen hinweist. Du kennst das selber von mir ^^^^. Genauso, wie beim Auto Gaspedal und Bremse immer an derselben Stelle sein müssen, gibt es auch hier Notwendigkeiten, damit unser Gemeinschaftsprojekt richtig funktioniert. Wer dennoch auf eigene Faust etwas ändert, sollte begründen, warum. Manch ansonsten schöne Mod musste ich leider boykottieren, weil sie sich mit irgendwas gebissen hat. Andererseits ist das gelegentlich auftretende Chaos auch der Tatsache geschuldet, dass bestimmte Standards nicht vernünftig dokumentiert oder noch nicht einmal einvernehmlich geregelt sind. Da besteht auf jeden Fall Nachholbedarf.


    Auf einige mir in letzter Zeit aufgefallene Dinge möchte ich auf jeden Fall an dieser Stelle auch nochmal hinweisen:

    • Bitte für die Keys der Params in der mod.lua oder in .con oder .script-Dateien immer individuelle unverwechselbare Namen benutzen, z.B. Namen des Modders + Modbezeichnung oder ein unverwechselbares Kürzel für Beides, wie ich es mache. Die Keys sind leider global wirksam, gelten also auch für fremde Mods, und könnten sonst eine Menge Probleme bereiten. Die nachfolgend intern benutzten Variablen müssen dieser Regel nicht folgen, sollten aber zumindest konsistente Bezeichnungen tragen und lokalisiert sein. Bitte regt euch nicht auf, wenn euch jemand darauf hinweist; es ist eine sehr wichtige Regel.
    • Die Mod-internen Verzeichnisse sind genauso strukturiert wie die Verzeichnisse des Spiels. Was an derselben Stelle liegt, überschreibt dasselbe Skript etc. im Spielverzeichnis. Bitte nur Komponenten des Spiels überschreiben, wenn es Sinn macht oder nicht anders geht. Das gilt genauso für Komponenten fremder Mods.
    • Die oberste Verzeichnisebene auch innerhalb eines Archivs sollte immer der Mod-Name mit der berühmten "_1" am Ende sein. Bitte nichts lose herumfliegen lassen; es stört hinterher nur im Mod-Ordner. Es wäre auch schön, wenn alle ihr Namenskürzel vor den Modnamen setzen würden.
    • Generell auf Lokalisierung von Variablen achten. Der Error-Handler des Spiels macht nicht immer auf Fehler aufmerksam.

    Wenn hier jemand am Masten aufgehängt wird, dann allenfalls am virtuellen Oberleitungsmast. :D:D:D Schönen Sonntag noch. :)

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

  • Das NEP die Standardgleise überschreibt ist nützlich und auch sinnvoll da so alle Gleise automatisch upgegradet werden auf die neuen Mesh und Texturen, so muss man nicht das ganze Schienensytem nachbearbeiten muss auf die neuen Gleise. Dort macht es ganz im Gegenteil keinen Sinn es nicht zu tun. Außerdem ist es rückwirkungsfrei, wenn man NEP deaktiviert hat man wieder die Originalgleise. Wer es nicht will muss ja nur 2 Dateien löschen.

    Wenn es auch in der Modbeschreibung steht finde ich ist das kein Problem, bei Mods die aber ohne Vorankündigung Vanilla Dateien verändern ja da gebe ich dir recht sollte man nicht nutzen. Wir achten darauf auch beim freisachalten, es kann aber auch mal vorkommen das uns was durch die Lappen geht.


    Moderativer Hinweis: Wähle bitte noch eine sinnvolle Überschrift für den Thread, die auch zum Thema passt. Denn hier geht es ja offensichtlich um "Probleme mit Mods die Vanilladateien überschreiben"

  • Speedmaster

    Hat den Titel des Themas von „Ich hab mal eine Frage, sicherlich mach ich mich jetzt wieder einmal mehr unbeliebt.“ zu „Probleme mit Mods die Vanilladateien überschreiben“ geändert.
  • Moderativer Hinweis: Wähle bitte noch eine sinnvolle Überschrift für den Thread, die auch zum Thema passt. Denn hier geht es ja offensichtlich um "Probleme mit Mods die Vanilladateien überschreiben"

    gemacht .


    Ich halte deinen Einwand durchaus berechtigt. Ich finde auch, dass sich niemand auf den Schlips getreten fühlen sollte, wenn man ihn auf technische Konventionen hinweist. Du kennst das selber von mir ^^^^. Genauso, wie beim Auto Gaspedal und Bremse immer an derselben Stelle sein müssen, gibt es auch hier Notwendigkeiten, damit unser Gemeinschaftsprojekt richtig funktioniert. Wer dennoch auf eigene Faust etwas ändert, sollte begründen, warum. Manch ansonsten schöne Mod musste ich leider boykottieren, weil sie sich mit irgendwas gebissen hat. Andererseits ist das gelegentlich auftretende Chaos auch der Tatsache geschuldet, dass bestimmte Standards nicht vernünftig dokumentiert oder noch nicht einmal einvernehmlich geregelt sind. Da besteht auf jeden Fall Nachholbedarf.


    Auf einige mir in letzter Zeit aufgefallene Dinge möchte ich auf jeden Fall an dieser Stelle auch nochmal hinweisen:

    • Bitte für die Keys der Params in der mod.lua oder in .con oder .script-Dateien immer individuelle unverwechselbare Namen benutzen, z.B. Namen des Modders + Modbezeichnung oder ein unverwechselbares Kürzel für Beides, wie ich es mache. Die Keys sind leider global wirksam, gelten also auch für fremde Mods, und könnten sonst eine Menge Probleme bereiten. Die nachfolgend intern benutzten Variablen müssen dieser Regel nicht folgen, sollten aber zumindest konsistente Bezeichnungen tragen und lokalisiert sein. Bitte regt euch nicht auf, wenn euch jemand darauf hinweist; es ist eine sehr wichtige Regel.
    • Die Mod-internen Verzeichnisse sind genauso strukturiert wie die Verzeichnisse des Spiels. Was an derselben Stelle liegt, überschreibt dasselbe Skript etc. im Spielverzeichnis. Bitte nur Komponenten des Spiels überschreiben, wenn es Sinn macht oder nicht anders geht. Das gilt genauso für Komponenten fremder Mods.
    • Die oberste Verzeichnisebene auch innerhalb eines Archivs sollte immer der Mod-Name mit der berühmten "_1" am Ende sein. Bitte nichts lose herumfliegen lassen; es stört hinterher nur im Mod-Ordner. Es wäre auch schön, wenn alle ihr Namenskürzel vor den Modnamen setzen würden.
    • Generell auf Lokalisierung von Variablen achten. Der Error-Handler des Spiels macht nicht immer auf Fehler aufmerksam.

    Wenn hier jemand am Masten aufgehängt wird, dann allenfalls am virtuellen Oberleitungsmast. :D:D:D Schönen Sonntag noch. :)

    Danke Dir dies auch noch zu erwähnen, sonst wärs bei mir wohl zu einem Buch mit 7 Siegel geworden um das alles auszudrücken:-)

  • Uuuups das die Keys der Params global wirksam sind war mir gar nicht bewusst. :-(

    Danke für den Hinweis.


    KoA

    Soundfiles für Feuerwehr / Rettungsdienst / Polizei für AT ,GB , NL, BE, SE gesucht.
    Sound files for fire brigade / rescue service / police for AT, GB, NL, BE, SE wanted.
    Geluidsbestanden voor brandweer / reddingsdienst / politie voor AT, GB, NL, BE, SE gezocht.

    Gruß
    KoA

  • Das NEP die Standardgleise überschreibt ist nützlich und auch sinnvoll da so alle Gleise automatisch upgegradet werden auf die neuen Mesh und Texturen, so muss man nicht das ganze Schienensytem nachbearbeiten

    Insofern ist es sicherlich sinnvoll, die Vanillagleise zu überschreiben, wenn man es zu bestehenden Savegames hinzufügt. Allerdings ist das ja nur für die Übergangszeit gewesen, mittlerweile startet jeder wahrscheinlich eine neue Karte direkt mit oder ohne NEP. Rausnehmen macht wahrscheinlich auch keiner, da die wenigsten nur standard und highspeed benutzen.


    Außerdem wirken nur manche Änderungen direkt. Die Geschwindigkeit verlegter Gleise zB nicht. Insofern ist es dann eher unintuitiv, wenn dasselbe Gleis "high_speed.lua" im verlegten Zustand 300kmh hat und neu gebaute Gleise plötzlich 160.


    Der NEP ist als Stand-alone Mod gedacht worden, zum einfachen Aktivieren ohne (viele) andere Mods. Das ist auch erstmal okay so. Nur wenn jeder das von seiner Mod denkt und viele Vanilladateien verändert, leidet natürlich die Kompatibiltät. Im Nachhinein sagen was besser wäre*, ist natürlich immer einfach, aber wenn ich dürfte, hätte ich gesagt, dass alle Gleisdateien in einen Unterordner "/nep" kommen. Die Standardgleise könnten sich durch einen (optionalen) Filter ausblenden lassen. Die aktuelle Dateibenennung mit Geschwindigkeiten ist nicht gerade schön, aber natürlich das Ergebnis einer Entwicklung, die bestehende Savegames berücksichtigen muss. Insofern kann man da natürlich keinen Vorwurf machen. Nicht zuletzt ist es ja auch das leidige Gleistyp/geschwindigkeit Problem, das sich seit Train Fever durchzieht und noch nicht von UG gelöst ist.



    Vanilla Dateien in einer Mod zu verwenden (also nur zu lesen) ist erstmal gut, da es ressourcen sparend ist. Hierbei muss man sich allerdings auf die Integrität der Spieldaten verlassen. (d.h. Modder die Auswirkungen von anderen Mods, die eben die Vanilladateien ändern, auf ihre eigenen Objekte befürchten, werden sich evtl die Vanilladateien kopieren oder eigene Materialen nehmen)


    Vanilla Dateien aktiv zu veränden/überschreiben sollte nur aus 2 Gründen passieren:

    1. Es ist technisch notwendig. Nur wenn es wirklich nicht anders geht, z.B. wegen fehlendem Interface, sollte man Dateien überschreiben. Sollte in der Modbeschreibung erwähnt werden.
    2. Die Änderungen passieren bewusst. Das kann Sinn machen, wenn man etwas global austauschen will, was also auch andere Mods beeinflussen soll. (z.B. Straßenbelag, Oberleitung, UI-Icons). Dies sollte in der Modbeschreibung immer eindeutig benannt werden. Bitte alle möglichen Nebeneffekte (auch auf andere Mods) vorher bedenken.

    Das Problem zu 1: Gerade Modding Beginner kennen noch nicht das gesamte Modding Interface, aber das Grundsystem, dass Dateien wie im Spielverzeichnis überschrieben werden, versteht man relativ schnell. Das führt dann zu solchen Mods, die dann Vanilla Scriptdateien, Standardgleise, Industrien oder anderes überschreiben, obwohl nur 1 Zeile Code geändert wird! (z.B. Geschwindigkeit, Kosten, Bahnhofslänge). Das funktioniert zwar im ersten Schritt, hat aber die Nachteile dass:

    • Änderungen an diesen Dateien durch Spielupdates nicht in den kopierten Dateien sind und es daher nach Updates oft zu Fehlern kommt, obwohl es an einer ganz anderen Stelle der Datei ist.
    • Andere Mods, die in denselben Datei etwas anderes ändern, sind nicht kompatibel, obwohl sie sich von der Logik nicht überschneiden würden.
    • Anpassungen wirken nur für Vanillaobjekte. Wenn z.B. in allen Straßen die maximale Steigung von Hand geändert wird, würden keine Modstraßen berücksichtigt.

    --> Daher ist die Lösung oft ein Script, d.h. ein Modifier in der mod.lua, der alle Dateien durchgeht und eben nur genau die Änderungen durchführt, die die Mod machen will. Wenn man manche Mods/Dateien auslassen will, kann man eine if Abrage einbauen. Wenn ihr nicht wisst, wie/ob so etwas geht, fragt bitte einfach im Forum nach.



    Wenn wir schon bei Dateinamen sind, so wäre mein Wunsch an Modersteller eindeutigere Bezeichnungen. Grundsätzlich wenn man mehr als 1-2 Objekte hat, ist eigentlich ein Unterordner, benannt nach Modname/autor, Pflicht. Alleine schon, um Konflikte zu vermeiden, was bei "standard_80.lua" oder "empty.mdl" ganz schnell passiert. Auch wenn im Modordner die Zuordnung offensichtlich ist - im Spiel wird ja alles "zusammengemischt", zu welcher Mod ein Objekt gehört, ist dann gar nicht mehr herauszufinden. Ordner sind übersichtlicher als viele Dateien mit vielen _ z.B. "country_medium_one_way_new.lua". Außerdem: Niemand hat behauptet, dass Bezeichnungen wie "medium", "large", "new" oder "old" sinnvoll wären, weil man keine Ahnung hat was es genau bedeutet. Also keinen Grund das von UG zu übernehmen.


    Diejenigen die viele Terrain oder Mal Mods erstellt haben, schaut doch bitte, das es nicht das gleiche nochmals im Mod drin ist, wenn dies schon in zig andern Mods auch vorhanden ist. Wenn Ihr solche Mods erstellt, schaut doch mal, was ist denn schon vorhanden in andern Mods oder von UG.. so kann man das 2,3,4 x das gleiche minimieren.

    Die Idee ist prinzipiell gut, da es Ressourcen und Performance sparen würde.

    Abhängigkeiten von anderen Mods sind aber generell schwierig, da man hierbei auch auf verlässliche Dateien angewiesen ist (d.h. updatesicher). Der andere Modautor muss also auf jeden Fall informiert sein. Zum anderen gibt es viele Leute die Abhängigkeiten regelrecht hassen, was leider dazu führt, dass Modder eher alles in die Mod packen und ihre eigenen Texturen statt existierende zu nehmen.

    Da hochauflösende Texturen in großer Anzahl ein ernsthafter Performance Killer sind, wäre es aber schon wichtig, hier eine Lösung zu finden, ggf durch Verwendung von (mehr) Vanilla Texturen in verschiedenen Auflösungen.



    *Ich würde niemals das sachliche Hinweisen auf Probleme als meckern oder motzen bezeichnen

BlueBrixx