OsNpcSit
From OpenSimulator
Jump to navigationJump to search
osNpcSit(key npc, key target, integer options)
| |
| |
| Threat Level | High |
| Permissions | ${OSSL|osslNPC} |
| Extra Delay | 0 seconds |
| Example(s) | |
//
// osNpcSit (without llSitTarget) Script Exemple
// Author: djphil
//
key npc;
default
{
state_entry()
{
llSay(PUBLIC_CHANNEL, "Touch to see osNpcSit (without llSitTarget) 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);
osNpcSit(npc, llGetKey(), OS_NPC_SIT_NOW);
osNpcSay(npc, "Hello world!");
}
touch_start(integer number)
{
osNpcSay(npc, "Goodbye!");
llSetTimerEvent(0.0);
osNpcStand(npc);
osNpcRemove(npc);
npc = NULL_KEY;
state default;
}
}
With llSitTarget: //
// osNpcSit (with llSitTarget) Script Exemple
// Author: djphil
//
key npc;
default
{
state_entry()
{
llSay(PUBLIC_CHANNEL, "Touch to see osNpcSit (with llSitTarget) usage.");
llSitTarget(<0.3, 0.0, 0.55>, ZERO_ROTATION);
}
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);
osNpcSit(npc, llGetKey(), OS_NPC_SIT_NOW);
osNpcSay(npc, "Hello world!");
}
touch_start(integer number)
{
osNpcSay(npc, "Goodbye!");
llSetTimerEvent(0.0);
osNpcStand(npc);
osNpcRemove(npc);
npc = NULL_KEY;
state default;
}
}
| |
| Notes | |
| This function was added in 0.7.2-post-fixes | |