This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

NPC Killer Script um marodierende NPCs zu löschen, von Aine Caolmhe
#1
NPC Killer Script um marodierende NPCS zu löschen.


Dieses Script ist das Original von Aine Caolmhe.

Es hilft einen NPCs zu löschen die unkontrolliert auf der Sim vagabundieren.

Dies pasiert zum Beispiel wenn das Script das den NPC gerezzt hat, und kontrolliert, resettet wird ohne vorher den NPC zu löschen.
Das kann man (je nach Rezzscript) zwar auch mit einem SIM Neustart beheben.

Viel schlimmer ist aber der Fall das das Rezzscript unentwegt neue NPCs rezzt weil die vorangegangenen sich nicht auf den Sitzposer gesetzt haben.
Dies kommt zum Beispiel vor wenn die "alte" NPC Rezz Befehls Syntax genutzt wird die die NPCs nicht im Gruppenkontext rezzt, und gelichzeitig die Sim für "public" gesperrt wird.

So kann in wenigen Minuten die Sim so stark gefüllt werden das man als Admin nicht mal mehr rauf kommt um den Rezzer einhalt zu gebieten.
Das ist mir auch schon mehrfach pasiert.

Da hilft dann diesen NPC Killer an den Ava auf einer anderen Sim anzuziehen, und sich TP bereit zu machen.
Dann die marode Sim restarten, und sofort wenn sie da ist rüber teleportieren . Und mehrfach diesen NPC Killer berühren.
So kann man die Anzahl gerezzter NPCs minimieren, bis man Scripte auf der Sim stoppt, und den Fehler behebt.

Ebenso kann diese NPC Killer bei Events helfen, wenn die Sim wegen Überlastung Probleme bekommt.



ANWENDUNG:


Das Script wird in ein Prim gelegt, und wartet auf eine Berührung.
Dann legt es los, holt sich die Avatarliste der Sim und versucht alle Avatar UUIDs mit dem OSSL - NPC Kill Befehl zu löschen.

Man könnte es heute zwar etwas verbessern und vorab checken ob die UUID einem Avatar oder einem NPC gehört,
aber das Script läuft auch so schon jahrelang zuverlässig. Daher belasse ich es im Original.

Als dieses Script erstellt wurde gab es noch nicht den OSSL Befehl einen Avatareintrag auf NPC zu testen.


Code:
// P605 Hedone NPC Killer
// by Aine Caolmhe Jan 2013
//
// This script is full perm and may be used and altered in any way you wish
//
// Place in any prim, then click the prim to kill all NPCs in the current region
// OSSL functions osGetAvatarList and osNpcRemove must be enabled in the region

default
{
    state_entry()
    {
        llSay(0, "NPC Killer ready - touch me to remove all NPCs from your region");
    }
    
    
    touch_start(integer num)
    {
        list agentList=osGetAvatarList();
        integer listLength=llGetListLength(agentList);
        integer i;
        
        while (i<listLength)
        {
            osNpcRemove(llList2Key(agentList,i));
            i+=3;
        }
        llOwnerSay("All NPCs should now be dead");
    }
}


Einen herzlichen Dank meinerseits an Aine Caolmhe für diese guten Scripte in der Opensim Anfangszeit.
Thank you so much Aine, for supporting Opensim from the beginning with this helpful scripts.


Tron
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste