OsNpcStand
From OpenSimulator
(Difference between revisions)
												
			m (Change See Also)  | 
			|||
| (5 intermediate revisions by 2 users not shown) | |||
| Line 2: | Line 2: | ||
{{osslfunc  | {{osslfunc  | ||
|threat_level=High  | |threat_level=High  | ||
| − | |permissions=${  | + | |permissions=${OSSL|osslNPC}  | 
|delay=0  | |delay=0  | ||
|function_syntax=osNpcStand(key npc)  | |function_syntax=osNpcStand(key npc)  | ||
| − | |||
|description=*Makes a sitting NPC stand up.  | |description=*Makes a sitting NPC stand up.  | ||
| + | |ossl_example=<source lang="lsl">  | ||
| + | //  | ||
| + | // osNpcStand Script Exemple  | ||
| + | // Author: djphil  | ||
| + | //  | ||
| + | |||
| + | key npc;  | ||
| + | integer sit;  | ||
| + | |||
| + | default  | ||
| + | {  | ||
| + |     state_entry()  | ||
| + |     {  | ||
| + |         llSay(PUBLIC_CHANNEL, "Touch to see osNpcStand usage.");  | ||
| + |     }  | ||
| + | |||
| + |     touch_start(integer number)  | ||
| + |     {  | ||
| + |         key toucher = llDetectedKey(0);  | ||
| + |         vector npcPos = llGetPos() + <1.0, 0.0, 1.0>;  | ||
| + |         osAgentSaveAppearance(toucher, "appearance");  | ||
| + |         npc = osNpcCreate("ImYour", "Clone", npcPos, "appearance");  | ||
| + |         state hasNPC;  | ||
| + |     }  | ||
| + | }  | ||
| + | |||
| + | state hasNPC  | ||
| + | {  | ||
| + |     state_entry()  | ||
| + |     {  | ||
| + |         llSetTimerEvent(5.0);  | ||
| + |     }  | ||
| + | |||
| + |     timer()  | ||
| + |     {  | ||
| + |         llSetTimerEvent(0.0);  | ||
| + | |||
| + |         if (sit == TRUE)  | ||
| + |         {  | ||
| + |             osNpcSay(npc, "Goodbye!");  | ||
| + |             llSetTimerEvent(0.0);  | ||
| + |             osNpcStand(npc);  | ||
| + |             osNpcRemove(npc);  | ||
| + |             npc = NULL_KEY;  | ||
| + |             sit = FALSE;  | ||
| + |             state default;  | ||
| + |         }  | ||
| + | |||
| + |         else  | ||
| + |         {  | ||
| + |             sit = TRUE;  | ||
| + |             osNpcSit(npc, llGetKey(), OS_NPC_SIT_NOW);  | ||
| + |             osNpcSay(npc, "Hello world!");  | ||
| + |         }  | ||
| + |     }  | ||
| + | |||
| + |     touch_start(integer number)  | ||
| + |     {  | ||
| + |         osNpcStand(npc);  | ||
| + |         llSetTimerEvent(3.0);  | ||
| + |     }  | ||
| + | }  | ||
| + | </source>  | ||
|additional_info=This function was added in 0.7.2-post-fixes  | |additional_info=This function was added in 0.7.2-post-fixes  | ||
}}  | }}  | ||
| + | == See Also ==  | ||
| + | * [[osNpcSit]]  | ||
| + | * [[osNpcStand]]  | ||
Latest revision as of 18:55, 5 December 2020
|  This article or section contains incomplete information. Please help us by completing the content on this page.  | 
osNpcStand(key npc)
 
 | |
  | |
| Threat Level | High | 
| Permissions | ${OSSL|osslNPC} | 
| Extra Delay | 0 seconds | 
| Example(s) | |
// // osNpcStand Script Exemple // Author: djphil // key npc; integer sit; default { state_entry() { llSay(PUBLIC_CHANNEL, "Touch to see osNpcStand usage."); } touch_start(integer number) { key toucher = llDetectedKey(0); vector npcPos = llGetPos() + <1.0, 0.0, 1.0>; osAgentSaveAppearance(toucher, "appearance"); npc = osNpcCreate("ImYour", "Clone", npcPos, "appearance"); state hasNPC; } } state hasNPC { state_entry() { llSetTimerEvent(5.0); } timer() { llSetTimerEvent(0.0); if (sit == TRUE) { osNpcSay(npc, "Goodbye!"); llSetTimerEvent(0.0); osNpcStand(npc); osNpcRemove(npc); npc = NULL_KEY; sit = FALSE; state default; } else { sit = TRUE; osNpcSit(npc, llGetKey(), OS_NPC_SIT_NOW); osNpcSay(npc, "Hello world!"); } } touch_start(integer number) { osNpcStand(npc); llSetTimerEvent(3.0); } }  | |
| Notes | |
| This function was added in 0.7.2-post-fixes | |
[edit] See Also
- osNpcSit
 - osNpcStand