Zum Absturz dürfe die Überlagerung nicht führen. Hier ein Beispiel für ein kleines Skript das unter Angabe der Unit, dem Soundnamen und der Soundlänge den Sound bis zum Tod dauernd wiederholt.
Aufrufbeispiel für den Mehrspielermodus in einem Mehrfach-Auslöser der auch nach dem Respawn den Sound bei der neuen Unit wieder startet:
Bedingung: alive Soldat1
Bei Akt.: temp = [Soldat1,"BlackAttack",80] execVM "Sound.sqf";
Sound.sqf
Code:
// Dauer-Sound an ein Objekt binden. Aufruf Lokal. [Vienna 11.11.2011]
//
// Skript muss nach Tod/Zerstörung der Unit neu aufgerufen werden.
//
// Aufruf: [UnitName,"Soundname",Soundlänge] execVM "Sound.sqf";
//
// Aufrufbeispiel für Mehrfach-Auslöser:
// Bedingung: alive Soldat1
// Bei Akt.: temp = [Soldat1,"BlackAttack",80] execVM "Sound.sqf";
//Lokale Variable
private ["_unit","_sound","_dauer","_zeit"];
//Parameter übernehmen
_unit = _this select 0;
_sound = _this select 1;
_dauer = _this select 2;
//Schleife bis Unit tod/zerstört
while {alive _unit} do
{
_unit say _sound; // Sound starten
_zeit = time + _dauer; // Soundlaufzeit feststellen
waitUntil {time > _zeit or !alive _unit} // warten bis Sound abgespielt oder Unit tod/zerstört
}
Das Sktipt-Beispiel ist aus der Mission im Anhang. Zu beachten ist dabei der eigene Pfad des Skripts und der Sounddatei und natürlich auch deren Namen sowie der Soundlänge.