Realistische Ladezeiten? (Industrie)

  • Hallo,


    Ich wollte fragen, ob es Industrien (bevorzugt Multi-Industrien) gibt, bei denen man auch die Dauer des Be- und Entladen einstellen kann.


    Mich stört es in Trainz, dass die Wagen immer innerhalb von 1 sek. voll sind.
    ZB habe ich das Schrottwerk in dem ich arbeite (Woher auch meine Krauss Maffei kommt) nach gebaut.
    In der Realität dauert jedoch das Be- und Entladen je nach Produkt 20 bis 30 min...
    Ok, für trainz etwas zu lang, da wurden 5 min reichen.
    Ich möchte nur von der 1-Sekunde voll Beladung weg kommen.
    Macht so einfach keinen spass.

    Einmal editiert, zuletzt von cj187 ()

  • hm, kann da keiner Helfen?
    Es muss doch eine Möglichkeit geben, dass der Beladevorgang länger dauert als eine Sekunde.


    Bei den Bahnhöfen ist das doch auch der Fall...


    :frowning_face:

  • Könnte man nicht ggf. einfach die Produktionszeit der MultiIndustrie herabsetzten um so zu gewährleisten dass der Ladevorgang sich verlangsamt? Das würde mir nun als einziges Möglichkeit einfallen das ganz unkompliziert zu lösen. Allerdings müsste sichergestellt werden das die Industrie erst dann beginnt zu arbeiten wenn ein Waggon auf dem Ladegleis steht.. Nun, das ist dann wohl auch nicht sonderlich praktikable.


    Ich werde mal versuchen etwas herauszufinden :winking_face:


    Grüße

  • Ja, die gibt es. Man muss allerdings in den Ladescript der Wagen eingreifen:


    Dort muessten zwei Funktionen sein die in etwa so heissen:


    float BeginLoad(LoadingReport report)
    float BeginUnload(LoadingReport report)


    Innerhalb dieser Funktionen muessten dann die folgende Zeile eingefuegt werden:


    Sleep(i * Math.Rand(0.5,2.5));// Für jede Position eine zufaellige Zeit warten


    Mit den Werten innerhalb von Math.Rand() bestimmt man nun wie lange der Ladevorgang dauern soll, wobei i der Wert der Position des Wagens innerhalb des Zuges ist. Dies also bei der Wahl der Werte in Math.Rand() beruecksichtigen. Z.B. kann bei einem Zug mit 30 Wagen der Wert schon mal 30x2.5=75 Sekunden betragen.


    Dann kann man noch am Ende der Funktion mit


    return RUECKTIME;


    eine Zeitkonstante an die aufrufende Funktion zurueckgeben. Diese Zeit wird dann dort gewartet bis der naechste Wagen be-/entladen wird.


    Bei Interesse kann ich ja mal den gesamten Script posten. Dieser stammt von OpAmp und ich habe ihn auf meinen Kassel angepasst.


    Mick!

    One of the painful signs of years of dumbed-down education is how many people are unable to make a coherent argument. They can vent their emotions, question other people’s motives, make bold assertions, repeat slogans—anything except reason.“ (Thomas Sowell)

  • Zitat von ShadowRock

    Könnte man nicht ggf. einfach die Produktionszeit der MultiIndustrie herabsetzten um so zu gewährleisten dass der Ladevorgang sich verlangsamt?[...]


    Nein, dann wuerde der Zug lediglich partiell beladen werden. Wenn keine Produkte mehr vorhanden sind wird der Ladevorgang abgeschlossen.


    Mick!

    One of the painful signs of years of dumbed-down education is how many people are unable to make a coherent argument. They can vent their emotions, question other people’s motives, make bold assertions, repeat slogans—anything except reason.“ (Thomas Sowell)

    Einmal editiert, zuletzt von Mick ()

  • Danke Mick,


    ich wäre für das Skript sehr dankbar.
    Ist zwar schade, dass das in die Wagen eingebaut werden muss, da dass ja dann nur für diese Wagen gilt und nicht für alle anderen auch, aber immerhin.


    MfG - Christopher

  • Zitat von cj187

    Danke Mick,


    ich wäre für das Skript sehr dankbar.


    Keine Ursache...


    Zitat

    Ist zwar schade, dass das in die Wagen eingebaut werden muss, da dass ja dann nur für diese Wagen gilt und nicht für alle anderen auch, aber immerhin.


    Du kannst natuerlich auch das Script der Industrie aendern...


    Das Script haengt unten dran.


    Mick!

    Dateien

    One of the painful signs of years of dumbed-down education is how many people are unable to make a coherent argument. They can vent their emotions, question other people’s motives, make bold assertions, repeat slogans—anything except reason.“ (Thomas Sowell)

  • Zitat

    Du kannst natuerlich auch das Script der Industrie aendern...


    Ich denke das wäre doch das Optimum, oder nicht? Könnte sich da evtl. jemand schlau machen wie das funktioniert? Oder ein Tutorial an die Hand reichen welches das TrainzScript erklärt? Dann könnte man es auch selbst machen :winking_face:


    Grüße

    Einmal editiert, zuletzt von ShadowRock ()

  • Puh, ja, das wäre bestimmt besser...


    Habe mal in das Skript reingeschaut.
    Ich blicke da gar nicht durch, wo was anfängt und aufhört...


    Und mir wäre das auch lieber, diese Funktion in die Industrie einzubauen.
    Denn zur Not baue ich mir eigene Objekte dafür.

  • Zitat

    Sleep(i * Math.Rand(0.5,2.5));// Für jede Position eine zufaellige Zeit warten


    Allein für diese Empfehlung müsste man dich schlagen. Die Sleep-Anweisung ist dafür bekannt , daß sie für kurze Zeit 100% CPU-Zeit in Anspruch nimmt. Also einen ordentlichen Performance-Ruck verursacht. Für Wartezeiten nimmt man einen anderen Konstrukt (Post Message, Verzögerung). Übrigens, da gibt es LARS und PROTO-LARS dafür.

    Einmal editiert, zuletzt von josefpav ()

  • Zitat von josefpav

    [...]Allein für diese Empfehlung müsste man dich schlagen.



    Dann schlag OpAmp, von mir sind nur die (0.5,2.5)...



    Zitat

    [...]Für Wartezeiten nimmt man einen anderen Konstrukt (Post Message, Verzögerung).


    Wie waers statt mit Allgemeinem mit ein paar Zeilen Code?



    Zitat

    Übrigens, da gibt es LARS und PROTO-LARS dafür.


    Was nicht jeder mag...


    Mick!

    One of the painful signs of years of dumbed-down education is how many people are unable to make a coherent argument. They can vent their emotions, question other people’s motives, make bold assertions, repeat slogans—anything except reason.“ (Thomas Sowell)