YENGswitch

From OpenSimulator
Jump to navigationJump to search

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.