Beiträge von tilo_b

    Zu o.a. Monitor kann ich leider nichts sagen.

    Aber......

    Meine Lösung : Mein alter Samsung TV ( 55 Zoll ) leistet mir gute Dienste.

    Leider fehlte ihm DVBT 2.

    Er hängt genau vor meinem Schreibtisch an der Wand und zeigt mir ein super tolles TANE.

    Ich würde nie wieder eine andere Lösung in Betracht ziehen.

    Gerne . Werde Ich sofort machen !!


    Ick könnt dir knutschen. Jetzt gehts ! ! !:red_heart::red_heart::red_heart::red_heart::red_heart:


    Und ich Dummkopf habe Stunden verbracht , um das hinzubiegen.

    Leider habe ich keine Ahnung von C++ und muss also fast immer raten.

    Aber verstehen kann ich's noch nicht.

    Ich hatte es mit StopMeshAnimation("spin") versucht , aber das ging leider auch nicht.



    Meinen herzlichen Dank für deine hervorragende Hilfe , Mika.

    Ich habe nochmals nachgedacht und im WIKI gelesen.

    DAS ist der Grund , warum die Anim weiter läuft : SetMeshAnimationState("spin", false);

    Dieser Befahl läßt die Anim rückwärts laufen.
    Wenn ich ihn herausnehme , ist Ruhe.

    Das Dumme ist nur , daß sie beim nächsten Ladevorgang nicht mehr läuft.

    Der Waggon hingegen wird beladen.

    In der Config kann man das nicht beeinflussen , wohl nur im Script.


    Und was ich über die Verlegung der Schienen geschrieben habe . . . . . .

    Das kam mir selber komisch vor.

    Wahrscheinlich war ich übermüdet.

    Ich war auch verwirrt.

    Habe das Objekt 2 x aufgebaut und die Schienen andersherum angeschlossen.

    Dann ging es. Kann ich mir auch nicht erklären.


    Ich warte gerne ein paar Tage. :)


    LG Tilo

    Seitdem ich mich mit meinem Schrägaufzug beschäftige , kommt ein Problem zum anderen.

    Was jetzt für mich noch unklar ist :

    Wer oder was bestimmt , wie schnell die Plane , die die Ladung darstellt , nach oben kommt ( also der Wagen gefüllt ist ) ?

    Mein Waggon mit Asche als Transportgut hat eine Animation.

    Aber gleichgültig wieviel Frames ich festlege , der Wagen wird immer gleich schnell gefüllt.

    Und das verstehe ich nicht. :thinking_face:


    Hat da jemand eine Idee ?

    Für einen Rat wäre ich sehr dankbar.

    LG Tilo

    Das kann ich nicht so recht glauben.

    Bei meinen Schranken steht nirgendwo was besonderes.

    Sie sind als "Mocrossing" definiert. Dann regelt sich das automatisch.

    Und ich denke das wird bei anderen Schranken nicht anders sein.

    Liebe Script-Spezialisten

    Wie kann ich verhindern , dass meine Animation 2 x ausgelöst wird ?

    Hier mal mein Script :


    /********************************************************

    * Script zum beladen und starten der Animation *

    * Nach dem Tutorial im Auran-Forum. *

    * Ursprünglich für Wasser, jetzt fuer Kohle. *

    *********************************************************/


    include "BaseIndustry.gs"

    include "world.gs"


    class anim_load isclass BaseIndustry

    {

    ProductQueue waterOutQueue;

    bool AILoad;

    Asset meAsset = GetAsset();

    bool TriggerSupportsStoppedLoad(Vehicle vehicle, string triggerName) {

    bool canLoad;

    Train myTrain = vehicle.GetMyTrain();

    canLoad = vehicle.CanLoadProductFromQueue(waterOutQueue);

    if (canLoad) {

    AILoad = (itc.GetTrainCommand(myTrain) == "LOAD" or itc.GetTrainCommand(myTrain) == "load");

    if (AILoad) return true;

    else if (myTrain.IsStopped()) return true;

    }

    return false;

    }


    void PerformStoppedLoad(Vehicle vehicle, string triggerName) {

    // Load water

    int spaceAvailable = waterOutQueue.GetQueueCount();

    // Startet anim

    SetMeshAnimationState("spin", true);

    Sleep(10);

    // Pause bevor der Wagen beladen wird

    LoadingReport report = CreateLoadingReport(waterOutQueue, spaceAvailable);

    report.sideFlags = LoadingReport.TOP_SIDE;

    vehicle.LoadProduct(report);

    Sleep(30);

    // so lange dauert die Anim ( eigentlich 40, aber 10 + 30 = 40 )

    SetMeshAnimationState("spin", false);

    // World.PlaySound(meAsset, "start.wav" , 100.0, 70, 100.0f, me, "");

    // World.PlaySound(meAsset, "end.wav" , 100.0, 70, 100.0f, me, "");

    if (AILoad)

    PostMessage(vehicle.GetMyTrain(), "HandleTrain", "Release", 1.0);

    }


    thread void waterFuelMain(void) {

    Message msg;

    Vehicle vehicle;

    string triggerName;


    wait()

    {

    // ?

    on "Scriptlet-Enabled", "1": {

    if (!scriptletEnabled) {

    scriptletEnabled = true;

    SetProcessEnabled("generate_water", true);

    }

    continue;

    }

    // ?

    on "Scriptlet-Enabled", "0": {

    if (scriptletEnabled) {

    scriptletEnabled = false;

    SetProcessEnabled("generate_water", false);

    }

    continue;

    }

    }

    }

    public void Init(void) {

    inherited();

    useGenericViewDetails = true;

    // initialize queues

    waterOutQueue = GetQueue("water");

    AddAssetToIndustryProductInfo("water", "water", "generate_water", false);


    waterFuelMain();

    }

    public void AppendDriverDestinations(string[] destNames, string[] destTracks) {

    StringTable stringTable = GetAsset().GetStringTable();

    destNames[destNames.size()] = stringTable.GetString("waterColumn");

    destTracks[destTracks.size()] = "water_column";

    }

    };


    Meine Anim dauert ca. 40 Sekunden.

    Das erste Sleep (10) habe ich eingefügt , damit der Wagen nicht sofort beladen wird.

    Das zweite ( 30 ) , damit die Anim bis Ende läuft.


    Und jetzt kommt , was mich ärgert .

    Sobald der Fahrregler wieder freigegeben wird , startet die Anim nochmals.

    So schnell kann ich den Wagen nicht vom Trigger fahren !


    Es wäre sehr nett , wenn mir jemand helfen könnte.

    Gruss Tilo

    Ich habe den Wurm doch noch gefunden.

    NUR so geht es :


    mesh-table

    {

    spin

    {

    mesh "schraegaufzug.lm"

    anim "schraegaufzug_take 001.kin"

    auto-create 1

    use-parent-bounds 1

    }

    }


    Wenn , wie im Beitrag #8 , zweimal ein Mesh definiert wird (dort "Aufzug" ) , nimmt er das Zweite Mesh statt der ***LOW.trainzmesh.

    Da nützt auch die ***.lm.txt nichts mehr.

    Warum bin ich nicht eher drauf gekommen ? Ich glaube ich werde langsam zu alt für den Mist.


    Jetzt muss ich nur noch mein Script zeitlich anpassen. ( Der Wagon wird zu schnell beladen )

    So , jetzt habe ich es so gemacht :


    mesh-table

    {

    default-lod0

    {

    mesh "schraegaufzug.trainzmesh"

    }


    default-lod1

    {

    mesh "schraegaufzug_low.trainzmesh"

    }


    Aufzug

    {

    mesh "schraegaufzug.trainzmesh"

    anim "schraegaufzug.kin"

    auto-create 1

    use-parent-bounds 1

    }

    }


    Resultat : Die bekannte Fehlermeldung.

    Versuche es mal mit anderer Bezeichnung der meshes:

    schraegaufzug-lod0.fbx für die erste LOD-Stufe (highpoly), und

    schraegaufzug-lod1.fbx für die zweite LOD-Stufe (lowpoly).


    Jörg

    Das werde ich machen , DANKE.

    Aber muss ich das nicht statt mesh "schraegaufzug-lod0.im"    "schraegaufzug-lod0.trainzmesh" eintragen ?

    Problem gelöst.

    Habe den Wagen kopiert und ihm eine neue Textur verpasst. ( Den Author habe ich natürlich drin gelassen ) :)

    Ausserdem fand ich es immer störend , dass grosse Wagen im Bruchteil einer Sekunde gefüllt sind. ( Das geht ja nicht ).

    Also habe ich das Timing noch angepasst.