Ladezeit für Waggons. Wer legt sie fest ?

  • Für spezielle Fälle (der Waggon wir immer maximal beladen) mag das Script richtig arbeiten. Bei Teilbeladung an einer Standardindustrie düfte das aber anders aussehen.


    Peter

    Hallo Peter

    Ich habe beide modifizierten Waggons mit der "Coal Mine" getestet.

    Erfreulicherweise verhalten sie sich genau so , wie ich es eingestellt hatte.

    D.h. , die Kohleladung kommt langsam hoch. :thumbs_up:


    Tilo

    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (A. Einstein)

  • würde ich gerne übernehmen wollen...

    Kannst du selber machen.

    Wie Mika beschrieben hat , die GS-File des Wagens ändern :


    public float GetLoadTime(LoadingReport report)

    {

    SetMeshAnimationFrame("load",30.0,10.0);

    return 10.0;

    }

    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (A. Einstein)

    • Offizieller Beitrag

    Nochmal Anmerkung die auch p-dehnert schon gemacht hat, teilweises Be/Entladen ist damit nicht darstellbar. Aber wenn ich mir mal den Loading Report anschaue finde ich sicherlich nen Weg den Ladestand einfach im Skript zu berechnen.





    Greets, Mika

  • Nochmal Anmerkung die auch p-dehnert schon gemacht hat, teilweises Be/Entladen ist damit nicht darstellbar. Aber wenn ich mir mal den Loading Report anschaue finde ich sicherlich nen Weg den Ladestand einfach im Skript zu berechnen.


    Greets, Mika

    Das glaube ich euch ja auch.

    Aber ich habe noch nie mit Industrien gearbeitet , so dass ich die Teilbeladung nicht prüfen kann.


    Tilo

    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt. (A. Einstein)

  • im grunde genommen, würde es doch ausreichen, wenn man die Frames der Animation in 10 Schritte aufteilt.

    Hat einer der Wagen nun alles, was noch in der Industrie vorrätig war, aufgenommen und ist zB nur 63% voll, so lässt man die Animation auch nur bis zu dem 6 Schritt fahren und beendet diese dort.


    Frage ist erstmal, wie genau, und wie verhüllte sich, wenn man dann nachträglich noch mal etwas dazu laden möchte...


    Nicht das die Animation von vorn beginnt...


    Noch eine Frage, ist der Zug in diesem Zeitraum auch 'festgesetzt', also, kann man in der Zeit überhauptnoch interagieren?

    • Offizieller Beitrag

    Klar, das hätte ich auch gemacht. Zuladen sollte kein Problem sein, denn SetMeshAnimationFrame bewegt sich immer vom aktuellen Frame zum angegebenen.


    Theoretisch ist wird der Zug immernoch fixiert. Vielleicht weiss einer der älteren und erfahreneren Skripter hier, wie BSI das damals gelöst hat? Es scheint einen Weg zu geben, das Fixieren per Skript zu verhindern, aber der geht leider noch ein wenig über meinen Horizont hinaus.





    Greets, Mika

    Student in Vollzeit, Straßenbahnfahrer in Teilzeit. Skripte für Trainz wenn Motivation da ist...


    "It's always more fun to share with everyone" -Jack Johnson

  • Der LoadingReport besitzt zwei ProductQueue-Member, von denen einer auf die Quell- und der andere auf die Zielqueue referenziert.

    Dann wird aus dem Code von Mika eben das hier:



    Dürfte so funktionieren.

    Eine Sache ist allerdings ungeklärt: Wie verhält sich "SetMeshAnimationFrame"? Läuft es nur vorwärts, oder nimmt es den Weg ohne Looping-Effect (also rückwärts, wenn der aktuelle Frame größer ist als der neue) ? Das muss getestet werden.


    Mit dem Script ist es aber auch egal, wie viele Frames die Animation hat, die Berechnung findet auf Basis der verwendeten Framezahl statt, nicht auf einen festgelegten Wert von 30 Frames.

    10 Mal editiert, zuletzt von callavsg ()