<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-CN">
	<id>http://i.bnu.edu.cn/wiki/index.php?action=history&amp;feed=atom&amp;title=LlGetParcelPrimOwners</id>
	<title>LlGetParcelPrimOwners - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="http://i.bnu.edu.cn/wiki/index.php?action=history&amp;feed=atom&amp;title=LlGetParcelPrimOwners"/>
	<link rel="alternate" type="text/html" href="http://i.bnu.edu.cn/wiki/index.php?title=LlGetParcelPrimOwners&amp;action=history"/>
	<updated>2026-06-01T03:38:45Z</updated>
	<subtitle>本wiki的该页面的版本历史</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>http://i.bnu.edu.cn/wiki/index.php?title=LlGetParcelPrimOwners&amp;diff=385&amp;oldid=prev</id>
		<title>Mkx：创建页面，内容为“{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}}   {{函数详情 |函数名 = Function:  list llGetParcelPrimOwners( vector pos ); |参数= 参数…”</title>
		<link rel="alternate" type="text/html" href="http://i.bnu.edu.cn/wiki/index.php?title=LlGetParcelPrimOwners&amp;diff=385&amp;oldid=prev"/>
		<updated>2020-05-31T15:36:14Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}}   {{函数详情 |函数名 = Function:  list llGetParcelPrimOwners( vector pos ); |参数= 参数…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{函数详情&lt;br /&gt;
|函数名 = Function:  list llGetParcelPrimOwners( vector pos );&lt;br /&gt;
|参数= 参数：vector pos – 区域坐标中的位置&lt;br /&gt;
|返回值= 返回值：返回在pos拥有地块上的对象并使用了单个土地影响的所有居民和组的列表。列表的格式为[key ownerKey1，integer agentImpact1，key ownerKey2，integer agentImpact2。。。]，并按代理/组键排序，最大步幅为100步。&lt;br /&gt;
&lt;br /&gt;
|注意事项= 此函数使脚本睡眠2.0秒。              &lt;br /&gt;
&lt;br /&gt;
如果此功能所在对象的所有者当前未联机且未连接到sim，则Function将不会在集体所有的土地上工作（尽管现在似乎正在为私有土地的所有者工作，即使所有者不在身边）。&lt;br /&gt;
&lt;br /&gt;
  这些限制可以通过将对象定义为对象所有者所属的组来克服。&lt;br /&gt;
  在做决定之前记得要复印一份，因为你不可能得到某样东西。&lt;br /&gt;
&lt;br /&gt;
需要对包具有类似所有者的权限。&lt;br /&gt;
&lt;br /&gt;
  Ownership &lt;br /&gt;
  如果地块所有者和对象所有者相同（包括对象和地块都是集团所有的情况下）：              &lt;br /&gt;
     返回所有对象所有者。              &lt;br /&gt;
  如果包裹归集团所有，但对象归集团成员所有，则函数返回取决于授予的权限：              &lt;br /&gt;
     如果住户拥有“归还集团拥有的物品”的权力：              &lt;br /&gt;
         返回列表包括它在地块上拥有的对象的组和LI。              &lt;br /&gt;
     如果常驻程序具有“返回组设置对象”权限：             &lt;br /&gt;
         返回列表包括将对象设置为地块上的组的所有所有者              &lt;br /&gt;
     如果住户具有“返回非组对象”权限              &lt;br /&gt;
         返回列表包括不属于上述两类的对象的所有所有者。              &lt;br /&gt;
  如果以上情况都不匹配，则返回空列表。&lt;br /&gt;
|示例=&lt;br /&gt;
显示以逗号分隔的用户ID及其原始计数列表。键1，计数1，键2，计数2。。。。等。&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        list TempList = llGetParcelPrimOwners( llGetPos() );&lt;br /&gt;
        llSay(0, llList2CSV(TempList) );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
使用浮动文本按计数顺序显示原始所有者名称和计数&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// 显示此地块上原始所有者的浮动文本列表，按每个所有者的原始计数排序。最高用户优先。&lt;br /&gt;
// Omei Qunhua&lt;br /&gt;
 &lt;br /&gt;
// 对象具有与其所有者相同的权限来查看原始地块所有者（在“关于土地&amp;gt;&amp;gt;对象&amp;gt;&amp;gt;对象所有者”中）&lt;br /&gt;
 &lt;br /&gt;
// 示例：如果不能返回组对象，则看不到组对象              &lt;br /&gt;
//如果不能返回任何对象，将返回空列表。 &lt;br /&gt;
//如果prim被认为是正确的组，它应该总是得到一个完整的列表&lt;br /&gt;
 &lt;br /&gt;
// Note: 仅当对象所有者在Sim中时，才在集团所有的土地上工作&lt;br /&gt;
//       Deeded objects always work (group is always online?)&lt;br /&gt;
 &lt;br /&gt;
list    gListCountsAndOwners;       // 排序列表计数+所有者对&lt;br /&gt;
list    gListNamesAndCounts;        // 所有者名称列表+原始计数&lt;br /&gt;
integer gOffset;&lt;br /&gt;
integer gIndex;&lt;br /&gt;
key     gDataserverID;&lt;br /&gt;
integer gListLength;&lt;br /&gt;
 &lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llSetText(&amp;quot;Parcel Prim Owner List\n&amp;quot;, &amp;lt;1,1,1&amp;gt;, 1);&lt;br /&gt;
        list TempList = llGetParcelPrimOwners( llGetPos() );&lt;br /&gt;
        gListLength= llGetListLength(TempList);      &lt;br /&gt;
        if (!gListLength)&lt;br /&gt;
        {&lt;br /&gt;
            llSetText(&amp;quot;[ERROR]\n Couldn't get Parcel Prim Owners&amp;quot;, &amp;lt;1,0,0&amp;gt;, 1);&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            // 生成一份适合按计数排序的列表副本，即计数然后按键 &lt;br /&gt;
            integer x;&lt;br /&gt;
            for ( ; x &amp;lt; gListLength; x += 2)&lt;br /&gt;
            {&lt;br /&gt;
                gListCountsAndOwners += llList2Integer(TempList, x+1);&lt;br /&gt;
                gListCountsAndOwners += llList2String(TempList, x);&lt;br /&gt;
            }&lt;br /&gt;
            // 按原始计数的降序排列列表&lt;br /&gt;
            gListCountsAndOwners = llListSort(gListCountsAndOwners, 2, FALSE);&lt;br /&gt;
            // 查找每个所有者的名称。从排序列表的开头开始&lt;br /&gt;
            gDataserverID = llRequestAgentData( llList2String(gListCountsAndOwners, 1), DATA_NAME );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    dataserver( key request_id, string data)&lt;br /&gt;
    {&lt;br /&gt;
        string TempStr = &amp;quot;Parcel Prim Owner List\n&amp;quot;;&lt;br /&gt;
        if ( request_id == gDataserverID )&lt;br /&gt;
        {&lt;br /&gt;
            gListNamesAndCounts += data;&lt;br /&gt;
            gListNamesAndCounts += llList2String(gListCountsAndOwners, gIndex);  // 将计数作为字符串处理&lt;br /&gt;
 &lt;br /&gt;
            gIndex += 2;               // 快速浏览单子&lt;br /&gt;
            if (gIndex &amp;lt; gListLength )&lt;br /&gt;
            {&lt;br /&gt;
                // 查找列表中下一个所有者的名称&lt;br /&gt;
                gDataserverID = llRequestAgentData( llList2String(gListCountsAndOwners, gIndex +1) , DATA_NAME );&lt;br /&gt;
            }&lt;br /&gt;
            integer x;&lt;br /&gt;
            for (; x &amp;lt; 16; x+=2)       // 从“gOffset”开始，显示列表的8名子集&lt;br /&gt;
            {&lt;br /&gt;
                // 如果我们超出了列表的末尾，我们只会得到空值，所以不会造成伤害&lt;br /&gt;
                TempStr += llList2String(gListNamesAndCounts, gOffset+x) + &amp;quot; : &amp;quot; + llList2String(gListNamesAndCounts, gOffset+x+1) + &amp;quot;\n&amp;quot;;&lt;br /&gt;
            }&lt;br /&gt;
            llSetText(TempStr, &amp;lt;1,1,1&amp;gt;, 1);&lt;br /&gt;
            if ( (gListNamesAndCounts != []) &amp;gt; 14)       // 如果列表超过14（7个所有者+计数）。。。&lt;br /&gt;
            {&lt;br /&gt;
                gOffset += 2;   // 向前滚动列表&lt;br /&gt;
                llSleep(2);     // 每隔2秒&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    touch_start(integer total_number)&lt;br /&gt;
    {&lt;br /&gt;
        llResetScript();        // 触摸，重新开始整个过程&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|相关函数=无&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Mkx</name></author>
		
	</entry>
</feed>