exitWith – Talk

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
m (Text replacement - "<code>" to "<code style="display: block">")
 
(9 intermediate revisions by 6 users not shown)
Line 11: Line 11:


If the exit condition is true, both sideChats are executed. Any comments? Or am I just stating the obvious? :)  --[[User:Ceeeb|Ceeeb]] 10:04, 7 May 2007 (CEST)
If the exit condition is true, both sideChats are executed. Any comments? Or am I just stating the obvious? :)  --[[User:Ceeeb|Ceeeb]] 10:04, 7 May 2007 (CEST)
:Seems so, yes. Good find. --[[User:Raedor|raedor]] 12:33, 7 May 2007 (CEST)
::Yes, it only exits the ''current level'' (or "block" or "scope" or whatever). So that behaviour would be expected.
::Do this, for example, and it should become a bit more obvious:
::<code style="display: block">for "_j" from 1 to 10 do <br>  {<br>  player sideChat format["%1",_j];<br>  if (_j==5) exitWith {player sideChat "5 is enough"};<br>  };<br> player sideChat "Complete";</code>
::--[[User:Kronzky|Kronzky]] 16:37, 7 May 2007 (CEST)

Latest revision as of 12:53, 11 January 2023

It seems this command exits the current "scope" (is this the correct term?), rather than the current script file. Is this correct?

Example code, started using execVM:

<stuff>
for "_j" from 1 to _value do 
 {
  <stuff>
  if (<exit condition>) exitWith {player sideChat "Cancelled"};
 };
player sideChat "Complete";

If the exit condition is true, both sideChats are executed. Any comments? Or am I just stating the obvious? :) --Ceeeb 10:04, 7 May 2007 (CEST)

Seems so, yes. Good find. --raedor 12:33, 7 May 2007 (CEST)
Yes, it only exits the current level (or "block" or "scope" or whatever). So that behaviour would be expected.
Do this, for example, and it should become a bit more obvious:
for "_j" from 1 to 10 do
{
player sideChat format["%1",_j];
if (_j==5) exitWith {player sideChat "5 is enough"};
};
player sideChat "Complete";
--Kronzky 16:37, 7 May 2007 (CEST)