LlGetAgentList
De DigiWiki.
Version du 25 juin 2012 à 23:49 par Djphil (discuter | contributions)
//Displays up to 100 avatar key: name pairs detected in the entire region list gaAgents; default { touch_start(integer total_number) { integer i; integer liCount; gaAgents = llGetAgentList(AGENT_LIST_REGION, []); liCount = llGetListLength(gaAgents); if (liCount > 0) if (llGetListEntryType(gaAgents,0) == TYPE_STRING) llOwnerSay("Error: "+llList2String(gaAgents,0)); else for (i=0; i < liCount; ++i) llOwnerSay(llList2String(gaAgents,i)+": "+llKey2Name(llList2String(gaAgents,i))); } }
//Orders new list based off distance, and returns //then on touch_start default { touch_start(integer num){ list keys = llGetAgentList(AGENT_LIST_REGION,[]); list newkeys; integer i; for (i=0; i < llGetListLength(keys); ++i){ newkeys += llVecDist(llGetPos(), llList2Vector(llGetObjectDetails(llList2Key(keys,i), [OBJECT_POS]), 0)); newkeys += llList2Key(keys,i); } newkeys = llListSort(newkeys, 2, FALSE); for (i=0; i < llGetListLength(newkeys); ++i){ llOwnerSay(llGetDisplayName(llList2Key(newkeys,i+1)) + " ["+(string)llRound(llList2Float(newkeys, i)) + "m]"); ++i; } } }