Workaround: Fahrzeugpannen

  • Mhh also ich habe vllt auch noch etwas rausgefunden...


    MAn muss da nichts verstellen oder so ^^... ich habe einfach immer aufgepasst, dass die Fahrer genügend Gehalt bekommen.
    Ich hatte jetzt gaerde beim spielen 1-2 Pannen sonst ist alles reibungslos verlaufen.


    MAnchmal reicht es auch ihnen nur 50Cents zu geben, hauptsache sie haben einen grünen Smiley.


    Vielleicht ist das bei mir nur Zufall, oder es stimmt tatsächlich ^^, für wenig Geld würde ich auch etwas schlampiger arbeiten ;P

  • Was mir nun aufgefallen ist, dass bei den schnelleren Spielgeschwindigkeiten weniger Pannen auftreten, als bei der normalen. Anscheinend ist der Pannentrigger nicht ganz auf die Spielgeschwindigkeiten abgestimmt. Könnte an der höheren Berechnungslast liegen, so dass dadurch die Pannentrigger nicht so oft ausgelöst werden.


    Haben noch andere das beobachtet und können das bestätigen? Oder bilde ich mir das nur ein und alles war nur Zufall?

  • Also ich habe gemerkt das wenn man die Wartungskosten auf 95 % setzt bringt es absolut nichts ausser mehr Ausgaben.Meine U Bahnen gehen trotzdem genau so oft kaputt wie vorher.Ich finde hier hat man extrem übertrieben.Wenn jede Bahn oder jeder Bus im RL so oft kaputt gehen würden dann würde kein Mensch mehr mit ÖVM fahren

  • Also Anfangs haben mich Pannen nicht so gestört, weil selten.


    Aber nun wo ich einige Linien habe und dementsprechend viele Fahrzeuge, nervts gewaltig.... Alle paar Sekunden kommt die Meldung, dass irgendein Fahrzeug eine Panne hat!


    Grundsätzlich ist die Idee mit den Pannen keine schlechte, aber hier hat man den Eindruck, dass die Fahrzeuge billiger chinesischer Müll sind der keine 5 Minuten hält... :cursing:



    MFG

  • also ich hab die folgenden zwei zeilen aus dem ersten beitrag bearbeitet und nun kommt keine meldung mehr ist zwar auch nicht optimal wenn nichts mehr kaputt geht aber besser als alle 2 minuten die nachricht


    Zitat

    $targetCondition = 1.0 / (1.0 + $transportVehicle.travelDistance / (4000000.0 * (0.1 + $vehicle.$reliability * 0.9) * (0.1 + $maintenanceLevel * 0.009)));
    $vehicleData["condition"] = $transportVehicle.condition = $vehicleData["condition"] * 1.0 + $targetCondition * 0.0;


    Die Werte standen auch irgendwo auf der ersten Seite muss noch genau raussuchen wo^^

  • Ich nutze quasi 3 Sachen, die das Spiel verändern.


    1. Die Realismus-Mod, die den Fahrzeugen mehr Sitzplätze, aber höhere Betriebskosten einbringt.
    2. Die Änderung der Verkehrsdichte (siehe passenden Thread hier). Ich habe in der economy.script die Clamp-Zahl auf 0.4 stehen. Somit staut sichs immer noch, aber nicht mehr so nervig.
    3. Die Konstante für die Abnutzung der Fahrzeuge in der player.script. Die hab ich auf viermillionen stehen (von ursprünglich zweihunderttausend). Dadurch bleiben die Fahrzeuge länger frisch. Vielleicht ist das bisschen zu viel - ich hatte mal mit vierhunderttausend rumgespielt, dadurch verloren Busse jedes Jahr ein Prozent an Zustand. Pannen passieren trotzdem, was tierisch nervt, zumal mein 4%-Doppelstockbus öfter die Hufe hochmacht als ein 20%-Bus. Da hat jemand in Stochastik nicht aufgepasst bei den Programmierern von Colossal :D :D


    Somit ist das in meinen Augen gut spielbar und man kann getrost auch mit kleinen Buslinien anfangen. Auch in den 20er Jahren.


    1. Du meinst den "vehicle Realism Mod", oder? Den einfachen mit FS FIleviewer entpacken oder?


    2. Zu Clamp hab ich diese Stelle gefunden. Wo genau muss 0.4 veräendert werden?


    Code
    $num = MAIN.$grid.citizens.count;
      if ($num == 0) $num = $grid.citizens.getHomeCount();
      if ($num < 18000) {
        $grid.citizens.carMultiplier = clamp(500.0 / max(1.0, $num - 22550.0) + 0.89, 0.0, 1.0) * MAIN.$campaign.$campaign.$privateCars * 0.01;
      } else {
        $grid.citizens.carMultiplier = clamp(9000.0 / max(1.0, $num - 1300.0) + 0.24, 0.0, 1.0) * MAIN.$campaign.$campaign.$privateCars * 0.01;
      }


    3. Könntest du noch sagen, wo du das in der player.script geändert hat?



    LG und Danke :)

  • Die RealismusMod musst du nicht entpacken, sondern einfach nur ins Spieleverzeichnis kopieren. Anleitung sollte bei der Mod dabei sein.


    CLAMP ändern:


    aus:


    if ($num < 18000) {
    $grid.citizens.carMultiplier = clamp(500.0 / max(1.0, $num - 22550.0) + 0.89, 0.0, 1.0) * MAIN.$campaign.$campaign.$privateCars * 0.01;
    } else {
    $grid.citizens.carMultiplier = clamp(9000.0 / max(1.0, $num - 1300.0) + 0.24, 0.0, 1.0) * MAIN.$campaign.$campaign.$privateCars * 0.01;
    }


    mach:


    if ($num < 18000) {
    $grid.citizens.carMultiplier = clamp(500.0 / max(1.0, $num - 22550.0) + 0.89, 0.0, 0.4) * MAIN.$campaign.$campaign.$privateCars * 0.01;
    } else {
    $grid.citizens.carMultiplier = clamp(9000.0 / max(1.0, $num - 1300.0) + 0.24, 0.0, 0.4) * MAIN.$campaign.$campaign.$privateCars * 0.01;
    }


    ...oder mehr oder weniger, je nach Lust und Laune.


    Player.script:
    Such mal nach 200000 (zweihunderttausend). Dort müsste eine lange Formel stehen. Da den Faktor ändern.
    Alle diese Infos stehen aber auch überall in den Foren. Einfach danach suchen.

  • Muss man für Scriptsänderungen ein neues Spiel anfangen?


    LG. Alc


    Meines Wissens nicht.


    Andere Frage: Mit welcher Skriptsprache sind die Scripts denn geschrieben oder haben die sich da was eigenes zusammengeschustert?

  • Um die folgenden Vorschläge zu erklären schreib ich erst mal was ich momentan eingestellt hab.


    Ich nutze momentan eine einfache Veränderung von:


    $vehicleData["condition"] = $transportVehicle.condition = $vehicleData["condition"] * 0.8 + $targetCondition * 0.4 (<-- glaub ich war Standard)


    Und da ich die Pannen nicht komplett abschalten wollte hab ich es abgeändert in:


    $vehicleData["condition"] = $transportVehicle.condition = 0.825


    was ja heißt, dass der Zustand der Fahrzeuge permanent auf 82,5 Prozent gesetzt wird. Dadurch werden die Pannen nicht abgeschaltet, aber diese kommen auch nicht so oft vor. Und jetzt wieder ein ABER:


    Das bedeutet ja, wenn ichs richtig verstanden hab, dass die Berechnungen zur Attraktivität bzw. Kundenzufriedenheit so manipuliert werden, dass diese zum Teil "statisch" sind. Außerdem sind in diesem Fall die Wartungskosten komplett unnütz, also ist das nur eine vorübergehende Lösung.


    Deshalb hab ich mir zwei Modelle überlegt. (Info: Hab keine Programmierkenntnisse und ich kapier das Zeug auch nicht wirklich, also korrigiert mich bitte wenn einer, oder alle zwei, der folgenden Vorschläge nicht möglich sind.)


    Erst mal noch was anderes: Was mich eigentlich am meisten nervt ist, dass der Fahrzeugzustand nicht zum Reparieren geht. Gut, zugegeben es wäre unrealistisch, aber es stört (finde ich) eindeutig das Spiel, denn ab einer gewissen Linienanzahl und Fahrzeugen wäre ich nur noch mit austauschen beschäftigt, was mir irgendwie den Spielspaß verdirbt. Nun aber zu den Modellvorschlägen:


    Modell 1:


    Voraussetzungen: Beliebige "normale" Schadensberechnung der Fahrzeuge.
    Was soll passieren: Zustand eines jeden Fahrzeuges wird alle X-Jahre auf hundert Prozent zurückgesetzt. (X variabel einstellbar.)
    Auswirkungen: Zusätzliche Kosten, die jedoch nicht einem neuen Fahrzeug entsprechen!!! (+ eventuell Fahrzeugausfall -"parken im Depot"- für ein paar Tage um die Kosten nicht zu hoch anzusetzen? <-- In diesem Fall dürften natürlich nicht alle gleichzeitig ausfallen -und schon gar nicht alle von einer Linie-, wobei das Depotoberlimit glaub ich eh bei 6 liegt.)


    Modell 2:


    Voraussetzungen: Beliebige "normale" Schadensberechnung der Fahrzeuge.
    Was soll passieren: Zustand des betreffenden Fahrzeuges wird automatisch ab X Prozent wiederhergestellt. (X variabel einstellbar, vielleicht in 5er Prozentschritten wie bei den Wartungskosteneinstellungen. <-- Ich glaube "Der Verkehrsgigant" hatte diese Variante wenn ich mich nicht täusche.)
    Auswirkungen: Zusätzliche Kosten, die jedoch nicht einem neuen Fahrzeug entsprechen!!! (+ eventuell Fahrzeugausfall -"parken im Depot"- für ein paar Tage um die Kosten nicht zu hoch anzusetzen? <-- Auch hier ist zu beachten, dass das Depot ja scheinbar ein Oberlimit hat. Hier ist es außerdem reiner Zufall, wenn alle Fahrzeuge einer Linie gleichzeitig zu reparieren wären.)


    Schlusswort: Dadurch, dass X variabel ist, könnten die Fahrzeugpannen ohne großen Workaround minimiert werden und jeder bekommt trotzdem noch Gewinn. Es wäre jedem selbst überlassen, wie weit der Zustand sinken soll, bzw. wie sehr die Fahrzeuge dadurch pannenanfällig werden. Zusätzlich dazu würde der nervige Fahrzeugaustausch auch wegfallen.


    Und nun wünsche ich viel Spaß dabei meine Vorschläge entweder auseinanderzunehmen, sie zu benutzen, sie teilweise zu benutzen, sie zu verbessern oder sie zu ignorieren. Je nachdem was halt umsetzbar oder erwünscht ist. :D


    L.G. Alex


    PS: Ich favorisiere Modell 2.

  • Die Häufigkeit der Pannen ist das eine Problem. Das andere ist die Pannendauer. Ich glaube, da hab ich was gefunden


    In metro/ui/linepanel/linepanal.script gibt es folgende Zeile:


    Code
    .stopTime = 120.0 - MAIN.$gameData.$employeeHappiness[2] * 100.0;


    Ändert man die 120.0 in 60.0, verkürzt sich die Pannendauer. Dadurch nimmt der Stau von folgenden Fahrzeugen ab. Eine Änderung in 0.0 lässt bei mir das Fahrzeug kurz aufrauchen, dann fährt es aber sofort weiter.


    Das Problem: Bei bestimmten Werten, z.B. 45.0, hören die Pannen nicht mehr auf. Es scheint so, als ob nach dem Pannenende sofort eine neue Panne auftritt (zumindest gehen die Türen immer wieder auf und zu).


    Ich habe auch Änderungen der 100.0 durchgeführt (z.B. 0.01 oder 10000.0). Fazit: Keine Änderung oder Dauerpanne.


    Meine Frage: Kann das jemand bestätigen oder dementieren?


    PS: Ich habe das ganze nur mit Strassenbahnen getestet.

  • Die 120 habe ich Anfangs auch für die Maximale Standzeit gehalten. Gemessen habe ich aber bis zu 180 Sekunden Standzeit. Da waren meine Leute aber auch wirklich unglücklich. (Würde ich auch sein, wenn es nur einen Euro gibt ;) )


    Ich habe jetzt mal


    Code
    .stopTime = 120.0 - MAIN.$gameData.$employeeHappiness[2] * 100.0;


    in


    Code
    .stopTime = (120.0 - MAIN.$gameData.$employeeHappiness[2] * 100.0)/3;


    umgewandelt. Die Zeit wird ebenfalls kürzer und es treten nicht die Probleme der Dauerpanne auf.

  • Ansonsten sehe ich das so wie Bennhardt. Ohne Pannen und Abnutzung macht es keinen Spaß. Allerdings finde ich die Abnutzung im Original als viel zu hoch, weshalb ich den Wert auf 1 Million verfünffacht habe.

    1 2
    $targetCondition = 1.0 / (1.0 + $transportVehicle.travelDistance / (200000.0 * (0.1 + $vehicle.$reliability * 0.9) * (0.1 + $maintenanceLevel * 0.009)));


    Hast du den rot markierten Wert auf 1.000.000 gesetzt?
    Habe ihn auf geändert aber der Wert wird beim speichern nicht übernommen? Also ich speichere mit dem Wert 1.000.000 starte das Spiel wenn ich dann wieder die Datei öffne ist der Wert wieder auf 200.000?
    Wie kann ich die Datei mit dem GSFile Viewer die Datei auf read only setzten

  • Wenn du die Datei im GSFile Viewer bearbeitest hast, musst du danach auch eine neue metro.gs Datei erzeugen, die die Änderungen speichert. Alternativ exportierst du die einzelne Datei aus der metro.gs, änderst diese und fügts sie manuell in die CiM Ornderstruktur ein (Cities In Motion/metro/scripts).


    Das Programm Notepad++ ist zum editieren empfehlenswert.


    Hoffe es klappt nun ;)

  • ok, hat geklappt mal schauen obs jetzt besser spielbar is, das war eig das einzigste was mich störte an dem spiel^^ mir reicht schon wenn sie ~5mal weniger Pannen haben


    EDIT: Also die Pannen haben sich schon verringert, aber wenn die Pannen zufällig kommen würden, warum fallen dann immernoch alle gleichzeitig aus? Also alle die am selben Tag gekauft wurden?!
    So zufällig kann es ja nich sein oO


    und als ich grad so durch den quellcode gestöberte hab ich das gefunden: :D :D :thumbsup: :thumbsup:

  • is noch jmd dabei das teil komplett zu entschlüsseln oder hat man jetzt die wahl keine pannen oder mehr oder weniger effektiv (eher weniger :/ ) mit den zahlen da der $targetCondition rumzuspielen?


    Zitat von Fragi

    EDIT: Also die Pannen haben sich schon verringert, aber wenn die Pannen zufällig kommen würden, warum fallen dann immernoch alle gleichzeitig aus? Also alle die am selben Tag gekauft wurden?!
    So zufällig kann es ja nich sein oO


    außerdem, vllt kommt es mir echt nur so vor, aber wenn ich es bei mal mal echt läuft dass ich laut Prognose am Ende Monats richtig gewinn einsatze gehen die Züge auch auffäilg oft kaputt, dagegen wenn ich alles so einstelle dass ich grad so gewinn mache hab ich nicht so häufig Pannen kann das sein?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!