OsNpcRemove
From OpenSimulator
(Difference between revisions)
m |
m (Change See Also) |
||
| (13 intermediate revisions by 6 users not shown) | |||
| Line 1: | Line 1: | ||
{{osslfunc | {{osslfunc | ||
| + | |function_syntax=osNpcRemove(key npc) | ||
| + | |csharp_syntax= | ||
| + | |description=*Removes the NPC specified by key '''npc'''. | ||
|threat_level=High | |threat_level=High | ||
| − | | | + | |permissions=${OSSL|osslNPC} |
| − | |ossl_example = | + | |delay=0 |
| + | |ossl_example=This might be helpful to erase all of the NPCs in your sim. | ||
<source lang="lsl"> | <source lang="lsl"> | ||
| − | // | + | // |
| − | // | + | // osNpcRemove Script Exemple |
| − | // | + | // Author: djphil |
| − | + | // | |
| + | |||
default | default | ||
{ | { | ||
| + | state_entry() | ||
| + | { | ||
| + | llSay(PUBLIC_CHANNEL, "Touch to see osNpcRemove usage."); | ||
| + | } | ||
| + | |||
touch_start(integer number) | touch_start(integer number) | ||
{ | { | ||
| − | list | + | list npcs = llList2ListStrided(osGetNPCList(), 0, -1, 3); |
| − | + | ||
| − | + | if (npcs == []) | |
| + | { | ||
| + | llSay(PUBLIC_CHANNEL, "There is no NPC's in this sim currently."); | ||
| + | } | ||
| + | |||
| + | else | ||
{ | { | ||
| − | + | integer length = llGetListLength(npcs); | |
| − | + | integer i; | |
| + | |||
| + | for (i = 0; i < length; i++) | ||
| + | { | ||
| + | key npc = llList2Key(npcs, i); | ||
| + | llSay(PUBLIC_CHANNEL, "Remove NPC: " + npc + " (" + llKey2Name(npc) + ")."); | ||
| + | osNpcSay(npc, "Goodbye!"); | ||
| + | osNpcRemove(npc); | ||
| + | } | ||
} | } | ||
} | } | ||
} | } | ||
</source> | </source> | ||
| − | + | |additional_info=If the '''NPC''' is the UUID of any other type of agent (i.e. a user's regular avatar, not an NPC), this function will silently fail, not erasing existing avatar.<br> | |
| − | | | + | In other words, this function does not work on regular avatars but only on NPCs |
| − | + | ||
| − | + | ||
}} | }} | ||
| + | == See Also == | ||
| + | * [[osNpcCreate]] | ||
| + | * [[osNpcRemove]] | ||
Latest revision as of 18:52, 5 December 2020
osNpcRemove(key npc)
| |
| |
| Threat Level | High |
| Permissions | ${OSSL |
| Extra Delay | 0 seconds |
| Example(s) | |
This might be helpful to erase all of the NPCs in your sim.
// // osNpcRemove Script Exemple // Author: djphil // default { state_entry() { llSay(PUBLIC_CHANNEL, "Touch to see osNpcRemove usage."); } touch_start(integer number) { list npcs = llList2ListStrided(osGetNPCList(), 0, -1, 3); if (npcs == []) { llSay(PUBLIC_CHANNEL, "There is no NPC's in this sim currently."); } else { integer length = llGetListLength(npcs); integer i; for (i = 0; i < length; i++) { key npc = llList2Key(npcs, i); llSay(PUBLIC_CHANNEL, "Remove NPC: " + npc + " (" + llKey2Name(npc) + ")."); osNpcSay(npc, "Goodbye!"); osNpcRemove(npc); } } } } | |
| Notes | |
| If the NPC is the UUID of any other type of agent (i.e. a user's regular avatar, not an NPC), this function will silently fail, not erasing existing avatar. In other words, this function does not work on regular avatars but only on NPCs | |
[edit] See Also
- osNpcCreate
- osNpcRemove