22.01.2014, 00:33 | #1 (permalink) |
Registriert seit: 22.01.2014
Beiträge: 55
|
Mehrfach if in while do... Typ Bool, erwartet if
Da ich es einfach nicht auf die Kette bekomme das Tasks im MP nach einem Revive oder Respawn vernünftig gesynct werden dachte ich, ich mach es so.... hab schon diverse varianten durch, dies ist die am besten nicht funzt...
schal0 - 9 sind Helferobjekte die durch auslöser gelöscht werden. Wo hab ich das Haar in der Suppe? Ich hab auch mittlerweile Brainlag... kann mir bitte mal jemand auf die Sprünge helfen? Der fehler lautet Typ Bool, erwartet if?? // Aufruf momentan noch durch auslöser nul = [schal0,schal1,schal2,schal3,schal4,schal5,schal6,s chal7,schal8,schal9,schalende] execVM "taskchecker.sqf" _schal0 = _this select 0; _schal1 = _this select 1; _schal2 = _this select 2; _schal3 = _this select 3; _schal4 = _this select 4; _schal5 = _this select 5; _schal6 = _this select 6; _schal7 = _this select 7; _schal8 = _this select 8; _schal9 = _this select 9; _schalende =_this select 10; //hint format ["Was ist: %1",_schal8]; while {alive _schalende} do { if !(alive _schal0) then {task1 setTaskState "Succeeded"}; if !(alive _schal0) && !(alive _schal1) then {task2 setTaskState "Succeeded"}; if !(alive _schal0) && !(alive _schal1) && !(alive _schal2) then {task3 setTaskState "Succeeded"}; if !(alive _schal0) && !(alive _schal1) && !(alive _schal2) && !(alive _schal3)then {task4 setTaskState "Succeeded"}; if !(alive _schal8) then {task2 setTaskState "Canceled"}; sleep 1; hint "durch"; }; hint "ende"; muchas mille vielen lieben Dank... |
22.01.2014, 07:37 | #3 (permalink) |
Registriert seit: 02.11.2010
Beiträge: 113
|
Was oder wofür steht eigentlich die Variable "schalende"?
Zudem bevorzuge ich bei so vielen !alive hintereinander um Längen die _x Abfrage, da diese IMHO weitaus übersichtlicher ist ... Code:
if ({!alive _x} count [_schal0,_schal1,_schal2,_schal3,_schal4] == 5) then {task4 setTaskState "Succeeded"}; Geändert von JanIs (22.01.2014 um 07:48 Uhr). |
22.01.2014, 10:33 | #4 (permalink) |
Registriert seit: 22.01.2014
Beiträge: 55
|
ja, so gehts...
Japp...
while {alive schalende} do { if ({!alive _x} count [schal0] == 1) then {task1 setTaskState "Succeeded"}; if ({!alive _x} count [schal0,schal1] == 2) then {task2 setTaskState "Succeeded"}; if ({!alive _x} count [schal0,schal1,schal2] == 3) then {task3 setTaskState "Succeeded"}; if ({!alive _x} count [schal0,schal1,schal2,schal3] == 4) then {task4 setTaskState "Succeeded"}; if ({!alive _x} count [schal8] == 1) then {task2 setTaskState "Succeeded"}; sleep 1; hint "durch"; }; hint "ende"; so läuft es... das übergeben der schal an_schal kann eingespart werden. schalende ist das Missionsende, aber auch nur ein helfer der gelöscht wird. DANKE... |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Error if: typ zeichenfolge, erwartet bool | JanIs | Editing & Scripting | 2 | 09.01.2014 09:22 |
While do frage | Viperz2000 | Editing & Scripting | 2 | 16.12.2013 14:52 |
- Evolution Blue und Hohei für [OA] und [A2]- | Pfandgiraffe | Usermade Missions | 155 | 26.08.2011 19:11 |
Fehlermeldungen bei Schüssen | GER_CJ-187 | Technische Fragen & Probleme | 2 | 22.11.2010 12:47 |