Difference between revisions of "LlClearPrimMedia"

From Second Life Wiki
Jump to navigation Jump to search
m
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Issues/SVC-4939}}{{LSL_Function/face|face|notall=*}}{{LSL_Function
{{LSL_Function
|inject-2={{Issues/SVC-4939}}{{LSL_Function/face|face|notall=*}}
|func_id=352|func_sleep=1.0|func_energy=10.0|mode
|func_id=352|func_sleep=1.0|func_energy=10.0|mode
|func=llClearPrimMedia|return_type=integer
|func=llClearPrimMedia|return_type=integer|return_subtype=status
|p1_type=integer|p1_name=face|p1_desc
|p1_type=integer|p1_name=face|p1_desc
|func_footnote=
|func_footnote=
|func_desc=Clears (deletes) the media and all {{HoverText|params|params specified by llSetPrimMediaParams}} from the given '''face'''.
|func_desc=Clears (deletes) the media and all {{HoverText|params|params specified by llSetPrimMediaParams}} from the given {{LSLP|face}}.
|return_text=that is a STATUS_* flag which details the success/failure of the operation.
|return_text=that is a STATUS_* flag which details the success/failure of the operation.
|spec=
|spec=
|caveats
|caveats
|constants={{LSL Constants/ReturnStatus|table=*|sortable=*}}
|constants={{LSL Constants/ReturnStatus|table=*|sortable=*}}
|examples
|examples=
<source lang="lsl2">
//  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);
    }
}
</source>
|helpers
|helpers
|also_functions=
|also_functions=

Latest revision as of 00:26, 22 January 2015

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 a status (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

//  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);
    }
}

See Also

Deep Notes

History

Signature

function integer llClearPrimMedia( integer face );