“LlRequestAgentData”的版本间的差异
(创建页面,内容为“{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = Function: key llRequestAgentData( key id, integer data ); |参数=…”) |
|||
| 第117行: | 第117行: | ||
! | ! | ||
! Type | ! Type | ||
| − | ! colspan=" | + | ! colspan="3" | Description |
|- | |- | ||
| [[DATA_ONLINE]] | | [[DATA_ONLINE]] | ||
| 1 | | 1 | ||
| ([[integer]]) boolean | | ([[integer]]) boolean | ||
| − | | colspan=" | + | | colspan="3" | 如果被请求的代理处于在线状态 |
|- | |- | ||
| [[DATA_NAME]] | | [[DATA_NAME]] | ||
| 2 | | 2 | ||
| [[string]] | | [[string]] | ||
| − | | colspan=" | + | | colspan="3" | 被请求代理的[[legacy name]] |
|- | |- | ||
| [[DATA_BORN]] | | [[DATA_BORN]] | ||
| 3 | | 3 | ||
| [[string]] | | [[string]] | ||
| − | | colspan=" | + | | colspan="3" | 账户创建/“born on”日期为一个字符串,格式为ISO 8601 YYYY-MM-DD。 |
|- | |- | ||
| [[DATA_RATING]] | | [[DATA_RATING]] | ||
| 4 | | 4 | ||
| [[llCSV2List()]] | | [[llCSV2List()]] | ||
| − | | colspan=" | + | | colspan="3" | '''Deprecated''': Returns [0, 0, 0, 0, 0, 0] |
Used to return: [pos_behavior, neg_behavior, pos_appearance, neg_appearance, pos_building, neg_building] | Used to return: [pos_behavior, neg_behavior, pos_appearance, neg_appearance, pos_building, neg_building] | ||
|- | |- | ||
| 第143行: | 第143行: | ||
| rowspan="3" | 8 | | rowspan="3" | 8 | ||
| rowspan="3" |([[integer]]) mask | | rowspan="3" |([[integer]]) mask | ||
| − | | '''Flag''' | + | | colspan="2" | '''Flag''' |
| '''Description''' | | '''Description''' | ||
|- | |- | ||
| − | | [[PAYMENT_INFO_ON_FILE]] 0x1 | + | | [[PAYMENT_INFO_ON_FILE]] |
| + | | 0x1 | ||
| 如果付款信息在档案中。 | | 如果付款信息在档案中。 | ||
|- | |- | ||
| − | | [[PAYMENT_INFO_USED]] 0x2 | + | | [[PAYMENT_INFO_USED]] |
| + | | 0x2 | ||
| 如果付款信息已经被使用。 | | 如果付款信息已经被使用。 | ||
|} | |} | ||
2020年7月24日 (五) 01:52的最新版本
| 首页 | 函数 | 事件 | 类型 | 操作符 | 常数 | Flow Control | Script Library | Categorized Library | Tutorials |
| 函数名 |
|---|
| Function: key llRequestAgentData( key id, integer data ); |
| 参数:• key id – avatar UUID
• integer data – DATA_* flag |
| 返回值:请求有关代理id的数据。当数据可用时,将引发dataserver事件
返回dataserver事件引发时的句柄(键)。 |
| 注意事项 |
|---|
| 这个函数使脚本休眠0.1秒。
DATA_BORN不是UTC。它以太平洋时间为基础。 值得重申的是:如果请求的数据不存在——或者如果给定的键不是针对代理的——那么将不会引发dataserver。 |
| 示例 |
|---|
DATA_NAME
key owner_key;
key owner_name_query;
string owner_name;
default
{
state_entry()
{
owner_key = llGetOwner();
owner_name_query = llRequestAgentData(owner_key, DATA_NAME);
}
dataserver(key queryid, string data)
{
if ( owner_name_query == queryid )
{
owner_name = data;
llSay(0, "The owner of this script is called : " + owner_name );
}
}
}//Anylyn Hax 06:19, 23 July 2007 (PDT)
DATA_ONLINE /*
服务器友好的在线状态示例由Daemonika Nightfire。
对于服务器来说,每2分钟检查一下该区域是否有一个角色并不会带来很大的负载。
但是,在该地区没有人的情况下触发dataserver事件来获取在线状态是毫无意义的。
为此,脚本每次检查该区域的化身数量。
*/
key owner;
float repeat = 120.0; // 60 - 120 sec. Recommended, faster than 60 seconds and LL will kick your XXX.
key status_request;
Status()
{
integer agent_count = llGetRegionAgentCount();
if(agent_count > 0) // 如果该区域内没有人,则跳过该请求
{
status_request = llRequestAgentData(owner, DATA_ONLINE);
}
}
default
{
state_entry()
{
owner = llGetOwner();
llSetTimerEvent(repeat);
Status();
}
timer()
{
Status();
}
dataserver(key queryid, string data)
{
if(queryid == status_request)
{
// requested data contains the string "0" or "1" for DATA_ONLINE
// i convert it to an integer and use the boolean as index
//list index = [ 0, 1, 2(0+2), 3(1+2) ]
list status = ["OFFLINE","ONLINE",<1,0,0>,<0,1,0>];
string text = llList2String(status,(integer)data); // boolean/index = 0 or 1
vector color = llList2Vector(status,(integer)data+2); // boolean/index = 0+2 or 1+2
llSetText(text, color, 1.0);
}
}
on_rez(integer Dae)
{
llResetScript();
}
}
|
| 相关函数 |
|---|
| llGetAgentInfo |
| 相关事件 |
|---|
| dataserver |
附录:(表格)
| data Constant | Type | Description | |||
|---|---|---|---|---|---|
| DATA_ONLINE | 1 | (integer) boolean | 如果被请求的代理处于在线状态 | ||
| DATA_NAME | 2 | string | 被请求代理的legacy name | ||
| DATA_BORN | 3 | string | 账户创建/“born on”日期为一个字符串,格式为ISO 8601 YYYY-MM-DD。 | ||
| DATA_RATING | 4 | llCSV2List() | Deprecated: Returns [0, 0, 0, 0, 0, 0]
Used to return: [pos_behavior, neg_behavior, pos_appearance, neg_appearance, pos_building, neg_building] | ||
| DATA_PAYINFO | 8 | (integer) mask | Flag | Description | |
| PAYMENT_INFO_ON_FILE | 0x1 | 如果付款信息在档案中。 | |||
| PAYMENT_INFO_USED | 0x2 | 如果付款信息已经被使用。 | |||