“LlAttachToAvatar”的版本间的差异
(以“{| border="1" cellspacing="0" cellpadding="5" align="center" ! 这 ! 是 |- | 个 | 表格 |- |}”替换内容) (1个标签:替换) |
|||
| 第1行: | 第1行: | ||
| + | {{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} | ||
| + | |||
| + | |||
| + | {{函数详情 | ||
| + | |函数名=Function: llAttachToAvatar( integer attach_point ); | ||
| + | |参数= 将对象附加到已授予脚本权限的化身。对象将被带入用户资源清册并附加到附加点。 | ||
| + | |返回值= •整数附加点-附加常数或有效值(见下表) | ||
| + | 要运行此函数,脚本必须使用llRequestPermissions请求权限附加权限,并且必须由所有者授予该权限。 | ||
| + | 如果附加点为零,则对象将附加到它最近附加到的附加点。 | ||
| + | |||
{| border="1" cellspacing="0" cellpadding="5" align="center" | {| border="1" cellspacing="0" cellpadding="5" align="center" | ||
| − | ! | + | ! |
| − | ! | + | ! |
|- | |- | ||
| − | | | + | | |
| − | | | + | | |
|- | |- | ||
|} | |} | ||
| + | |||
| + | |||
| + | |注意事项=权限 | ||
| + | 不依赖于权限的自动授予状态。始终使用运行时权限事件。 | ||
| + | 如果脚本缺少权限附加,则脚本将在调试通道上喊出错误,操作将失败(但脚本将继续运行)。 | ||
| + | 如果所有者以外的任何人授予了权限附加,则当调用该函数时,将在调试通道上大喊错误。 | ||
| + | 一旦授予了权限附加权限,除了从脚本内部(例如,使用新的llRequestPermissions调用)或脚本被重置或删除之外,无法撤消该权限。 | ||
| + | 多个附件可以占用连接点。[1] | ||
| + | 这并不总是这样,以前如果attach_point被占用,则现有对象被分离,而新的附件取代了它。 | ||
| + | 如果禁用“在Mouselook中显示附件”,则附加到头部的对象(以及头部内的任何附件位置)在第一人称视图(也称为Mouselook)中将不可见。 | ||
| + | 如果attach_point为零,但对象以前从未附加过,则默认为右手(attach_RHAND)。 | ||
| + | 如果对象已附加,则无论附加点是否是不同的附加点,函数都会自动失败。--可控硅-137 | ||
| + | |||
| + | |||
| + | |示例= | ||
| + | 示例1 | ||
| + | <pre> | ||
| + | //-- rez object on ground, drop in this script, it will request permissions to attach, | ||
| + | //-- and then attach to the left hand if permission is granted. if permission is denied, | ||
| + | //-- then the script complains. | ||
| + | default | ||
| + | { | ||
| + | state_entry() | ||
| + | { | ||
| + | llRequestPermissions( llGetOwner(), PERMISSION_ATTACH ); | ||
| + | } | ||
| + | |||
| + | run_time_permissions( integer vBitPermissions ) | ||
| + | { | ||
| + | if ( vBitPermissions & PERMISSION_ATTACH ) | ||
| + | llAttachToAvatar( ATTACH_LHAND ); | ||
| + | else | ||
| + | llOwnerSay( "Permission to attach denied" ); | ||
| + | } | ||
| + | |||
| + | on_rez(integer rez) | ||
| + | { | ||
| + | if (!llGetAttached() ) //reset the script if it's not attached. | ||
| + | llResetScript(); | ||
| + | } | ||
| + | |||
| + | attach(key id) | ||
| + | { | ||
| + | // The attach event is called on both attach and detach, but 'id' is only valid on attach | ||
| + | if (id) | ||
| + | llOwnerSay( "The object is attached to " + llKey2Name(id) ); | ||
| + | else | ||
| + | llOwnerSay( "The object is not attached"); | ||
| + | } | ||
| + | } | ||
| + | </pre> | ||
| + | |||
| + | |||
| + | |||
| + | |相关函数= | ||
| + | [[llGetPermissions]]– Get the permissions granted | ||
| + | |||
| + | [[llGetPermissionsKey]] – Get the agent who granted permissions | ||
| + | |||
| + | [[llRequestPermissions]]– Request permissions | ||
| + | |||
| + | [[llAttachToAvatarTemp]]– Attach an object to any avatar but only temporarily | ||
| + | |||
| + | [[llDetachFromAvatar]] – Detaches the object from the avatar | ||
| + | |||
| + | [[llGetAttached]]– Gets the attach point number (that the object is attached to) | ||
| + | |||
| + | |||
| + | 文献: | ||
| + | [[Script permissions]] | ||
2020年5月18日 (一) 11:11的版本
| 首页 | 函数 | 事件 | 类型 | 操作符 | 常数 | Flow Control | Script Library | Categorized Library | Tutorials |
{{函数详情
|函数名=Function: llAttachToAvatar( integer attach_point );
|参数= 将对象附加到已授予脚本权限的化身。对象将被带入用户资源清册并附加到附加点。
|返回值= •整数附加点-附加常数或有效值(见下表)
要运行此函数,脚本必须使用llRequestPermissions请求权限附加权限,并且必须由所有者授予该权限。
如果附加点为零,则对象将附加到它最近附加到的附加点。
|注意事项=权限
不依赖于权限的自动授予状态。始终使用运行时权限事件。
如果脚本缺少权限附加,则脚本将在调试通道上喊出错误,操作将失败(但脚本将继续运行)。
如果所有者以外的任何人授予了权限附加,则当调用该函数时,将在调试通道上大喊错误。
一旦授予了权限附加权限,除了从脚本内部(例如,使用新的llRequestPermissions调用)或脚本被重置或删除之外,无法撤消该权限。
多个附件可以占用连接点。[1]
这并不总是这样,以前如果attach_point被占用,则现有对象被分离,而新的附件取代了它。
如果禁用“在Mouselook中显示附件”,则附加到头部的对象(以及头部内的任何附件位置)在第一人称视图(也称为Mouselook)中将不可见。
如果attach_point为零,但对象以前从未附加过,则默认为右手(attach_RHAND)。
如果对象已附加,则无论附加点是否是不同的附加点,函数都会自动失败。--可控硅-137
|示例=
示例1
//-- rez object on ground, drop in this script, it will request permissions to attach,
//-- and then attach to the left hand if permission is granted. if permission is denied,
//-- then the script complains.
default
{
state_entry()
{
llRequestPermissions( llGetOwner(), PERMISSION_ATTACH );
}
run_time_permissions( integer vBitPermissions )
{
if ( vBitPermissions & PERMISSION_ATTACH )
llAttachToAvatar( ATTACH_LHAND );
else
llOwnerSay( "Permission to attach denied" );
}
on_rez(integer rez)
{
if (!llGetAttached() ) //reset the script if it's not attached.
llResetScript();
}
attach(key id)
{
// The attach event is called on both attach and detach, but 'id' is only valid on attach
if (id)
llOwnerSay( "The object is attached to " + llKey2Name(id) );
else
llOwnerSay( "The object is not attached");
}
}
|相关函数= llGetPermissions– Get the permissions granted
llGetPermissionsKey – Get the agent who granted permissions
llRequestPermissions– Request permissions
llAttachToAvatarTemp– Attach an object to any avatar but only temporarily
llDetachFromAvatar – Detaches the object from the avatar
llGetAttached– Gets the attach point number (that the object is attached to)