OsNpcMoveTo
From OpenSimulator
(Difference between revisions)
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 | + | |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= |
− | + | ||
− | + | ||
− | additional_info = | + | |
− | + | ||
− | + | ||
}} | }} | ||
+ | == See Also == | ||
+ | * [[osNpcMoveTo]] | ||
+ | * [[osNpcMoveToTarget]] | ||
+ | * [[osNpcStopMoveToTarget]] |
Latest revision as of 18:51, 5 December 2020
osNpcMoveTo(key npc, vector 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
- osNpcMoveTo
- osNpcMoveToTarget
- osNpcStopMoveToTarget