OsNpcCreate

From OpenSimulator

Revision as of 20:00, 1 August 2011 by Fritigern (Talk | contribs)

Jump to: navigation, search
key osNpcCreate(string firstname, string lastname, vector position, key cloneFrom)
  • Creates a NPC(Non Player Character) clone named firstname lastname at position from an already existing avatar cloneFrom.
  • Note: This function may not work as you have intended. See Mantis #5148 for more information.
  • Note: Since revision r/16413, dated Aug 1st, 2011, this function works again, with the caveat that osNpcCreate will only clone avatars currently in the region.
Threat Level High
Permissions No permissions specified
Extra Delay No function delay specified
Example(s)
// touch to create npc in front of this emitter
// Npc will walk to the toucher, then will greet them.
// Touch again to remove the NPC
 
key npc;
vector toucherPos;
 
default
{
    touch_start(integer number)
    {
        vector npcPos = llGetPos() + <1,0,0>;
        npc = osNpcCreate("ImYour", "Clone", npcPos, llGetOwnerKey(llGetKey()));
        toucherPos = llDetectedPos(0);
        state hasNPC;
    }
}
 
state hasNPC
{
    state_entry()
    {
        osNpcMoveTo(npc, toucherPos + <1,0,0>); // osNpcMoveTo will currently not work as intended.
        osNpcSay(npc, "Hi there! My name is " + llKey2Name(npc));
    }
 
    touch_start(integer number)
    {
        osNpcSay(npc, "Good bye!");
        osNpcRemove(npc);
        npc = NULL_KEY;
        state default;
    }
}
Personal tools
General
About This Wiki