PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Do-While Schleife in SQF


MagicStyle
15.08.2013, 21:20
Guten Abend ArmA-Scripter!
Ich würde gerne wissen ob es in SQF eine Do-While Schleife gibt. Es würde mich wundern wenn nicht.

Meine Internetrecherche hat leider nichts passendes ergeben.

Danke im Vorraus :-)

Gruß
MagicStyle

Sol.LrMartyn
16.08.2013, 12:40
Ähhh... Kann Dir jetzt so von unterwegs nicht sagen, ob es eine Do-While-Schleife gibt, aber ich dachte schon? Poste doch mal das Skript, dann können wir Dir vielleicht weiterhelfen.

MagicStyle
16.08.2013, 13:33
Danke aber brauch momentan keine Hilfe ;), ich hätte schon eine alternative,

ich brauch nur die Info ob es eine Do-While Schleife gibt und wie diese in SQF funktioniert. Ich bekomme jedenfalls bei jedem Versuch eine Anzuwenden Scriptfehler ausgegeben.

Gruß M.S.

Togo
16.08.2013, 13:34
Hi,

na klar gibts das:

_n = 35; // hier die Zeit einstellen
_i = 0;
While {_i <= _n}
do {
_i = _i + 1;
hintSilent format ["Nur noch: %1",_n - _i];
sleep 1;
};


Nachzulesen hier:
https://community.bistudio.com/wiki/while


Gruß Togo

MagicStyle
16.08.2013, 15:58
Hi Togo, erstmal danke für deine Antwort. Aber du hast dich leider verlesen, ich suche eine "Do-While" Schleife, du hast mir eine "While-Do" Schleife gepostet.

Trotzdem danke für deine Mühe ;)

Gruß
MagicStyle

MagicStyle
17.08.2013, 07:13
Komisch, wieso gibt es in SQF keine Do-While Schleife?! Das ist schließlich eine der wichtigsten Schleifen überhaupt :confused:

Vienna
17.08.2013, 14:54
Warum soll die wichtiger sein als die while-do?

MagicStyle
17.08.2013, 19:41
Warum soll die wichtiger sein als die while-do?
Wann habe ich das behauptet?
Gruß M.S.

Vienna
17.08.2013, 19:53
Da habe ich mich schlecht ausgedrückt. Warum hältst du diese Schleife für so wichtig und wo brauchst du sie?

MagicStyle
17.08.2013, 19:56
Weil dies neben der For-Schleife die einzige Möglichkeit ist wieder nach oben zum Script zu springen. (zumindest in SQF)
EDIT: ups, siehe meinen Beitrag weiter unten, das ist natürlich falsch

Buliwyf
17.08.2013, 20:16
http://community.bistudio.com/wiki/while

MagicStyle
17.08.2013, 20:29
Sorry, hab mich ausversehen komplett falsch ausgedrückt ^^

Ich meine Do-While ist die einzige Möglichkeit einen Code in einer Schleife mindestens einmal ausführen zu lassen, der Code in der Schleife wird auf jeden Fall mindestens einmal durchlaufen, erst am Ende wird überprüft ob die Schleife nochmal durchlaufen werden soll. Das war für meinen Code sehr wichtig, da es aber offenbar in SQF keine Do-While Schleife gibt, musste ich mit einer For-Schleife improvisieren.

@Buliwyf, Du hast dich offenbar genauso wie Togo verlesen, ich such eine "Do-While" Schleife, keine "While-Do" Schleife. Trotzdem danke für den Versuch ;)

Vienna
18.08.2013, 08:24
Der Unterschied von do-while und while-do ist mir bekannt. Den mindest einmaligen Durchlauf kriegt man auch mit etwas Tricksen mit der while-do hin. Da braucht man nicht auf eine For-Schleife ausweichen, wo ja auch getrickst werden muss.

MagicStyle
18.08.2013, 08:50
Ja das stimmt, müsste vielleicht auch irgendwie gehen. Aber würde es in SQF eine do-while Schleife geben, müsste man nicht viel rumtricksen, schade.