OsNpcRemove

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(16 intermediate revisions by 6 users not shown)
Line 1: Line 1:
'''Function Syntax:''' osNpcRemove(key npc);<br>'''Returns:''' NULL
+
{{osslfunc
 
+
|threat_level=High
Example Required !
+
|permissions=${OSSL&#124;osslNPC}
 
+
|delay=0
 
+
|function_syntax=osNpcRemove(key npc)
[[Category:OSSL]]
+
|ossl_example =This might be helpful to erase all of the NPCs in your sim.
 +
<source lang="lsl">
 +
// sim-wide NPC killer
 +
// kill all of NPCs in this SIM
 +
// Attempts to kill agents too, but it will silently fail
 +
// http://opensimulator.org/wiki/OsNpcRemove
 +
 +
default
 +
{
 +
    touch_start(integer number)
 +
    {
 +
        list avatars = llList2ListStrided(osGetAvatarList(), 0, -1, 3);
 +
        integer i;
 +
        llSay(0,"NPC Removal: No avatars will be harmed or removed in this process!");
 +
        for (i=0; i<llGetListLength(avatars); i++)
 +
        {
 +
            string target = llList2String(avatars, i);
 +
            osNpcRemove(target);
 +
            llSay(0,"NPC Removal: Target "+target);
 +
        }
 +
    }
 +
}
 +
    </source>
 +
|description=*Removes the NPC specified by key '''npc'''.
 +
|
 +
|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. <!-- Can't we just say "this function does not work on regular avatars, only on NPCs" ? -->
 +
*See [[osNpcCreate]] for another example script.
 +
}}

Revision as of 21:04, 25 September 2019

osNpcRemove(key npc)
  • Removes the NPC specified by key npc.
Threat Level High
Permissions ${OSSL|osslNPC}
Extra Delay 0 seconds
Example(s)
This might be helpful to erase all of the NPCs in your sim.
// sim-wide NPC killer
// kill all of NPCs in this SIM
// Attempts to kill agents too, but it will silently fail
// http://opensimulator.org/wiki/OsNpcRemove
 
default
{
    touch_start(integer number)
    {
        list avatars = llList2ListStrided(osGetAvatarList(), 0, -1, 3);
        integer i;
        llSay(0,"NPC Removal: No avatars will be harmed or removed in this process!");
        for (i=0; i<llGetListLength(avatars); i++)
        {
            string target = llList2String(avatars, i);
            osNpcRemove(target);
            llSay(0,"NPC Removal: Target "+target);
        }
    }
}
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.
Personal tools
General
About This Wiki