OsNpcStand
From OpenSimulator
(Difference between revisions)
(Add exemple) |
|||
| Line 5: | Line 5: | ||
|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 | ||
| + | // Authior: 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(5.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 | ||
}} | }} | ||
Revision as of 14:43, 30 November 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 // Authior: 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(5.0); } } | |
| Notes | |
| This function was added in 0.7.2-post-fixes | |