Ton xyz kurz vor Ansage der Haltestelle abspielen lassen

Willkommen in der OMSI-WebDisk!
Als Gast kannst du nur Inhalte in deiner ausgewählten Sprache sehen. Registrierte Nutzer können die Sichtbarkeit anderer Sprachen in ihrem Kontrollzentrum aktivieren, weitere Infos hier.
Alle Themen sind in den Foren mit einer Sprachflagge gekennzeichnet: = Englisch [EN], = Deutsch [DE], = Französisch [FR]. Wenn du die angegebene Sprache nicht beherrschst, schreibe auf Englisch!
  • Grüße an Alle,


    Ich habe derzeit ein Projekt am laufen, wo ich folgendes umsetzen möchte: Im realen ist es bei einem bestimmten Fahrzeug (MB O530 Citaro) so, dass immer kurz vor der Ansage der nächsten Haltstelle ein bestimmter Ton xyz abgespielt wird. Der Ton soll auf jeden Fall immer vor der Ansage abgespielt sein, d.h. Ton xyz und Ansage xyz sollen sich nicht kreuzen. Der Ton ist schon erstellt, fehlt nur noch die Scriptumsetzung. Vielleicht hat jemand so etwas ähnliches umgesetzt und könnte mir bezüglich Scriptschnipsel ein paar Tipps geben.


    Beste Grüße

  • Moin,


    wenn du den Ton einfach vor die Ansage schneidest? Ist das eine Idee, oder entspricht das nicht deinen Vorstellungen?


    Aber ich kenne das aus der Realität und du möchtest bestimmt, dass das nicht von der Ansage sondern vom Bus selbst kommt. Hab ich Recht? :D

    Die Verkehrsgesellschaft Meißen wünscht allzeit gute Fahrt!

  • wenn du den Ton einfach vor die Ansage schneidest?

    Natürlich wäre das eine Möglichkeit, aber das ist auch keine saubere Lösung weil es auch nur bei dem bestimmten Fahrzeugtyp ertönt. Wenn ich wirklich alle Ansagen daran bearbeiten würde, dann würde jedes Fahrzeug diesen Ton abspielen was es aber nicht machen soll. Also leider keine gute Lösung.

  • bezüglich Scriptschnipsel ein paar Tipps geben

    Also wenn dir tatsächlich Scriptschnipsel reichen:


    Die Ansagen erfolgen via (T.F.ev_IBIS_Ansagen). Dieser Trigger ist normalerweise in einem Makro aufgelistet. Zum Beispiel:

    Code
    {macro:TEST}
        ...
        (T.F.ev_IBIS_Ansagen)
        ...
    {end}


    Dieses Makro wird ebenfalls irgendwo im Script mittels (M.L.TEST) ausgeführt. In der Regel erfolgt dies bei "cp_microphone"... also wenn man die Taste Q drückt.


    Du musst nun dieses Makro verzögert abspielen lassen. Und zwar so lange, wie eben dein Gong gehen soll.

    Am Ende kann das also so aussehen:


  • Erstmal Danke für deine Hilfe.

    Also wenn dir tatsächlich Scriptschnipsel reichen

    Ja das war vielleicht etwas schlecht ausgedrückt, denn so gut bin ich doch nicht mit Scripts. Ein wenig verstehe ich, aber sowas selber schreiben haut eher nicht hin. Habe aber trotzdem mal meine Zusammenhänge von deiner Anleitung durchgeführt.

    Die Ansagen erfolgen via (T.F.ev_IBIS_Ansagen). Dieser Trigger ist normalerweise in einem Makro aufgelistet.

    Im IBIS Script habe ich genau diesen Makro gefunden:


    Diese Makroabfrage habe ich auch beim Mikrofon gefunden, da hieß der Begriff "cp_microphone" aber etwas anders.


    Also habe ich deine Anleitung wie folgt umgeschrieben:

    Der erste Fehler war, dass der Begriff "Ansagentimer" und "Ansagentimer_Time" nicht gefunden wurde, also hab ich die schnell in die Varlist mit eingetragen, leider auch kein gewünschter Erfolg.

  • Nee... "Snd_Microphone" ist ne Variable. Der Trigger heißt schon "cp_microphone". Du kannst nicht einfach ne Variable in einen Trigger umwandeln. Also, geht schon, aber wenn dem keine Taste zugewiesen ist, wird das nie ausgeführt. Du musst wirklich nach "cp_microphone" suchen.


    (T.L.NaechsteHaltestelle) - Hier muss aber der Gong abgespielt werden. ^^ Also musst du in der Sound-Datei einen neuen Sound definieren:

    Das was hinter dem T.L. steht, muss bei [trigger] darunter.


    Genau, "Ansagentimer" und "Ansagentimer_Time" musste noch in eine Varlist. :thumbup:

  • Nee... "Snd_Microphone" ist ne Variable. Der Trigger heißt schon "cp_microphone". Du kannst nicht einfach ne Variable in einen Trigger umwandeln.

    Siehste, da liegt dann schon mein kleiner Fehler immer, dass es manchmal nicht funktioniert. :D

    Du musst wirklich nach "cp_microphone" suchen.

    Habe ich auch in der Cockpit.osc allerdings gefunden.

    Habe daraus den folgenden Eintrag gemacht:

    Vermutlich kann es nicht zwei Trigger geben oder? Hab deinen sozusagen unten dran gebastelt.


    (T.L.NaechsteHaltestelle) - Hier muss aber der Gong abgespielt werden.

    Mein Gong im WAV Format heißt NaechsteHaltestelle.wav deswegen habe ich den auch so eingefügt. ^^

    Also muss theoretisch der Trigger immer noch genau so heißen oder?


    Habe auch den FRAME Eintrag ganz unten im Cockpit Script hinzugefügt, OMSI meldet aber aufgrund des "=>" einen Fehler und der Bus spawnt nicht. Nach entfernen davon spawnt der Bus normal, der Ton kam aber irgendwie nicht. Irgendwo muss also noch von mir ein Fehler sein. Habe ich die Einträge auch an die richtige Stelle gesetzt? Fehlt vor deinem Eintrag mit (L.L.Ansagentimer) 1 = ein "{macro:XYZ...}" was ich noch hinzufügen muss?

  • OMSI meldet aber aufgrund des "=>" einen Fehler und der Bus spawnt nicht.

    Okay dann weiß ich nicht, ob das vielleicht anders herum gehört (also: >=), ansonsten fügst du nur das ">" hinten ran. ^^ Dann geht es auf jeden Fall.


    Zwei Trigger kann es schon geben... du hättest aber auch einfach nur die zwei Zeilen bei dem einen mit einfügen können:

    Code
    {trigger:cp_microphone}
        1 (S.L.cp_microphone_sw)
        (T.L.NaechsteHaltestelle)
        1 (S.L.Ansagentimer)
    {end}
    
    {trigger:cp_microphone_off}
        0 (S.L.cp_microphone_sw)
    {end}


    Also muss theoretisch der Trigger immer noch genau so heißen oder?

    Wie gesagt: das, was hinter dem T.L. steht, wird in der Sounddatei bei [trigger] gesucht. Du kannst da jeden beliebigen Namen nutzen.

    Mich hatte nur deine Variable verwirrt! :D


    Fehlt vor deinem Eintrag mit (L.L.Ansagentimer) 1 = ein "{macro:XYZ...}" was ich noch hinzufügen muss?

    Nein. Makros müssten immer separat aufgerufen werden. Deswegen soll das in den frame-Abschnitt rein (in der Regel: macro:xxx_frame) damit OMSI dies dauerhaft überprüft.

  • So ich habe heute mal wieder Zeit zum basteln gefunden.

    Okay dann weiß ich nicht, ob das vielleicht anders herum gehört (also: >=), ansonsten fügst du nur das ">" hinten ran.

    Das = ist der Fehler gewesen, jetzt nur mit dem > geht das einwandfrei.

    Wie gesagt: das, was hinter dem T.L. steht, wird in der Sounddatei bei [trigger] gesucht. Du kannst da jeden beliebigen Namen nutzen.

    Mich hatte nur deine Variable verwirrt! :D

    Ja das war alles so gewollt. ^^


    Ich habe mal einen Test dazu durchgeführt und konnte zumindest feststellen, dass diese Ansagenverzögerung drin ist. Das ist schonmal sehr gut. Leider aber wird der Ton irgendwie nicht abgespielt, obwohl der Trigger der gleiche wie das im Script mit T.L. ist und der Soundname ist auch richtig eingetragen. In der Logfile wurde auch nichts von einem fehlendem Sound gespeichert, was natürlich sehr verwunderlich ist.

  • Ist der Gong evtl. zu leise?

    Und hast du den als wav abgespeichert?

  • Brogamer34 Was für ein Ton ist das denn überhaupt und wo kommt der im originalen Bus überhaupt her? :/


    Kommt der vielleicht von der Innenanzeige, die einen Dreiklang abspielt und die ziemlich frei hängt?


    Es gibt von Lawo LED-Anzeigen, die einen Bestätigungston abspielen, immer dann, wenn sie etwas empfangen haben.


    (Siehe MAN NG312 von Chrizzly.)

    Einmal editiert, zuletzt von Manuel ()

  • Ist der Gong evtl. zu leise?

    Und hast du den als wav abgespeichert?

    Den Gong habe ich als WAV drin, ebenso natürlich auch als Eintrag in der Sound.cfg.

    Und so sieht auch der Dateiname aus. Habe extra auch eine andere Sounddatei genommen (Abfahrtspiepen) um zu testen ob es an meinem Ton lag, aber auch der wurde nicht abgespielt vorher.



    Logfile sagt auch nichts. Irgendwo muss noch was fehlen, aber da bin ich gerade ratlos weil die Scriptnamen ja auch übereinstimmen.


    Was für ein Ton ist das denn überhaupt und wo kommt der im originalen Bus überhaupt her? :/

    Kommt der vielleicht von der Innenanzeige, die einen Dreiklang abspielt und die ziemlich frei hängt?

    Das ist eigentlich auch eine gute Frage, das haben nämlich nur zwei Fahrzeugtypen hier bei uns. Beide haben tatsächlich auch die selbe Innenanzeige und eine LAWO LED Matrix. Da kann es natürlich wirklich sein, dass der Ton von der Innenanzeige getriggert wird. Genauer kann ich es aber auch nicht sagen.

  • Ok, moment, ich versuche da jetzt mal ein Video meiner Innenanzeige zu machen, und dann geb mir mal Bescheid, ob das der Ton ist, den du meinst...


    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Und so sieht das im Omsi 2 NG312 aus:


    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Allerdings ist der Ton per setvar in der Repaint-cti auch abstellbar. Von der Position her befindet er sich auch direkt an beiden Anzeigen.

    3 Mal editiert, zuletzt von Manuel () aus folgendem Grund: Ein Beitrag von Manuel mit diesem Beitrag zusammengefügt.

  • Ok, moment, ich versuche da jetzt mal ein Video meiner Innenanzeige zu machen, und dann geb mir mal Bescheid, ob das der Ton ist, den du meinst...


    Ja genau exakt der Ton ist das. Die Anzeige ist genau so eine. Bei dem NG ist es aber umgesetzt im gleichen mit der Ansage. Bei mir soll es zumindest vor der Ansage ertönen, wie im realen auch.

  • Nö, ist nicht unbedingt mit der Ansage. Es kommt halt drauf an, wann die Ansage abgespielt wird. In Omsi wird die Ansage generell beim Weiterschalten abgespielt, und da ändert sich natürlich auch die Anzeige. Der Sound ist aber nur mit der Anzeige verbunden, nicht mit der Ansagendatei.


    Ich hab bei den Bad Kinzauer Ansagen nur keinen Ansagengong davor gemacht, weil das bei den Linguatec-Regionalverkehr-Ansagen so üblich ist, dass die ohne Ton kommen.


    Also theoretisch müsstest du das so übernehmen können, wie das bei dem NG312 gemacht worden ist. Nur wie genau, und was du übernehmen musst, das muss dir mal einer der anderen hier sagen. Das weiß ich nicht so genau.


    Eigentlich brauchst du nur eine Scriptänderung, die die Ansage erst abspielt, wenn der Ton zu Ende ist. :/ Also eine Art Timer. Oder, aber das ist die aufwendigere Lösung, du bearbeitest jede einzelne Ansagendatei, und setzt einen Stumm-Bereich vor die Ansage. :saint: Aber ich denke mal, mit einem Timer geht das sicher besser. Oder, IREgio612 ?:/

    2 Mal editiert, zuletzt von Manuel ()

  • Normalerweise werden Ansage und Anzeige zusammen getriggert... also man drückt "weiter", der Rechner benötigt nen kleinen Moment, und in dem Moment, in der die Anzeige umspringt ertönt auch die Ansage, und demzufolge dieser Dreiklangton. Letzten Endes kannste in OMSI auch einfach den Dreiklangton abspielen lassen, wenn du "Q" drückst. Wird ja eh alles sofort ausgelöst.

  • Also, die Anzeige schildert kurz nach der Abfahrt der letzten Haltestellen und die Ansage soll erst kurz vor der nächsten Haltestelle kommen.

    Ja so kenn' ich das auch. Der letzte Teil ist aber nicht ohne weiteres umsetzbar. OMSI kann lediglich das Verlassen einer Haltestelle erkennen, nicht etwa das Betreten.

    Man kann natürlich in der Hof-Datei Zahlen bei den Haltestellen eintragen, die den Abstand (bspw. in Metern) angeben. Nur dafür müsste wiederrum das Script abgeändert werden.


    Brogamer34 will hier einfach nur, dass zuerst der Dreiklangton kommt und dann eben die Ansage. Nun war eben die Frage, mit welcher Verzögerung. Er wollte erst den Ton haben und dann die Ansage, in echt wäre aber beides gleichzeitig. Und da die Ansage in OMSI ohnehin sofort nach drücken von "Q" ertönt, könnte man auch einfach zusätzlich den Dreiklang abspielen lassen.

  • Letzten Endes kannste in OMSI auch einfach den Dreiklangton abspielen lassen, wenn du "Q" drückst. Wird ja eh alles sofort ausgelöst.

    Genau das habe ich gerade probiert, aber selbst da wird der Ton zumindest nicht ausgelöst. Die Verzögerung beim automatischen weiterschalten ist aber weiterhin aktiv.

    Ok, aber er wollte ja eben, dass die Ansage erst kommt, wenn der Dreiklang von der Anzeige zuende ist...

    Genau so.

    Man kann natürlich in der Hof-Datei Zahlen bei den Haltestellen eintragen, die den Abstand (bspw. in Metern) angeben...

    So extrem ausarten soll das ganze dann auch nicht. ^^ Mir reicht eigentlich dieses simple Script dazu das sowas überhaupt eben abgespielt wird.

    Er wollte erst den Ton haben und dann die Ansage, in echt wäre aber beides gleichzeitig.

    Genau, ich kann eben auch nur von den hier realen Bedingungen erzählen, dass es hier zumindest so ist, dass der Ton immer vorher abgespielt wird und die Ansage immer erst exakt danach. Wie gesagt falls der Ton überhaupt in OMSI abgespielt werden würde, wäre das ja schon ein Fortschritt. Dann wäre es mir auch egal ob gleichzeitig oder eben verzögert. Hilft es dir wenn ich nochmal alle Script Änderungen offen lege? Kann eigentlich wirklich nicht sein das der Ton da nicht mitspielt.