YENGswitch

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (Line number clarification)
 
(9 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":
+
 
    {
+
<source lang="lsl">
        TurnLeft ();
+
switch (command)
        break;
+
{
    }
+
    case 4:
    case "turnright":
+
    {
    {
+
        llSay(PUBLIC_CHANNEL, "4");
        TurnRight ();
+
        break;
          break;
+
    }
    }
+
    case 5 ... 20:
    default: llOwnerSay ("dont know how to handle " + command);
+
    {
}
+
        // ... defines a range
 +
        llSay(PUBLIC_CHANNEL, "r");
 +
        break;
 +
    }
 +
    default: llOwnerSay ("Dont know how to handle " + command);
 +
}
 +
</source >
 +
 
 +
Other:
 +
 
 +
<source lang="lsl">
 +
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);
 +
}
 +
</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