Difference between revisions of "LlGetOwnerKey"

From Second Life Wiki
Jump to navigation Jump to search
m
m (rewording comments in example script and made variable local)
Line 13: Line 13:
* Also returns {{LSLP|id}} for avatars, use [[llGetAgentSize]] instead to distinguish them from prims that do not exist.
* Also returns {{LSLP|id}} for avatars, use [[llGetAgentSize]] instead to distinguish them from prims that do not exist.
|constants
|constants
|examples=<lsl>key owner;
|examples=
 
<lsl>
default
default
{
{
     state_entry()
     on_rez(integer start_param)
     {
     {
         owner = llGetOwner();
         llResetScript();
        llListen(1, "", "", "");
     }
     }
     on_rez(integer a)
 
     state_entry()
     {
     {
         owner = llGetOwner();
    //  listen to anything talking on channel 1
         llListen(1, "", NULL_KEY, "");
     }
     }
     listen(integer chan, string name, key id, string msg)
 
     listen(integer channel, string name, key id, string message)
     {
     {
         if(llGetOwnerKey(id) == owner)
         key ownerOfThisObject = llGetOwner();
        {//Only triggers if what spoke is the owner or if they share the same owner
        key ownerOfSpeaker = llGetOwnerKey(id);
             llOwnerSay(name + " has the same owner as me ^_^");
 
    // if whoever is talking is the owner of this object
    //  or if the owner of the object talking is the owner of this object
        if (ownerOfSpeaker == ownerOfThisObject)
        {
             llOwnerSay("'" + name + "' has the same owner as me ^_^");
         }
         }
     }
     }
}</lsl>
}
</lsl>
|helpers
|helpers
|also_functions={{LSL DefineRow||[[llKey2Name]]|}}
|also_functions={{LSL DefineRow||[[llKey2Name]]|}}

Revision as of 03:17, 25 November 2012

Summary

Function: key llGetOwnerKey( key id );
0.0 Forced Delay
10.0 Energy

Returns a key that is the owner of prim id

• key id prim UUID that is in the same region

Caveats

  • Returns id if id is not found in the region or is not a prim.
    • Owner information becomes unavailable immediately on derez or detach. For example, if a prim chats at derez or detach time, id can be returned even inside listen events of nearby objects. SVC-5095
  • Also returns id for avatars, use llGetAgentSize instead to distinguish them from prims that do not exist.

Examples

<lsl> default {

   on_rez(integer start_param)
   {
       llResetScript();
   }
   state_entry()
   {
   //  listen to anything talking on channel 1
       llListen(1, "", NULL_KEY, "");
   }
   listen(integer channel, string name, key id, string message)
   {
       key ownerOfThisObject = llGetOwner();
       key ownerOfSpeaker = llGetOwnerKey(id);
   //  if whoever is talking is the owner of this object
   //  or if the owner of the object talking is the owner of this object
       if (ownerOfSpeaker == ownerOfThisObject)
       {
           llOwnerSay("'" + name + "' has the same owner as me ^_^");
       }
   }

}

</lsl>

See Also

Functions

•  llKey2Name
•  llRequestAgentData
•  llGetObjectDetails
•  llGetOwner

Deep Notes

Signature

function key llGetOwnerKey( key id );