Verschiedene Sounddateien für eine Funktion wechselnd abspielen?

Das Forum befindet sich im reduzierten Betrieb. Die Addon- und Supportforen bleiben weiterhin verfügbar.
Bitte beachte, dass OMSI nicht mehr weiterentwickelt wird. Ein Teil der Entwickler widmet sich inzwischen der Entwicklung eines neuen Simulators. Weitere Informationen zum LOTUS-Simulator findest Du hier.
  • Hallo Leute!


    Ich habe mal wieder eine Frage, und zwar habe ich beim Citaro O530 von Alterr einen Summer hinzugefügt der ertönt wenn alle Türen geschlossen sind ( Abfertigungssignal wenn alle Türen geschlossen sind? ).
    Und da sich dieser Summer im Realen nicht immer gleich anhört, wollte ich Fragen ob es möglich währe einen Script zu erstellen das jedes Mal wenn der Summer ertönt eine andere Sounddatei abgespielt wird?
    Z.b. beim ersten Mal die Summer1.wav dann die Summer2.wav usw. und dann wieder von vorne.


    Ist es möglich so etwas in Omsi 2 umzusetzen?


    Ich habe leider keinerlei Erfahrung mit dem Scripten.

    :S



    dani96

  • Das lässt sich problemlos umsetzen:

    Code
    1. "Summer_" 4 random $IntToStr $+ ".wav" $+ (T.F.ev_Summer)


    Zur Erklärung:
    - 4 random generiert eine ganzzahlige Zufallszahl kleiner als 4 (also 0-3).
    - Diese wird dann in den Dateinamen eingefügt, sodass sich daraus etwa Summer_1.wav ergibt.
    - (T.F.ev_Summer) übergibt diesen schließlich an OMSI und spielt ihn ab.


    Dateiname und Zufallsgenerator musst du dir natürlich auf deine Bedürfnisse anpassen, ebenso den Namen des Soundtriggers.

  • Hallo SchulterSack!


    Vielen Dank für deine Antwort!


    Genau dass habe ich gesucht, nur leider bin ich mir gerade nicht sicher in welche Datei ich diesen eintrag hinzufügen muss.?


    Dateiname habe ich schon, wie kann ich aber den Zufallsgenerator anpasssen?
    Soundtrigger ist der vom auslöser der die Datei abspielt oder? Das währe in meinem fall "ev_door_closed_signal" wenn ich mich nicht irre.


    Könntest du mir hier noch weiterhelfen?


    dani96

  • Du musst einfach die bisherigen Aufrufe des Soundtriggers durch meinen Code ersetzen.


    Beispiel alt:

    Code
    1. ' Summer abspielen
    2. (T.L.ev_door_closed_signal)


    Beispiel neu:

    Code
    1. ' Summer abspielen
    2. "Summer_" 4 random $IntToStr $+ ".wav" $+ (T.F.ev_door_closed_signal)


    Den Zufallsgenerator kannst du einfach über die Zahl "4" ändern. Trage hier deinen gewünschten Wert ein.

  • Dankeschön, jetzt kenne ich mich schon ein bisschen besser aus

    ;)


    Soweit so gut, jetzt habe ich den Code in die door.osc unter "macro:Door_Init" eigefügt und für die Sounddateien einen Neuen Ordner Namens: "Door Closed Signal" eigefügt.
    Es sind 4 Dateien die ich "door_closed_signal_0.wav" bis "door_closed_signal_3.wav" benannt habe. Mein letztes Problem ist jetzt noch dass ich nicht weis was ich jetzt in der Sound.cfg eintragen muss?
    Derzeit steht: "Door Closed Signal/door_closed_signal_0.wav" und bei Trigger: "ev_door_closed_signal". Aber wenn ich das ganze jetzt Teste, spielt OMSI immer nur die "door_closed_signal_0.wav" ab.


    Wass muss ich jetzt noch ändern in der Sound.cfg?


    Sorry aber ich bin Scripttechnisch wirklich nicht sehr gut begabt.



    dani96

  • Okay das heisst ich kann den alten eintrag eigentlich aus der Sound.cfg löschen?


    Den Code habe ich in die door.osc unter {macro: Door_Init} eingefügt:


  • Nein, der Eintrag in der Sound.cfg muss bestehen bleiben.
    Durch diesen weiß OMSI erst, an welcher Position und in welcher Lautstärke das Ganze abgespielt werden soll.
    Lediglich die Angabe eines Dateinamens wird dadurch überflüssig.


    Hast du das Skript in das door_init-Makro eingefügt oder darunter (also in den door_frame)?
    Im Init-Abschnitt wird der Code nur einmalig am Anfang ausgeführt, kann also nicht wie gewünscht funktionieren.
    Ansonsten kann ich keine Fehler im Code erkennen, der müsste so eigentlich funktionieren.

  • Ok ich verstehe! Dann lass ich den Eintrag in der Sound.cfg einmal stehen.
    So und nun zum Skript, ja das habe ich in die door_frame kopiert, genau an die Stelle wo schon der alte Skript für das Signal war.
    Ich habe nur den Befehl:


    Code
    1. (T.L.ev_door_closed_signal)


    gegen diesen ersetzt:


    Code
    1. "door_closed_Signal_" 4 random $IntToStr $+ ".wav" $+ (T.F.ev_door_closed_signal)


    Aber leider tut sich überhaupt nichts in OMSI.


    Ich kann dir nur einmal beschreiben wie das ganze so ungefähr jetzt aussieht bei mir.:
    - Die Sound Dateien "door_closed_signal_0.wav" bis "door_closed_Signal_3.wav" habe ich jetzt einfach in den Ordner "Sound-Citaro" (Morphi Upgrade ist Installiert!) kopiert.
    - Abfertigungssignal Skript nach nemeza´s Tutorial Installiert.
    - Deinen Skript wie oben beschrieben gegen den Alten getauscht.
    - In der Sound.cfg nur link zur .wav Datei entfernt:



    Ich weis nicht was da Falsch läuft

    :S



    dani96

  • Ja das habe ich gefunen:


    Warning: Soundfile vehicles\MB_O530_Wien\sound-citaro\ does not exist!


    Sonst leider nichts.

  • Also ich habe den Code gerade mal bei mir getestet und da funktioniert er tadellos.
    Ich kann dir nur den Rat geben, nochmal gründlich deinen Rahmen-Code sowie die Sounds an sich zu überprüfen (im richtigen Ordner?, im richtigen Format?, ...).

  • Oh Okay, seltsam!


    Ich habe gerade nochmal alles überprüft aber leider kein erfolg, es wird immer noch der alte Ton abgespielt.
    Sounds sind auch im richtigen Format und im "Sound-Citaro" Ordner. Sogar in den Standart "Sound" Ordner habe ich die Sounds Testweise hinein kopiert.


    An die .wav Dateien muss ich ja eh eine Zahl zum Schluss dranhängen oder? Wir z.b. "door_closed_Signal_0.wav".