“LlClearLinkMedia”的版本间的差异
| 第4行: | 第4行: | ||
|函数名= Function:integer llClearLinkMedia(integer link,integer face); | |函数名= 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 | + | integer link - Link number (0:unlinked,1:root prim,>1:child prims and seated avatars)or a LINK*flag; |
ineger face - face number | ineger face - face number | ||
2020年4月13日 (一) 01:56的版本
| 首页 | 函数 | 事件 | 类型 | 操作符 | 常数 | Flow Control | Script Library | Categorized Library | Tutorials |
| 函数名 |
|---|
| 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);
}
}
|
| 相关函数 |
|---|
| llGetLinkNumber - Returns the link number of the prim the script is in. |
| 相关事件 |
|---|
| 无 |