Template:Needs Translation/
函数名
|
Function:integer llClearLinkMedia(integer link,integer face);
|
参数:
整数 link-link 数(0: unlinked,1: root prim,1: child prims and seated avatars)或 link * 标志;
整数 face - face数字
|
返回值:返回一个状态(一个整数) ,这是一个状态 * 标志,详细说明了操作的成功 / 失败。
|
注意事项
|
Link 需要是一个实际的链接编号,或者是一个等同于单个 prim 的链接常量,例如 link root 和 link this。
如果它的表面值表示一个不存在的面,那么这个函数就会无声地失败.
|
示例
|
// 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);
}
}
|