Difference between revisions of "LlClearPrimMedia"

From Second Life Wiki
Jump to navigation Jump to search
m
(added example script)
Line 10: Line 10:
|caveats
|caveats
|constants={{LSL Constants/ReturnStatus|table=*|sortable=*}}
|constants={{LSL Constants/ReturnStatus|table=*|sortable=*}}
|examples
|examples=
<lsl>
//  when dropping this script into a prim
//  it will remove all set media-on-a-prim
//  on all sides of the prim containing the script
//  and then the script will delete itself
 
 
 
publish_returned_status_flag(integer inputLink, integer inputFace, integer inputStatus)
{
    /* if (inputInteger == 0) */ string outputStatus = "STATUS_OK";
    if (inputStatus == 1000) outputStatus = "STATUS_MALFORMED_PARAMS";
    else if (inputStatus == 1001) outputStatus = "STATUS_TYPE_MISMATCH";
    else if (inputStatus == 1002) outputStatus = "STATUS_BOUNDS_ERROR";
    else if (inputStatus == 1003) outputStatus = "STATUS_NOT_FOUND";
    else if (inputStatus == 1004) outputStatus = "STATUS_NOT_SUPPORTED";
    else if (inputStatus == 1999) outputStatus = "STATUS_INTERNAL_ERROR";
    else if (inputStatus == 2001) outputStatus = "STATUS_WHITELIST_FAILED";
 
    // PUBLIC_CHANNEL has the integer value 0
    llSay(PUBLIC_CHANNEL, "llClearLinkMedia(link " + (string)inputLink
        + ", face " + (string)inputFace + ") = " + outputStatus + ";");
}
 
default
{
    state_entry()
    {
        integer link = llGetLinkNumber();
        integer numOfSides = llGetLinkNumberOfSides(link);
        integer face;
 
        do
        {
            integer clearMediaSucceeded = llClearPrimMedia(face);
            publish_returned_status_flag(link, face, clearMediaSucceeded);
 
            ++face;
        }
        while (face < numOfSides);
 
        string thisScript = llGetScriptName();
        llRemoveInventory(thisScript);
    }
}
</lsl>
|helpers
|helpers
|also_functions=
|also_functions=

Revision as of 11:15, 12 October 2012

Summary

Function: integer llClearPrimMedia( integer face );
1.0 Forced Delay
10.0 Energy

Clears (deletes) the media and all params from the given face.
Returns an integer that is a STATUS_* flag which details the success/failure of the operation.

• integer face face number

Success/Failure Flags Description
STATUS_OK 0 Result of function call was success
STATUS_MALFORMED_PARAMS 1000 Function was called with malformed parameters
STATUS_TYPE_MISMATCH 1001 Argument(s) passed to function had a type mismatch
STATUS_BOUNDS_ERROR 1002 Argument(s) passed to function had a bounds error
STATUS_NOT_FOUND 1003 Object or other item was not found
STATUS_NOT_SUPPORTED 1004 Feature not supported
STATUS_INTERNAL_ERROR 1999 An internal error occurred
STATUS_WHITELIST_FAILED 2001 Whitelist Failed

Caveats

  • This function causes the script to sleep for 1.0 seconds.
  • The function silently fails if its face value indicates a face that does not exist.

Examples

<lsl> // when dropping this script into a prim // it will remove all set media-on-a-prim // on all sides of the prim containing the script // and then the script will delete itself


publish_returned_status_flag(integer inputLink, integer inputFace, integer inputStatus) {

   /* if (inputInteger == 0) */ string outputStatus = "STATUS_OK";
   if (inputStatus == 1000) outputStatus = "STATUS_MALFORMED_PARAMS";
   else if (inputStatus == 1001) outputStatus = "STATUS_TYPE_MISMATCH";
   else if (inputStatus == 1002) outputStatus = "STATUS_BOUNDS_ERROR";
   else if (inputStatus == 1003) outputStatus = "STATUS_NOT_FOUND";
   else if (inputStatus == 1004) outputStatus = "STATUS_NOT_SUPPORTED";
   else if (inputStatus == 1999) outputStatus = "STATUS_INTERNAL_ERROR";
   else if (inputStatus == 2001) outputStatus = "STATUS_WHITELIST_FAILED";
   // PUBLIC_CHANNEL has the integer value 0
   llSay(PUBLIC_CHANNEL, "llClearLinkMedia(link " + (string)inputLink
       + ", face " + (string)inputFace + ") = " + outputStatus + ";");

}

default {

   state_entry()
   {
       integer link = llGetLinkNumber();
       integer numOfSides = llGetLinkNumberOfSides(link);
       integer face;
       do
       {
           integer clearMediaSucceeded = llClearPrimMedia(face);
           publish_returned_status_flag(link, face, clearMediaSucceeded);
           ++face;
       }
       while (face < numOfSides);
       string thisScript = llGetScriptName();
       llRemoveInventory(thisScript);
   }

}

</lsl>

See Also

Deep Notes

History

Signature

function integer llClearPrimMedia( integer face );