Werte-Korrektur-Script / Value-Correction-Script

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


  • Faul ist schon legitim von mir verwendet. Viele beginnen was zu basteln und merken erst zum Schluss, wie viel Arbeit das macht das Projekt entsprechend """spieltauglich""" zu machen.
    Hier im Forum sind 1000 topics zum "WIE", fängt schon bspw. an mit Pixel pro Zentimeter. Und weil ich weis um wen es sich mitunter handelt, .... der weis das ich von ihm denke das er faul ist.
    Tut dem zwischenmenschlichen Verhältnis auch keinen Abbruch.


    Wenn ich Seamon wäre würde ich die Fahrzeuge entsprechend ignorieren, hat man automatisch eine Blacklist, ist ja von Moddern & Admins mehrmals angedacht worden.



    Das Thema Lods habe ich auch schon 1000 mal erklärt und auch 100 mal an meinen Modellen gezeigt.
    Teileweise schalte ich 0-25 Meter und reduziere 50%, und man sieht Null unterschied. Ausschlaggebend sind die Bauteile < 50 mm (Millimeter)
    Lod_2 sind ab 300 Meter insgesamt etwa 12 - 50 Polygone. Sieht auch niemand. Es sei einer spielt mit einem Monitor 5x5 Meter bei einer Auflösung von 1920*1200 (Pixel) ;)

  • Ich denke Lod's sollten vorhanden sein, sind aber auch eine sehr subjektive angelegenheit. Mir fällt es mitunter sehr schwer da eine Abgrenzung zu finden. Ich Teile meine aktuellen Modelle natürlich in Lod's auf (0-150/250, 150/250-500 und 500-1500). Ich persönlich halte eine Distanz von 2500 Metern für zu hoch. Die Polygonanzahl hängt natürlich auch von dem Modell ab.


    Was ich aber viel schwieriger finde, ist das ermitteln der richtigen Fahrzeugwerte bei Güterwagen. Hier ist in meinen Augen nicht richtig klar wie UG das eigentlich vorgesehen hat. Ich habe hier iregndwo gelesen, dass das Ladevolumen als Bezug genommen wird. Das macht aber nicht bei allen Güterwagen Sinn. Als Beispiel wäre da mein Samms 489. Was soll der für ein Volumen haben, in der Realität wird nur die Lademasse angebeben. Die Konsequenz daraus ist dann, das ich schätze/abwege. auch das Gewicht der Wagen ist so eine Sache, ich habe mir angewöhnt einfach das Leergewicht zu nehmen. Ich finde da sollte UG mal eine klare Aussage tätigen.


    Eine Übersicht meiner Fahrzeugmods für TPF findet ihr hier.

  • Also laut @tomdotio ist es weder Volumen noch Gewicht sondern irgendwie was dazwischen. Also für uns Modder leider absolut undurchsichtig.
    Sobald, wie von UG angekündigt, der Cargo Kram ein Gewicht verpasst bekommt (Meine das so verstanden zu haben das zB. eine Einheit Kohle = 1t) kann man ja wieder reale Werte nutzen.
    Wenn man zb weiß der Schüttgutwagon kann in echt zB. 30t zu laden und eine Einheit Kohle 1t wiegt, man also 30 Einheiten Kohle laden kann.
    Die frage dabei ist dann wieder, wird auch das Gewicht durch vier geteilt oder nicht. Wiegt also die Ladung bei dem Schüttgutwagon im falle der Kohle 30 oder eben nur 7,5 Tonnen.

  • Ich habe die LoDs auch dreigeteilt.


    LoD0: 0 - 120 volle Details ==> (5000 - 10000 Tris)
    LoD1: 120 - 250 Details ==> (1500 - 3000 Tris)
    LoD2: 250 - 1000 (2000) Klötzchen mit Farbe ==> (50 - 150 Tris)


    Ich weiss, es geht noch besser, aber auf die Art habe ich den bestmöglichen Aufwand-Ertrag und auch noch ein gutes Aussehen. Zudem stimmen die Werte nicht für alle Fahrzeuge so genau, gerade weil zum Beispiel ein Bus mit zwei Anhängern einfach mehr Tris hat als ein einfacher Bus.


    Dass man Kapazitäten erhöht, dass man Leistung oder Geschwindigkeiten erhöht, das verstehe ich und kann ich auch nachvollziehen, aber warum wird dann nur der eigene Mod / die eigenen Mod so verändert?
    Das ist total doof für alle, denen ein gewisser Realitätsgrad wichtig ist.
    Besser man passt sein Fahrzeug dem UG-Balancing an und lässt dann ein Script drüber laufen, dann sind nämlich auch Vanilla-Fahrzeuge und andere Mods davon betroffen. Und das Gesamtbalancing stimmt auch. Dann Beschleunigen alle Fahrzeuge stark und alle Fahrzeuge können so richtig viel laden. Ich überlege mir deshalb gerade, ob ich noch einen Faktor für Leistung und Anfahrzugkraft einbauen soll. Eine Ziffer ändern und alles beschleunigt schneller. Für die Passagiere und die Fracht habe ich diesen Faktor schon drin.


    Ach ja. Was ich bisher so durchgeschaut habe (habe erst so 100 / 800 Mods durch):


    Personenwaggons: TOP
    Russen: TOP


    Triebzüge: FLOP

  • @Seamon


    Das mit den Lods bei dir gefällt mir, keine Ahnung warum Andere sich damit so schwer tun.


    Eine Frage zu den Scripts:
    "UG" bietet zwar "-1" an, aber der Anschaffungspreis hat keine Auswirkungen bei geänderter Lebenszeit.
    UG verwendet zur Preisbestimmung weit weniger Parameter, als wir (alle die sich seit "TF" damit beschäftigt haben) in unseren Formeln.


    Was Balance betrifft will ich gar nicht mehr allzu viel rumdocktern, sondern einfach nur die Fahrzeuge nach Gattung anpassen (Lebenszeit).
    Zum Beispiel: LKW = 10 ; Tram/Bus = 15 ; Lock/Waggon = 30 Jahre.


    Hast du in deinem Script entsprechende Codezeilen ?

  • Das Script von UG hat ein paar Schwächen. Neben der Lebensdauer wird auch das Gewicht nicht berücksichtigt, genauso wenig wie die Traktion ... aber wenn ich vergleiche mit den Zahlen von TF ... trotzdem 1000 x besser. Du bist hier wahrscheinlich anderer Meinung, aber ich finde das TpF-Balancing gut. Weit weg von perfekt und auch nicht sehr gut, aber gut. Gut genug, dass ich mich bisher noch nicht um ein neues Balancing bemüht habe. Aber vielleicht packt es mich plötzlich noch. Ich würde es zum Beispiel auch besser finden, wenn die Kosten bei Fahrzeugen, die alle Waren transportieren können, höher sind, als bei solchen, die nur 3 oder 4 Waren transportieren.


    So ein Script habe ich so nicht, wäre aber eine meiner leichteren Übungen. Wenn du den Bus zum LKW tun würdest sogar noch leichter.

  • Code
    if data.metadata.transportVehicle and data.metadata.transportVehicle == "ROAD" then
       data.metadata.maintenance.lifespan = 10
    end
    if data.metadata.transportVehicle and data.metadata.transportVehicle == "TRAM" then
       data.metadata.maintenance.lifespan = 15
    end
    if data.metadata.transportVehicle and data.metadata.transportVehicle == "RAIL" then
       data.metadata.maintenance.lifespan = 20
    end

    Ist nicht geprüft.

  • Wird so nicht ganz funktionieren, data.metadata.transportVehicle ist kein String sondern eine Tabelle, was du verwenden wolltest ist data.metadata.transportVehicle.carrier. ;) Zusammen mit ein paar Abfragen ob die Variablen auch wirklich so aussehen, wie man es erwartet, würde das bei mir dann so aussehen:

    Für Schiffe und Flugzeuge wäre carrier "WATER" bzw. "AIR".

  • Dein Code mit dem elseif ist natürlich noch etwas eleganter und der fehlende Carrier ist auch richtig. Den habe ich bei mir auch drin, aber war wohl beim paste & copy etwas unkonzentriert.


    Auf der anderen Seite kann man deine ersten vier Zeilen getrost weglassen, macht UG auch (no_cost_mod), und die solltens ja eigentlich wissen ... ausser du hast gerade einen Bug gefunden, den sie beheben sollten. :thumbsup:
    Aber ich weiss schon, ich musste auch einmal lernen, dass man Abfragen machen soll, aber irgendwann hat man das Gefühl, man könne es besser :evil: .

  • Solange es kein Objekt ohne metadata Eintrg gibt, kann man die äußere Abfrage natürlich auch weglassen, aber inzwischen verifiziere ich den Input lieber einmal zu viel als zu wenig. ;)
    Ob metadata.maintenance vorhanden ist, sollte man aber auf jeden Fall überprüfen, der Modifier wirkt ja z.B auch auf .mdls von Assets, die diesen Eintrag eben nicht haben.

  • @Merk


    Da fehlt irgendwo eine Klammer, obwohl ich alles innerhalb des "Returns" habe.
    Geschlossen wird ja innerhalb mit IF/END.



    Dann habe ich mir das mit der No_Cost angeschaut ....
    Brauche ich oben an: require "tableutil" und muss vor dem ersten IF, die local function + return und neues end angefügt werden ?



    Das erste Bild ist die ATT-Mod.lua, das zweite Bild das Beispiel mit der No-Cost von UrbanGames.



    Edit:


    Bus und LKW muss ich ja auch unterscheiden, geht das mit: Zeile 63 so ?

  • Der Code von Seamon oder mir muss in eine eigene Funktion (am besten noch vor der data Funktion), die dann in der runFn einem Modifier zugewiesen wird, tableutil brauchst du nur, wenn du irgendwo table.copy() benutzt, mehr liefert die Datei nicht. Um Busse und LKWs zu unterscheiden, muss man leider alle Kapazitäten durchgehen und überprüfen ob type == "PASSENGERS" ist:

  • @Merk


    Habe alles gemacht wie von dir gesagt. Den addModifier zu runFN und local funktion nach oben, halt alles so wie bei dir gepostet.


    Als Fehlermeldung kommt ein Problem mit einer Brücke .... ? .....



    Am besten ich schicke dir meine mod.lua als "PM", damit du den gesamten Kontext siehst und den Fehler einfacher identifizieren kannst.
    Danke Kiwi

  • @Seamon, ist es eigentlich Absicht, dass du mit dem Script deine "Orangen-GAB" nicht anfasst, oder läuft da etwas schief?


    Ich habe heute extra nochmal die aktuelle Version runter geladen, jedoch hat sich da nix geändert... Sogar der kurze SoloBus hat mehr Sitzplätze, geschweige dann die Anhängerzüge :)

  • Jein.


    Ich bin gerade an einem "grösseren" Update dran, das natürlich die orangen Busse mit einschliesst. Momentan bin ich bei 4593 Zeilen Code.


    Mein Ziel:
    - alle Fahrzeuge (Steam, Webdisk) werden an die korrekten Werte angepasst (Leistung, Passagierzahlen, Einsatzzeit) bzw. einheitlich festgelegt (Gütermengen)
    - alle Werte lassen sich über einen Faktor verändern (also zum Beispiel Kapazität von Zügen verdoppeln und gleichzeitig diejenige von Bussen halbieren)


    Der Umfang ist deshalb so gross, da es bereits rund 250 Mods mit Fahrzeugen gibt und einige doch komplett falsche Werte haben. Extremstes Beispiel ist ein Zug, der zum Beispiel eine Leistung von 24500 kW statt 9800 kW hat oder in die andere Richtung ein Bahnwaggon, der 72 Sitzplätze definiert hat aber nur eine Kapazität von 54 (= 14) in den .mdl hat. Ich will einfach keinen Wildwuchs, wenn ich mit Mods spiele. Und momentan bin ich eigentlich mehr am Modden als am spielen, weil eben die Mods nicht so sind, wie ich sie möchte.
    Hier kann ich eigentlich unseren "verhassten" Nachbarn ein Lob aussprechen. Keine Nation hat so "korrekte" und "performancefreundliche" Mods wie die Österreicher. Da musste ich bisher kaum was ändern.

  • Hello,


    It seems to me that comparing the capacity with the number of seats in the mdl file is a bit of a shortcut. In the case of my Z 8100, it only have 312 seats but a capacity of 580 in the mdl files. The Z 8100 being a commuter train it has a lot of standing places and not so much seating places. The real train in it's original configuration got only 312 seating place + 118 folding seats for 850 places. Given the ig capacity, i don't really see the point of adding the standing places and folding seats in the mdl file.
    My value are close to the 1/3 standing passengers rules but it make no sense in extreme cases. I have keep the same capacity between the old and renovated version in my mod, but by this rule logic, the renovated one would have a less capacity than the original ig because they removed seats to make more room for standing people (280 seats but more total capacity) .


    The topic about wrong values compared to real one is also not so simple. In the case of my CC6500, i have a long talk with people knowing this locomotive to see what i should use as tractive effort. Because of technology used at this time and the constraint of 1.5V DC the CC6500 only have a starting tractive effort of 208kN (limited by max current at the catenary), but unlike the performance model of TpF, the tractive effort will go up when the loc start running to around 300kN. So i choose a 320kN starting effort which is not the real value but seemed to fit better with TpF.


    And finally about the tga/dds conversion, i think that there is more than lazyness. I have a photoshop licence at work i can use to convert textures, but i haven't found a way to have *working* dds textures without it (i couldn't get any of the alternative to work for all types of textures). And photoshop is certainly not free, so i can see why people stay in the TGA format.

BlueBrixx