OsNpcLookAt

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(More description)
 
(5 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
|csharp_syntax=
 
|csharp_syntax=
 
|description=
 
|description=
 +
<div style="background-color:#FFA0A0; padding:10px; padding-bottom:5px; border: 1px #FF544F solid">
 +
'''Caution !''' still experimental, subject to changes
 +
</div>
  
 
* npckey : The key of the npc.
 
* npckey : The key of the npc.
* type : the type of the lookat a integer < 11, for now, not that clear how viewers do handle them
+
* type : the type of the lookat
 
* targetkey : a object or avatar target
 
* targetkey : a object or avatar target
* offset : a offset relative to that target or if target is nullkey a GLOBAL position.
+
* offset : a offset relative to that target in that target local coordinates, or if target is nullkey a GLOBAL position.
 +
 
 +
This sends a viewer lookat effect relative to that npc to all avatars in region.<br>
 +
This will make those viewers turn the npc head and eyes to the target position plus offset, if the current head animation priority is lower than the viewers defined head movement priority, usually 1.
 +
 
 +
type defines what kind of event or attention. They have viewer defined priorities relative to each other
 +
Only the one with higher priority will play.
 +
 
 +
type constants:
 +
 
 +
* NPCLOOKAT_NONE = 0; nothing
 +
* NPCLOOKAT_IDLE = 1; mouse movements
 +
* NPCLOOKAT_LISTEN = 2; listing to nearby chat
 +
* NPCLOOKAT_FREELOOK = 3;
 +
* NPCLOOKAT_RESPOND = 4; begin of typing
 +
* NPCLOOKAT_HOVER = 5; mouse hovering on a object
 +
* NPCLOOKAT_CONVERSATION = 6;
 +
* NPCLOOKAT_SELECT = 7; object grabbed
 +
* NPCLOOKAT_FOCUS = 8; focused on a object or point
 +
* NPCLOOKAT_MOUSELOOK = 9; mouse look
 +
* NPCLOOKAT_CLEAR = 10; should clear current one ?
 +
 
 +
What does happen to the npc is viewer dependent and also may also depend on the npc gender.
 +
 
 +
For example to set normal look forward like idle mouse
 +
osNpcLookAt(npckey, NPCLOOKAT_IDLE, npckey, <2.5, 0.0, 0.0>); // (looks to npc position plus 2.5m on x that is its front direction)
 +
 
 +
function will return a integer < 0 on error
 +
-1 invalid type
 +
-2 could not parse npckey
 +
-3 npc not found on region
 +
-4 could not parse targetkey
 +
-5 target key is not null key, or there is no agent or object with that key in region
 +
 
  
To set "normal" look fw osNpcLookAt
 
osNpcLookAt(npckey, 1, npckey, <2.5, 0.0, 0.0>); // (target is the npc, offset = positive x)
 
  
 
|threat_level=ignored
 
|threat_level=ignored
 
|permissions=true
 
|permissions=true
 
|delay=0
 
|delay=0
|ossl_example=<source lang="lsl">
 
//
 
// Example of osNpcLookAt
 
//
 
 
default
 
{
 
    state_entry()
 
    {
 
        ...
 
        osNpcLookAt(...);
 
        ...
 
    }
 
}
 
</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:17, 17 February 2021

integer osNpcLookAt(key npckey, integer type, key targetkey, vector offset)

Caution ! still experimental, subject to changes

  • npckey : The key of the npc.
  • type : the type of the lookat
  • targetkey : a object or avatar target
  • offset : a offset relative to that target in that target local coordinates, or if target is nullkey a GLOBAL position.

This sends a viewer lookat effect relative to that npc to all avatars in region.
This will make those viewers turn the npc head and eyes to the target position plus offset, if the current head animation priority is lower than the viewers defined head movement priority, usually 1.

type defines what kind of event or attention. They have viewer defined priorities relative to each other Only the one with higher priority will play.

type constants:

  • NPCLOOKAT_NONE = 0; nothing
  • NPCLOOKAT_IDLE = 1; mouse movements
  • NPCLOOKAT_LISTEN = 2; listing to nearby chat
  • NPCLOOKAT_FREELOOK = 3;
  • NPCLOOKAT_RESPOND = 4; begin of typing
  • NPCLOOKAT_HOVER = 5; mouse hovering on a object
  • NPCLOOKAT_CONVERSATION = 6;
  • NPCLOOKAT_SELECT = 7; object grabbed
  • NPCLOOKAT_FOCUS = 8; focused on a object or point
  • NPCLOOKAT_MOUSELOOK = 9; mouse look
  • NPCLOOKAT_CLEAR = 10; should clear current one ?

What does happen to the npc is viewer dependent and also may also depend on the npc gender.

For example to set normal look forward like idle mouse

osNpcLookAt(npckey, NPCLOOKAT_IDLE, npckey, <2.5, 0.0, 0.0>); // (looks to npc position plus 2.5m on x that is its front direction)

function will return a integer < 0 on error

-1 invalid type
-2 could not parse npckey
-3 npc not found on region
-4 could not parse targetkey
-5 target key is not null key, or there is no agent or object with that key in region
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
Notes
This function was added in 0.9.2.0


Personal tools
General
About This Wiki