OsNpcStopAnimation

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
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=${XEngine|osslNPC}
+
|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

Personal tools
General
About This Wiki