Template:Needs Translation/
函数名
|
Function:integer llClearLinkMedia(integer link,integer face);
|
参数:integer link - Link number (0:unlinked,1:root prim,>1:child prims and seated avatars)or a LINK*flag
ineger face - face number
|
返回值:Returns a status (an integer)that is a STATUS_*flag which details the success/failure of the operation.
|
注意事项
|
link needs to be either an actual link number or a link constants that equate to a single prim, such as LINK_ROOT and LINK_THIS.
LINK_SET, LINK_ALL_CHILDREN and LINK_ALL_OTHERS will not work.
The function silently fails if its face value indicates a face that does not exist.
|
示例
|
// when dropping this script into an object
// it will remove all set media-on-a-prim
// on all sides of every prim and then
// the script will delete itself
integer GetPrimCount()
{
if(llGetAttached())
return llGetNumberOfPrims();
return llGetObjectPrimCount(llGetKey());
}
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 numOfPrims = GetPrimCount();
integer numOfSides;
integer link;
integer face;
if (1 < numOfPrims)
link = 1;
do
{
numOfSides = llGetLinkNumberOfSides(link);
face = 0;
do
{
integer clearLinkMediaSuccessFlag = llClearLinkMedia(link, face);
publish_returned_status_flag(link, face, clearLinkMediaSuccessFlag);
++face;
}
while (face < numOfSides);
if (numOfPrims == 1)
jump continue;
++link;
}
while (link <= numOfPrims);
@continue;
string thisScript = llGetScriptName();
llRemoveInventory(thisScript);
}
}
|