Einzelnen Beitrag anzeigen
Alt 06.02.2012, 00:19   #20 (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

Zitat von Clawhammer Beitrag anzeigen

@Vienna, irgendwie reagieren die Schilder nicht auf "Scheiben_1_auf = true;"
Hab einen Auslöser gemacht aber es rührt sich nix :-(
thx4help

Ist ein Fehler im Skript (weil ich es nicht getestet habe).

Die Zeile sleep 2; einfügen! Man muss der Scheibe Zeit geben aufzuklappen, bevor man abfragt ob sie durch einen Treffer umgefallen ist.


Code:
/**
 * Zielscheibe steuern
 * 
 * Aufruf in der Initialisieurngszeile jeder Scheibe der Gruppe:
 *  temp = this execVM "Gruppe_1.sqf"
 *    
 * Verwendet 2 globale Variable die für jede Gruppe eine anders Skript
 *  und andere "laufende" Nummern haben müssen
 *  
 * Scheiben_1_auf      true stellt die Scheiben auf. 
 *                     Ist beim Spielstart auf false zu initialisieren.
 *                             
 * Scheiben_1_treffer  für das Speichern der Treffer der Gruppe.
 *                     Ist beim Spielstart auf 0 zu initialisieren. 
**/

private ["_scheibe","_zeit"];

_scheibe = _this;

_scheibe animate["terc", 1]; //Scheibe beim Start umlegen

//Dauerschleife
sleep 3;
while {true}do
 {
  waituntil {Scheiben_1_auf};  //Warten auf Aufstellbefehl
  _zeit = time + 6;            //Scheibe 6 Sekunden sichtbar (mindestens 4)
  _scheibe animate["terc", 0]; //Scheibe aufrichten
  sleep 2;
  //Warten auf Zeitablauf oder Treffer
  waituntil {time > _zeit or _scheibe animationPhase "terc" > 0.2};
  //Trefferabfrage
  if (_scheibe animationPhase "terc" > 0.2) then
   {
    Scheiben_1_treffer = Scheiben_1_treffer + 1
   };
  //Scheibe 3 Sekunden lang umlegen 
  for "_i" from 1 to 30 do 
   {
    _scheibe animate["terc", 1]; //Scheibe umlegen
    sleep 0.1
   };
  Scheiben_1_auf = false
 }
Vienna ist offline