[Opensim-users] New LSL compiler has gone live

Mike Mazur mmazur at gmail.com
Mon Jul 28 00:54:20 UTC 2008


Hello OpenSimmers,

In SVN revision 5683 the new LSL compiler has been turned on by default
for both DotNetEngine and XEngine.

You may experience your scripts breaking. If this is the case here's
what you should do, in order:

1. Check your script. Chances are it was not valid LSL and the previous
"compiler" didn't tell you so. Use the LSL Wiki[1] or the Second Life
Wiki LSL Portal[2] to learn more about LSL.

2. If your script is valid LSL and it's still not working, file a bug
in our issue tracker[3]. Please include the part of your script that is
causing problems.

Some common issues I've seen with scripts that work with the old
"compiler" but break with the new one are integers declared as int
instead of integer:

    int a = 4; // not valid LSL!
    integer a = 4; // this is correct

Custom function definitions that have a return type of void:

    void myfunction() // not valid LSL! remove the void keyword
    {
        llSay(0, "Hi from myfunction");
    }

    default
    {
        state_entry()
        {
            myfunction();
        }
    }

Custom functions defined after the default state:

    default
    {
        state_entry()
        {
            myfunction();
        }

        myfunction() // not valid LSL! function definitions must come
                     // before and outside any state
        {
            llSay(0, "Hi from myfunction");
        }
    }

Thank you and happy scripting!
Mike


[1] http://lslwiki.net/lslwiki/wakka.php?wakka=HomePage
[2] http://wiki.secondlife.com/wiki/LSL_Portal
[3] http://opensimulator.org/mantis



More information about the Opensim-users mailing list