OsAvatarType

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
 
(5 intermediate revisions by one user not shown)
Line 1: Line 1:
 
{{osslfunc
 
{{osslfunc
|function_syntax=integer osAvatarType(key avatarKey)
+
|function_syntax=integer osAvatarType(key avatarKey)<br>
 +
integer osAvatarType(string avatarFirstName, string avatarLastName)
 +
 
 
|csharp_syntax=
 
|csharp_syntax=
|description=Returns:
+
|description=Returns the type of a avatar in region:
  
 
* < 0 in case of error
 
* < 0 in case of error
* 0 if avatar not found
+
* 0 if avatar not found in region
 
* 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 16:
 
|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
// tell you if the specified key is an NPC or not.
+
// tell you the avatar type
  
 +
// This is the default state definition
 
default
 
default
 
{
 
{
 +
    // This function is called when the script enters the default state
 
     state_entry()
 
     state_entry()
 
     {
 
     {
 +
        // Setting up a listener on channel 1, listening for any message from the owner
 
         llListen(1, "", llGetOwner(), "");     
 
         llListen(1, "", llGetOwner(), "");     
 
     }
 
     }
      
+
     listen(integer channel , string name, key id, string message)
+
     // This function is called when the script receives a message on the specified channel
 +
     listen(integer channel, string name, key id, string message)
 
     {
 
     {
         if(channel == 1)
+
        // Checking if the message was received on channel 1
 +
         if (channel == 1)
 
         {
 
         {
             integer isNPC = osIsNpc((key)message); //Get information on the key.
+
             // Calling osAvatarType function to determine the type of the avatar
             string keyInfo = llKey2Name((key)message) + " (" + message + ")";
+
             llOwnerSay(osAvatarType((key)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.");
+
            }
+
 
         }   
 
         }   
 
     }
 
     }
 
}
 
}
 +
  
 
</source>
 
</source>
 
|additional_info=This function was added in 0.9.2.0
 
|additional_info=This function was added in 0.9.2.0
 
}}
 
}}

Latest revision as of 02:07, 7 March 2024

integer osAvatarType(key avatarKey)

integer osAvatarType(string avatarFirstName, string avatarLastName)

Returns the type of a avatar in region:
  • < 0 in case of error
  • 0 if avatar not found in region
  • 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 the avatar type
 
// This is the default state definition
default
{
    // This function is called when the script enters the default state
    state_entry()
    {
        // Setting up a listener on channel 1, listening for any message from the owner
        llListen(1, "", llGetOwner(), "");    
    }
 
    // This function is called when the script receives a message on the specified channel
    listen(integer channel, string name, key id, string message)
    {
        // Checking if the message was received on channel 1
        if (channel == 1)
        {
            // Calling osAvatarType function to determine the type of the avatar
            llOwnerSay(osAvatarType((key)message));
        }   
    }
}
Notes
This function was added in 0.9.2.0


Personal tools
General
About This Wiki