OsNpcStopAnimation
From OpenSimulator
(Difference between revisions)
m (Added permissions and delay information) |
m (Change See Also) |
||
(5 intermediate revisions by 3 users not shown) | |||
Line 4: | Line 4: | ||
|description=Stops an animation that is being played by the NPC identified by their key. | |description=Stops an animation that is being played by the NPC identified by their key. | ||
|threat_level=High | |threat_level=High | ||
− | |permissions=${ | + | |permissions=${OSSL|osslNPC} |
|delay=0 | |delay=0 | ||
− | |ossl_example= | + | |ossl_example=<source lang="lsl"> |
− | |additional_info= | + | // |
+ | // osNpcStopAnimation Script Exemple | ||
+ | // Author: djphil | ||
+ | // | ||
+ | |||
+ | string animation = "sit_ground"; | ||
+ | integer ani; | ||
+ | key npc; | ||
+ | |||
+ | default | ||
+ | { | ||
+ | state_entry() | ||
+ | { | ||
+ | llSay(PUBLIC_CHANNEL, "Touch to see osNpcStopAnimation 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 (ani == TRUE) | ||
+ | { | ||
+ | osNpcSay(npc, "Goodbye!"); | ||
+ | llSetTimerEvent(0.0); | ||
+ | osNpcStand(npc); | ||
+ | osNpcRemove(npc); | ||
+ | npc = NULL_KEY; | ||
+ | ani = FALSE; | ||
+ | state default; | ||
+ | } | ||
+ | |||
+ | else | ||
+ | { | ||
+ | ani = TRUE; | ||
+ | osNpcPlayAnimation(npc, animation); | ||
+ | osNpcSay(npc, "Hello world!"); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | touch_start(integer number) | ||
+ | { | ||
+ | osNpcStopAnimation(npc, animation); | ||
+ | llSetTimerEvent(3.0); | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
+ | |additional_info=This function was added in 0.7.3-post-fixes | ||
}} | }} | ||
+ | == See Also == | ||
+ | * [[osNpcPlayAnimation]] | ||
+ | * [[osNpcStopAnimation]] |
Latest revision as of 18:56, 5 December 2020
osNpcStopAnimation(key npc, string animation)
| |
Stops an animation that is being played by the NPC identified by their key. | |
Threat Level | High |
Permissions | ${OSSL|osslNPC} |
Extra Delay | 0 seconds |
Example(s) | |
// // osNpcStopAnimation Script Exemple // Author: djphil // string animation = "sit_ground"; integer ani; key npc; default { state_entry() { llSay(PUBLIC_CHANNEL, "Touch to see osNpcStopAnimation 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 (ani == TRUE) { osNpcSay(npc, "Goodbye!"); llSetTimerEvent(0.0); osNpcStand(npc); osNpcRemove(npc); npc = NULL_KEY; ani = FALSE; state default; } else { ani = TRUE; osNpcPlayAnimation(npc, animation); osNpcSay(npc, "Hello world!"); } } touch_start(integer number) { osNpcStopAnimation(npc, animation); llSetTimerEvent(3.0); } } | |
Notes | |
This function was added in 0.7.3-post-fixes |
[edit] See Also
- osNpcPlayAnimation
- osNpcStopAnimation