Einzelnen Beitrag anzeigen
Alt 05.06.2011, 09:51   #2 (permalink)
Vienna
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Schau in diesem Thread nach: Sound auf "Knopfdruck"?

Anzumerken ist noch, dass es ohne Skript nicht gehen wird, weil der Sound vor seinem Ende nur abgestellt werden kann wenn man das aufrufende Objekt löscht.

Wie z.B. in diesem Skript, welches in einem der Beispiele aus obigem Link verwendet wird und für den Sound ein zusätzliches unsichtbares Objekt verwendet.

Code:
// Aufruf Lokal | Vienna 11.01.2011
//
// Radio schaltet automatisch beim Einsteigen in ein Fahrzeug ein und beim Verlassen aus.
//
// 1. Aufruf schaltet Radio ein. Nächster Aufruf schaltet aus. usw.
//
// Aufruf:  temp = ["Soundname",Soundlänge]] execVM "Sound.sqf";
//
// Beispiel: temp = ["MeinSound",127] execVM "Sounds\Sound.sqf";
//  Wichtig, im 2. Übergabewert die Soundlänge eingeben (hier 127 Sekunden)! 
//
// In der description.ext ist die Klasse für den Sound einzufügen.

// Lokale Variable
 private ["_s","_l","_r","_t"];

// _s: Soundname aus dem Parameter in der Aktion laden
 _s = _this select 0;
 
// _l: Länge des Musikstücks (darf nicht viel kürzer sein, sonst Überschneidung)
 _l = _this select 1;
 
//Endlosschleife
while {true} do 
 {
  if (player != vehicle player AND alive player) then // Spieler in einem Fahrzeug
   {  
   
    // _r: unsichtbares Objekt
    _r = "HeliHEmpty" createVehicle getPos player;
    // Hauptschleife Sound starten (Wiederholung bis abgeschaltet wird)
    while {player != vehicle player AND alive player} do
     {
      // Sound starten
      _r say _s;
      // _t: nach Zeitablauf Sound neu starten
      _t = time + _l - 5;
      // Warteschleife bis Soundende und "Radio" dem Objekt _r nachsetzen
      while {_t > time AND player != vehicle player AND alive player} do 
       {
        _r setPos getPos player;
        sleep 1
       }
     };
     sleep 1; 
     deleteVehicle _r
   }; 
  sleep 1 
 }

Geändert von Vienna (05.06.2011 um 11:19 Uhr).
Vienna ist offline