OsNpcRemove
From OpenSimulator
(Difference between revisions)
												
			m (some syntax modification (may be major or minor))  | 
			m (Change See Also)  | 
			||
| (12 intermediate revisions by 5 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