Einzelnen Beitrag anzeigen
Alt 13.12.2012, 09:59   #16 (permalink)
Drunken Officer
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard

Code:
_blub = _this select 0; 
_dam1  = -1;
while {alive _blub} do
{
  _no   = nearestObjects [_blub,"car",15];
  _dam  = getDammage _blub;               
    player  commandChat format ["%1",_no]; 
  {
waitUntil {getDammage _x != _dam1}; _dam1 = getDammage _x;
     player  globalChat format ["_x: %1  Schaden: %2", _x, _dam1];
     } forEach _no; 
  sleep   2.5
};

player commandChat format ["%1",_no];
Wenn sich kein Fahrzeug im Bereich befindet kommt; .... [];

Das "Problem" ist, dass sich der letzte Schaden innerhalb der Werkstatt gemerkt wird. Erst wenn das Fahrzeug aus dem Bereich ist UND außerhalb neuen Schaden nimmt, erst dann kann bei einem anderen neuem Fahrzeug der Wert bestimmt werden.
Nach meiner Logik müßte also ausgelesen werden, dass wenn der Bereich null ist, der _dam1 = -1 ist.
Ich habe des mit
if (!isNull _no) then {...} probiert. Da stürzt das Script ab.
if (_no == "") oder auch if(_no == []) führten nicht zum Erfolg.

Wie kann ich auslesen ob der Wert im Array == 0 ist?
Drunken Officer ist offline