Difference between revisions of "Return"

From Second Life Wiki
Jump to navigation Jump to search
m (actually using the new defined function)
Line 45: Line 45:
     touch_start(integer detected)
     touch_start(integer detected)
     {
     {
         if(WhoAreYou(llDetectedKey(0)) != "Named User")
         string name = WhoAreYou(llDetectedKey(0));  // store the name of the one who touched the object
         return;  // leave the event because the toucher is not "Named User"
        if(name != "Philip Linden")
         llSay(0, "I have been touched by " + WhoAreYou(llDetectedKey(0)));  //Only if the "Named User" touches the object.
         return;  // leave the event because the toucher is not "Philip Linden"
         llSay(0, "OMG PHILIP LINDEN TOUCHED MA BOX!!!");  // just Philip Linden may read this
        // in case he's ever bored and tests this script
     }
     }
}</lsl>
}</lsl>

Revision as of 16:11, 4 August 2009

The correct title of this article is return. The initial letter is shown capitalized due to technical restrictions.

return value;

return value;
• type value value or variable to be returned by the function, the type must be the same as that to be returned by the function.

Used to return execution to the previous scope along with a value.

Functions

Exits the function and continues script execution in the previous scope.

Events

Causes the script to crash. Events cannot return a value. Use the next form of this keyword instead.

return;

Used to prematurely return execution to the previous scope before reaching the end of the function/event. You do not need to use this at the end of an event or function, as it is assumed by the compiler.

Functions

Exits the function and continues script execution in the previous scope.

Events

Exits the event and removes it from the event queue. If there is another event in the queue, that event is triggered.

Caveats

  • There is a bug in the compiler and it will let you return a value with events, which when encountered at runtime will cause the script to crash.
    • Do not try to return a value in the event scope if you do not wish your script to crash.

Examples

<lsl>integer Goodbye() {

   llOwnerSay("Goodbye");
   return 0;

}

Hello() {

   llOwnerSay("Hello");
   return;

}</lsl><lsl>// Very great thanks to Darling Brody for helping me understand this.

string WhoAreYou(key id) {

   return (llKey2Name(id)); // return the value established

}

default {

   touch_start(integer detected)
   {
       string name = WhoAreYou(llDetectedKey(0));  // store the name of the one who touched the object 
       if(name != "Philip Linden")
       return;  // leave the event because the toucher is not "Philip Linden"
       llSay(0, "OMG PHILIP LINDEN TOUCHED MA BOX!!!");  // just Philip Linden may read this 
       // in case he's ever bored and tests this script
   }

}</lsl>

See Also

Keywords

•  jump
•  state