OsAvatarType

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
Line 2: Line 2:
 
|function_syntax=integer osAvatarType(key avatarKey)
 
|function_syntax=integer osAvatarType(key avatarKey)
 
|csharp_syntax=
 
|csharp_syntax=
|description=Returns:
+
|description=Returns a avatar type:
  
 
* < 0 in case of error
 
* < 0 in case of error
Line 8: Line 8:
 
* 1 if it is a normal avatar
 
* 1 if it is a normal avatar
 
* 2 if it is a NPC
 
* 2 if it is a NPC
 +
  
 
|threat_level=ignored
 
|threat_level=ignored
Line 13: Line 14:
 
|delay=0
 
|delay=0
 
|ossl_example=<source lang="lsl">
 
|ossl_example=<source lang="lsl">
 
  
 
// This script listens for a key on channel 1 which will then
 
// This script listens for a key on channel 1 which will then
Line 29: Line 29:
 
         if(channel == 1)
 
         if(channel == 1)
 
         {
 
         {
             integer isNPC = osIsNpc((key)message); //Get information on the key.
+
             llOwnerSay(osAvatarType((key)message));
            string keyInfo = llKey2Name((key)message) + " (" + message + ")";
+
       
+
            if(isNPC) //Supplied key is an NPC
+
                llOwnerSay(keyInfo + " is an NPC.");
+
           
+
            else if(!isNPC)
+
            {
+
                //We now know that the supplied key isn't an NPC.
+
                //Let's find out if the key exists as an agent or not.
+
               
+
                if(llGetAgentSize((key)message) != ZERO_VECTOR) //Supplied key is an agent and not an npc
+
                    llOwnerSay(keyInfo + " is an AGENT and not an NPC");
+
                   
+
                else //Supplied key is either not an NPC or the NPC doesn't exist
+
                    llOwnerSay(keyInfo + " is either not an NPC or the NPC does not exist.");
+
            }
+
 
         }   
 
         }   
 
     }
 
     }

Revision as of 08:03, 21 April 2021

integer osAvatarType(key avatarKey)
Returns a avatar type:
  • < 0 in case of error
  • 0 if avatar not found
  • 1 if it is a normal avatar
  • 2 if it is a NPC
Threat Level This function does not do a threat level check
Permissions Use of this function is always allowed by default
Extra Delay 0 seconds
Example(s)
// This script listens for a key on channel 1 which will then
// tell you if the specified key is an NPC or not.
 
default
{
    state_entry()
    {
        llListen(1, "", llGetOwner(), "");    
    }
 
    listen(integer channel , string name, key id, string message)
    {
        if(channel == 1)
        {
            llOwnerSay(osAvatarType((key)message));
        }   
    }
}
Notes
This function was added in 0.9.2.0


Personal tools
General
About This Wiki