YENGswitch

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (Line number clarification)
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
switch can only work in integer expressions, or strings<br>
 
switch can only work in integer expressions, or strings<br>
 
break, default and '...' are keywords used with it.<br>
 
break, default and '...' are keywords used with it.<br>
 +
Make sure to add yoptions; to the second line of the script, usually line number 1 starting from 0.
 +
Simple string (command) example:
  
simple string (command) example:
+
<source lang="lsl">
 +
switch (command)
 +
{
 +
    case "turnleft":
 +
    {
 +
        TurnLeft ();
 +
        break;
 +
    }
 +
    case "turnright":
 +
    {
 +
        TurnRight ();
 +
        break;
 +
    }
 +
    default: llOwnerSay ("Dont know how to handle " + command);
 +
}
 +
</source >
  
switch (command)
+
A simple integer example
{
+
... can be used to define a range
    case "turnleft":
+
    {
+
        TurnLeft ();
+
        break;
+
    }
+
    case "turnright":
+
    {
+
        TurnRight ();
+
          break;
+
    }
+
    default: llOwnerSay ("dont know how to handle " + command);
+
}
+
  
a simple integer example
+
<source lang="lsl">
 +
switch (command)
 +
{
 +
    case 4:
 +
    {
 +
        llSay(PUBLIC_CHANNEL, "4");
 +
        break;
 +
    }
 +
    case 5 ... 20:
 +
    {
 +
        // ... defines a range
 +
        llSay(PUBLIC_CHANNEL, "r");
 +
        break;
 +
    }
 +
    default: llOwnerSay ("Dont know how to handle " + command);
 +
}
 +
</source >
  
switch (command)
+
Other:
{
+
 
    case 4:
+
<source lang="lsl">
    {
+
switch (command)
        llSay(0, "4");
+
{
        break;
+
    case 4:
    }
+
        llSay(PUBLIC_CHANNEL, "4");
    case 5 ... 20:
+
        break;
    {
+
    case 5 ... 20:
      // ... defines a range
+
        llSay(PUBLIC_CHANNEL, "5 to 20");
      llSay(0, "r");
+
        break;
      break;
+
    case 22:
    }
+
    case 27:
    default: llOwnerSay ("dont know how to handle " + command);
+
        llSay(PUBLIC_CHANNEL, "other");
}
+
        break;
 +
    default: llOwnerSay ("dont know how to handle " + command);
 +
}
 +
</source >
 +
 
 +
The different case ranges can not overlap.
 +
 
 +
[[Category:Scripts]]

Latest revision as of 14:02, 16 March 2021

switch can only work in integer expressions, or strings
break, default and '...' are keywords used with it.

Make sure to add yoptions; to the second line of the script, usually line number 1 starting from 0.

Simple string (command) example:

switch (command)
{
    case "turnleft":
    {
        TurnLeft ();
        break;
    }
    case "turnright":
    {
        TurnRight ();
        break;
    }
    default: llOwnerSay ("Dont know how to handle " + command);
}

A simple integer example ... can be used to define a range

switch (command)
{
    case 4:
    {
        llSay(PUBLIC_CHANNEL, "4");
        break;
    }
    case 5 ... 20:
    {
        // ... defines a range
        llSay(PUBLIC_CHANNEL, "r");
        break;
    }
    default: llOwnerSay ("Dont know how to handle " + command);
}

Other:

switch (command)
{
    case 4:
        llSay(PUBLIC_CHANNEL, "4");
        break;
    case 5 ... 20:
        llSay(PUBLIC_CHANNEL, "5 to 20");
        break;
    case 22:
    case 27:
        llSay(PUBLIC_CHANNEL, "other");
        break;
    default: llOwnerSay ("dont know how to handle " + command);
}

The different case ranges can not overlap.

Personal tools
General
About This Wiki