“LlClearLinkMedia”的版本间的差异

来自人工智能助力教育知识百科
跳转至: 导航搜索
Kjf讨论 | 贡献
 
第12行: 第12行:
 
Link 需要是一个实际的链接编号,或者是一个等同于单个 prim 的链接常量,例如 link root 和 link this。
 
Link 需要是一个实际的链接编号,或者是一个等同于单个 prim 的链接常量,例如 link root 和 link this。
  
如果它的表面值表示一个不存在的面,那么这个函数就会无声地失败.
+
如果它的表面值表示一个不存在的面,那么这个函数就会静默失败.
  
 
|示例=
 
|示例=

2021年8月16日 (一) 11:27的最新版本

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);
    }
}
相关函数
llGetLinkNumber - 返回脚本所在 prim 的链接号。

llClearPrimMedia llSetLinkMedia llGetLinkMedia

相关事件