Regel wiederholen

  • Hallo zusammen,
    kann mir jemand verraten, was ich einstellen muss damit sich eine von mir erstellte Regel wiederholt, also von mehreren Zügen aktiviert wird und nicht nach einmal Auslösen ?Danke schon mal im vorraus !

  • Wenn Du Deine Frage nochmal so stellen kannst, dass die auch jeder (oder wenigstens einige) versteht, könnte man auch drauf antworten.
    Oder soll es eine Rätselfrage ( à la Lokraten) sein? :winking_face:

  • also ich hab ihn verstande aber ich weiß keine Lössung Antwort Hilfe oder sonstewas.

    Einmal editiert, zuletzt von Steve ()

  • Mir geht es wie Chereck, die Aussage kann alles aber auch nichts bedeuten.
    Sprich: Drück Dich bitte etwas eindeutiger aus.


    Zwei Möglichkeiten der vielen:


    # Es gibt eine Möglichkeit, Fahrbefehle wiederholen zu lassen;
    in einer Endlosschleife.


    # Soll die Regel an einer Stelle von mehreren Zügen ausgelöst werden?
    Dann hilft ein ganz normaler Trigger.

  • FSP hat recht mit seiner zweiten möglichkeit! Also das Problem ist
    das ich eine "Sound abspielen Regel" an meinem Bahnhof haben möchte.
    So: nun kommt Zug 1 und der Sound wird abgespielt.
    Soweit so gut. Wenn jetzt Zug 2 eintrifft wird die Regel nicht mehr aktiviert bzw es ist kein Sound zu hören ! Was mach ich da falsch ? Hätte ich ja gleich so schreiben können sorry. :frowning_face:
    werde mich bessern :winking_face:

  • Wie sind denn bei dir die Regeln aufgebaut?


    Falls du die Regel "Prüfe Trackside" benutzt, dann kannste einfach einen Haken bei der Option "Reset" setzen, damit wird der Trigger zurückgesetzt und wird jedes mal ausgelöst.


    Fall du nicht diese Regel benutzt, dann gibt es auch eine Regel "Wiederhole Regel" oder so ähnlich, sobald die Mutterregel und deren Tochterregeln ausgeführt wurden, wird die Mutterregel erneut gestartet.

  • Wenn Du die Regel hinzugefügt hast, musst Du ja eigentlich auch noch einen Trigger (oder Trackmark) zuweisen, damit der Sound überhaupt weiss wann er anfangen zu plärren soll.
    Üblicherweise ist dann auch noch dort eine zusätzliche Einstellmöglichkeit auf welche Züge der Trigger reagieren soll (alle Züge oder nur ausgewählte).
    Dieses und möglicherweise noch anderes ändert man (nachdem die Regel hinzugefügt wurde) unter "Bearbeiten".

  • @Klopfer
    Also ich nutzte es so
    Trigger
    -warte
    --sound abspielen
    ---reset list


    Werd es mal mit "prüfe Trackside" versuchen.


    @CHereck
    das funktoniert so weit hab halt nur das Problem beim zweiten auslösen.


    Danke erstmal an alle, werd mich gleich mal heran machen und eure Vorschläge probieren!;-)

  • Okay jetz geht es ! Danke ! Jetz werden die Fahrgäste endlich begüßt und verabschiedet. Dann steht meiner kleinen Strecke ja nichts mehr im wege
    :winking_face:
    Danke nochmal !

  • okay ein kleines problem bleibt noch wo kann ich denn einstellen das ich den sound nicht auf der ganzen karte höre sondern lokal begrenzt also z.B.
    nur am bahnsteig ?
    Danke im vorraus

  • Das ist eine gute Frage.
    Ich selbst kenne keine Lösung dafür, habe allerdings eine Alternative und zwar beschränke ich die Freiheit des Users, der dann die Session spielt: Keine Kamerawahl. Die Kamera ist und bleibt nur im Führerstand, so hört man den Sound dann nur im Führerstand. Später in der Session, kann man ja, dem User die Freiheit zurückgeben z.B. wenn rangiert werden muss.
    Außerdem ist die Einschränkung gut, wenn der User nicht sehen soll, was im Hintergrund so passiert z.B. Züge die auf ein Ereignis warten oder die verschwinden sollen.

    Einmal editiert, zuletzt von Klopfer ()

  • Rein prinzipiell wäre die Lösung in Zeile 215 des Skripts der "Sound abspielen"-Regel zu suchen:


    float duration = World.Play2DSound(asset, waveName + ".wav");


    Würde man das ändern in


    float duration = World.PlaySound(asset, waveName + ".wav");


    würde der Sound nur lokal "an der Quelle" abgespielt werden. Fraglich hierbei ist jedoch, wo eine allgemeine Rundenregel "ihre" Quelle hat ? An der Spielerlok, dem Spielerzug, im Himmel ... ?


    Falls jemand testet, wäre das Ergebnis interessant. :winking_face:


  • Leider ist es nicht die Lösung.
    Damit der Sound nur aus einer Quelle abgespielt wird, muss er an ein Objekt gebunden sein, z. B. an einen Bahnsteig. (a.tralala). Natürlich mit einem passenden Skript versehen, damit z. B. beim eintreffen einer Message der Sound abgespielt wird. Die Message könnte von einem Spezialtrigger gesendet werden, wenn z . B. ein Fahrzeug diesen Trigger abfeuert. Oder aber von einer Regel kommen.

  • Zitat

    josefpav schrieb:


    Leider ist es nicht die Lösung.
    Damit der Sound nur aus einer Quelle abgespielt wird, muss er an ein Objekt gebunden sein, z. B. an einen Bahnsteig. (a.tralala).


    Das ist genau das was ich geschrieben habe, also genau richtig.


    Auslöser wäre hier ein Check Trackside o.ä., also nicht die eigentliche Problematik.

  • Sorry, ist aber nicht, was du geschrieben hast. Die Sound abspielen-Regel kann nur einen "ungebundenen" 2Dsound aus einem HTML-Asset abspielen. Mit den angesprochenen Folgen. Die vorgeschlagene Änderung am Skript


    Zitat

    float duration = World.Play2DSound(asset, waveName + ".wav");


    Würde man das ändern in


    float duration = World.PlaySound(asset, waveName + ".wav");


    würde nur dazu führen, dass die Regel nicht funktioniert, bzw. eine Fehlermeldung ausgegeben wird. World.PlaySound muss mittels attachment point an ein Asset gebunden sein.


    Zitat

    public native float PlaySound (Asset asset, string filename, float volume, float minDistance, float maxDistance, GameObject target, string attachmentPoint)


    zum Vergleich:


    public float Play2DSound (Asset asset, string filename)


    (Beide natürlich member der World Class)


    Die Parameter-Syntax der beiden Methoden kann nicht einfach vertauscht werden.


    Einen hypothetische (bzw. noch zu schreibende) Regel für Asset-gebundene Sounds könnte natürlich nicht direkt mit PlaySound arbeiten sondern müsste eine Message an das Asset senden ( "Bahnhof", "Ansage"), wobei man die destination aus einer Liste (Industry-Objekte) auswählen könnte.


    Das setzt aber voraus, das der CC entsprechenden Sound, attachment-point und ein Skript zum empfangen der Message und der Sound-Ansteuerung einbaut.

  • Oi ! Da werd ich wohl dran scheitern so tief kenn ich mich mit Trainz leider
    nicht aus vielleicht probier ich ja das Addon "S-Bahn Leipzig" aus da
    sind glaube ich Bahnsteige dabei wo man Sound konfigurieren kann !
    Trotzdem Danke für eure mühe :winking_face: