OsNpcCreate

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (some format conversions)
m (some syntax modification (may be major or minor))
Line 1: Line 1:
 
{{osslfunc
 
{{osslfunc
 
|threat_level=High
 
|threat_level=High
|function_syntax=key osNpcCreate(string firstname, string lastname, vector position, key cloneFrom);
+
|function_syntax=key osNpcCreate(string firstname, string lastname, vector position, key cloneFrom)
 
|ossl_example=<source lang="lsl">
 
|ossl_example=<source lang="lsl">
 
// touch to create npc in front of this emitter
 
// touch to create npc in front of this emitter

Revision as of 03:33, 2 July 2011

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.
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 destroy
 
key npc;
vector toucherPos;
 
default
{
    touch_start(integer number)
    {
        vector npcPos = llGetPos() + <1,0,0>;
        npc = osNpcCreate("Jane", "Bot", npcPos, llGetOwnerKey(llGetKey()));
        list rtn = llGetObjectDetails(llDetectedKey(number), [OBJECT_POS]);
        toucherPos = llList2Vector(rtn, 0);
        state hasNPC;
    }
}
 
state hasNPC
{
    state_entry()
    {
        osNpcMoveTo(npc, toucherPos + <1,0,0>); // This is currently unworkable
        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