Difference between revisions of "Break Statement"

From NWN Lexicon
Jump to: navigation, search
Line 16: Line 16:
  
 
<nwscript>
 
<nwscript>
+
 
object oTarget = GetFirstPC();
+
object oTarget = GetFirstPC();
+
 
while (oTarget != OBJECT_INVALID)  
+
while (oTarget != OBJECT_INVALID)  
{
+
{
      int nStr = GetAbilityScore(oTarget, ABILITY_STRENGTH);
+
    int nStr = GetAbilityScore(oTarget, ABILITY_STRENGTH);
      if (nStr &gt; 12)  
+
    if (nStr &gt; 12)  
          break;
+
          break;
      oTarget = GetNextPC();
+
    oTarget = GetNextPC();
}
+
}
 
</nwscript>
 
</nwscript>
  

Revision as of 00:13, 26 August 2012

break Statement

Used to escape from a looping structure ( switch case statement.


If a break statement is executed from within a looping code block the loop will halt execution regardless of the condition controlling the loop. Any remaining statements within the code block will not be executed.


If a break statement is executed from within a case inside of a switch statement, all following case statements are ignored.


The following example searches for a PC with a strength score higher than 12, and repeats until there are no more PCs to search:

object oTarget = GetFirstPC();
 
while (oTarget != OBJECT_INVALID) 
{
     int nStr = GetAbilityScore(oTarget, ABILITY_STRENGTH);
     if (nStr &gt; 12) 
          break;
     oTarget = GetNextPC();
}

As soon as the loop finds a PC with a strength higher than 12 the break statement is called halting the loop and the search for a target. Note that if no PCs are present with a strength score higher than 12, the loop will not exit (seems to be a problem with GetNextPC).




 author: Ryan Hunt, editor: Charles Feduke, Mistress, additional contributor(s): Rich Dersheimer, Box, Scott Smith, bug finder: Pondo