OsNpcCreate
From OpenSimulator
(Difference between revisions)
m |
|||
Line 45: | Line 45: | ||
* You can clone an appearance from a saved appearance notecard name or UUID, or from the UUID of an avatar logged into the same region or sim. | * You can clone an appearance from a saved appearance notecard name or UUID, or from the UUID of an avatar logged into the same region or sim. | ||
* You can create and load appearance notecards with the following functions: [[osOwnerSaveAppearance]], [[osAgentSaveAppearance]], [[osNpcLoadAppearance]], [[osNpcSaveAppearance]]. | * You can create and load appearance notecards with the following functions: [[osOwnerSaveAppearance]], [[osAgentSaveAppearance]], [[osNpcLoadAppearance]], [[osNpcSaveAppearance]]. | ||
− | * In current OpenSim development code (from commit c4972e77 on Thu Jan 12 2012), an overloaded version of osNpcCreate() has been added. | + | * '''In current OpenSim development code (from commit c4972e77 on Thu Jan 12 2012), an overloaded version of osNpcCreate() has been added.''' |
** This has the signature key osNpcCreate(string firstname, string lastname, vector position, string cloneFrom, int options). | ** This has the signature key osNpcCreate(string firstname, string lastname, vector position, string cloneFrom, int options). | ||
** The options field can be either OS_NPC_CREATOR_OWNED or OS_NPC_NOT_OWNED. | ** The options field can be either OS_NPC_CREATOR_OWNED or OS_NPC_NOT_OWNED. |
Revision as of 16:34, 12 January 2012
key osNpcCreate(string firstname, string lastname, vector position, string cloneFrom)
| |
| |
Threat Level | High |
Permissions | No permissions specified |
Extra Delay | No function delay specified |
Example(s) | |
// touch to create a NPC clone of the toucher in front of this emitter // NPC will move 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>; osAgentSaveAppearance(llDetectedKey(0), "appearance"); // coud use avatar UUID directly in osNpcCreate, but then NPC appearance is not persisted npc = osNpcCreate("ImYour", "Clone", npcPos, "appearance"); toucherPos = llDetectedPos(0); state hasNPC; } } state hasNPC { state_entry() { osNpcMoveTo(npc, toucherPos + <3,0,0>); osNpcSay(npc, "Hi there! My name is " + llKey2Name(npc)); } touch_start(integer number) { osNpcSay(npc, "Goodbye!"); osNpcRemove(npc); npc = NULL_KEY; state default; } } | |
Notes | |
Some more useful info:
|