zwei config.txt Probleme: kein Staub beim verladen von Kohle / kein attachment Opbjet sichtbar

  • Hallo,


    ich habe zwei config.txt Probleme bei meinem aktuellen Projekt. Es handelt sich zum einen um den Staub beim verladen von Kohle und zum zweiten um ein attachment Objekt.

    Die Helper sind alle ordnungsgemäß gesetzt. Da bin ich mir sicher weil die Warnleuchten als attachment Objekte im Editor sichtbar sind. Bild 1. Im Spielemodus aber nicht mehr. Bild 2.

    Die Helper für smoke sind ebenfalls okay, weil der Rauch sichtbar ist sobald ich enabled von 0 auf 1 setzte. Bild 3. Beim verladen von Kohle aber ist kein Rauch zu sehen. Wieder Bild 2.


    Trainz_ A New Era 12_9_2019 2_29_53 PM 2.png






    Die config.txt




    trainz-build 3.5

    category-class "BU"

    category-region "DE"

    category-era "1960s;1970s"

    username "Bunker"

    kind "Industry"

    script "coalmine"

    class "CoalMine"


    smoke0

    {

    attachment "a.trig_0load"

    mode "time"

    color 25,25,25,220

    accel 0.5,0.3,0

    rate 8

    velocity 3

    lifetime 10

    minsize 2

    maxsize 10

    enabled 0

    }


    smoke1

    {

    attachment "a.trig_1load"

    mode "time"

    color 25,25,25,220

    accel 0.5,0.3,0

    rate 8

    velocity 3

    lifetime 10

    minsize 2

    maxsize 10

    enabled 0

    }


    mesh-table

    {

    default

    {

    mesh "schuette.im"

    auto-create 1

    effects

    {

    arrow0

    {

    kind "attachment"

    att "a.warnlight_1"

    default-mesh <kuid2:185479:25053:1>

    surveyor-only 1

    }

    arrow1

    {

    kind "attachment"

    att "a.warnlight_2"

    default-mesh <kuid2:185479:25053:1>

    surveyor-only 1

    }

    }

    }

    }


    attached-track

    {

    out_track0

    {

    track <kuid:-25:195>

    useadjoiningtracktype 1

    vertices

    {

    0 "a.track_0a"

    1 "a.track_0b"

    }

    }

    out_track1

    {

    track <kuid:-25:195>

    useadjoiningtracktype 1

    vertices

    {

    0 "a.track_1a"

    1 "a.track_1b"

    }

    }

    }


    attached-trigger

    {

    out_load0

    {

    att "a.trig_0load"

    radius 5

    track "out_track0"

    }

    out_load1

    {

    att "a.trig_1load"

    radius 5

    track "out_track1"

    }

    }


    queues

    {

    coal_out

    {

    size 1357500

    allowed-products

    {

    0 <kuid:44179:60013>

    }

    product-kuid <kuid:44179:60013>

    initial-count 543000

    }

    }


    processes

    {

    coal_consumer

    {

    start-enabled 1

    duration 30

    outputs

    {

    0

    {

    amount 22620

    queue "coal_out"

    }

    }

    }

    }


    string-table

    {

    coalmine_loadbay1 "Coal load bay #1"

    coalmine_loadbay2 "Coal load bay #2"

    }


    string-table-de

    {

    coalmine_loadbay1 "Kohle-Ladebucht #1"

    coalmine_loadbay2 "Kohle-Ladebucht #2"

    }


    thumbnails

    {

    0

    {

    image "thumbnail.jpg"

    width 240

    height 180

    }

    }

    username-de "Bunker"


    kuid-table

    {

    0 <kuid:-25:195>

    }

    kuid <kuid:769512:100005>

  • Der Eintrag surveyor-only 1 bewirkt, dass die Warnlichter nur im Editor (= Surveyor) sichtbar sind. Lösche diese Zeilen und die Warnlichter sollten auch beim Fahren sichtbar sein.


    Die Smoke-Effekte müssen vom Script, zum richtigen Zeitpunkt, aktiviert (und auch wieder deaktiviert) werden.


    Peter

  • Danke Peter, Problem 1 ist gelöst.


    Bei dem Script habe ich es mir einfach gemacht und die coalmine.gs ohne Änderungen verwendet. Da sind zwar zu viele Ladegleise und auch „Diesel abladen“ drin, aber für jemanden wie mich der davon keine Ahnung hat ist da die Versuchung natürlich sehr groß es so zu machen.

    Ich gehe davon aus, dass die entscheidenden Zeilen diese sind:


    void PerformMovingLoad(Vehicle vehicle, string triggerName)

    {

    //

    // OUTPUT trigger - load

    //

    float speed = vehicle.GetVelocity();


    if (speed > -5.0f and speed < 5.0f)

    {

    int coalAvailable = coalOutQueue.GetQueueCount();

    if (triggerName == "out_load0")

    {

    SendMessage(me, "pfx", "+2");

    //World.PlaySound("coal_load.wav");

    LoadingReport report = CreateLoadingReport(coalOutQueue, coalAvailable);

    vehicle.LoadProduct(report);

    SendMessage(me, "pfx", "-2");

    }

    if (triggerName == "out_load1")

    {

    SendMessage(me, "pfx", "+3");

    //World.PlaySound("coal_load.wav");

    LoadingReport report = CreateLoadingReport(coalOutQueue, coalAvailable);

    vehicle.LoadProduct(report);

    SendMessage(me, "pfx", "-3");

    }



    Hier spreche ich die Trigger out_load0 und out_load1 an. Wird hier nicht der smoke aktiviert und deaktiviert?


    Gruß


    Nostario

  • Die Smoke-Effekte werden durch die Befehle der Form

    SendMessage(me, "pfx", "+2"); aktiviert, bzw.

    SendMessage(me, "pfx", "-2"); deaktiviert. Hierbei bestimmt die Nummer den Smoke-Effekt (2 -> smoke2) und + oder - aktiviert/deaktiviert.

    Bei Deinem Objekt wären also 0 und 1 die richtigen Werte.


    Es können auch mehrere Aktivierungen/Deaktivierungen gleichzeitig erfolgen z.B.

    SendMessage(me, "pfx", "+0-1+2"); aktiviert smoke0 und smoke2 und deaktiviert smoke1.


    Peter