OsNpcMoveTo

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (Change See Also)
 
(9 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{osslfunc|
+
{{osslfunc
threat_level = High
+
|threat_level=High
|
+
|permissions=${OSSL|osslNPC}
function_syntax = <source lang="lsl">
+
|delay=0
osNpcMoveTo(key npc, vector position);
+
|function_syntax=osNpcMoveTo(key npc, vector position)
 +
|description=* Moves '''npc''' to the '''position'''.
 +
|ossl_example=<source lang="lsl">
 +
//
 +
// osNpcMoveTo Script Exemple
 +
// Author: djphil
 +
//
 +
 
 +
key npc;
 +
 
 +
default
 +
{
 +
    state_entry()
 +
    {
 +
        llSay(PUBLIC_CHANNEL, "Touch to see osNpcMoveTo usage.");
 +
    }
 +
 
 +
    touch_start(integer number)
 +
    {
 +
        key toucher = llDetectedKey(0);
 +
        vector npcPos = llGetPos() + <-5.0, -1.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);
 +
        osNpcSay(npc, "Hello world!");
 +
        osNpcMoveTo(npc, llGetPos() + <5.0, -1.0, 0.0>);
 +
    }
 +
 
 +
    touch_start(integer number)
 +
    {
 +
        llSetTimerEvent(0.0);
 +
        osNpcSay(npc, "Goodbye!");
 +
        osNpcRemove(npc);
 +
        npc = NULL_KEY;
 +
        state default;
 +
    }
 +
}
 
</source>
 
</source>
|
+
|additional_info=
ossl_example = See [[osNpcCreate]] example.
+
|
+
additional_info = * Moves '''npc''' to the '''position'''.
+
* This function is currently unworkable due to the issue [http://opensimulator.org/mantis/view.php?id=5148 #5148].
+
|
+
 
}}
 
}}
 +
== See Also ==
 +
* [[osNpcMoveTo]]
 +
* [[osNpcMoveToTarget]]
 +
* [[osNpcStopMoveToTarget]]

Latest revision as of 19:51, 5 December 2020

osNpcMoveTo(key npc, vector position)
  • Moves npc to the position.
Threat Level High
Permissions ${OSSL|osslNPC}
Extra Delay 0 seconds
Example(s)
//
// osNpcMoveTo Script Exemple
// Author: djphil
//
 
key npc;
 
default
{
    state_entry()
    {
        llSay(PUBLIC_CHANNEL, "Touch to see osNpcMoveTo usage.");
    }
 
    touch_start(integer number)
    {
        key toucher = llDetectedKey(0);
        vector npcPos = llGetPos() + <-5.0, -1.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);
        osNpcSay(npc, "Hello world!");
        osNpcMoveTo(npc, llGetPos() + <5.0, -1.0, 0.0>);
    }
 
    touch_start(integer number)
    {
        llSetTimerEvent(0.0);
        osNpcSay(npc, "Goodbye!");
        osNpcRemove(npc);
        npc = NULL_KEY;
        state default;
    }
}


[edit] See Also

Personal tools
General
About This Wiki