logo
Homepage-Sicherheit

Willkommen Gast! Um alle Funktionen zu aktivieren müssen Sie sich Anmelden oder Registrieren.

Mitteilung

Icon
Error

Einloggen


Teilen
Optionen
Ansicht
Gehe zum aktuellsten Beitrag Gehe zum letzten Ungelesenen
Offline MartinRJ Fayray  
#1 Geschrieben : Mittwoch, 26. Oktober 2016 05:46:18(UTC)
MartinRJ Fayray

Rang: Ehrenmitglied

Ansehen:

Mitglied seit: 05.09.2014(UTC)
Beiträge: 90
Germany
Wohnort: Tulln und Rostock

Dankte: 6 mal(e)
Mit dem folgenden Skript können Landbesitzer Admins benennen, die dann Störenfriede für ein paar Minuten bannen, und deren Objekte löschen dürfen.

Man klickt dazu das Objekt an, und gibt dann den Namen des Störenfrieds in einem Textfeld ein.
Alternativ kann man auch den Namen im entsprechenden Channel sagen.

Der Eigentümer muss beim Speichern des Skripts eine Permission gewähren.

Bei Gruppenland muss das Objekt das dieses Skript enthält der Gruppe übertragen werden.


Code:

list lAdmins = ["Admin1 Resident", "Admin2 Nachname"]; //Admins hier in die Liste eintragen.

key kOwner = "Owner Key hier eintragen"; //Eigentümer hier in die Liste eintragen.

float fTime = 0.1; //Ban-Zeit in Stunden.
integer iListen = 666; //Listener-Channel.

string sText = "Wen willst du kicken? Format: 'Name Resident' oder 'Vorname Nachname'.";
string sNotFound = " wurde nicht gefunden.";
string sBanned = " wurde gebanned. Bitte Name, Begründung und Uhrzeit notieren.";

key kFindAgent(string name)
{
    
        list avatarsInRegion = llGetAgentList(AGENT_LIST_REGION, []);
        integer numOfAvatars = llGetListLength(avatarsInRegion);
 
        // if no avatars, abort avatar listing process
        if (!numOfAvatars)
        {
            return NULL_KEY;
        }
        integer index;
        key kAVid;
        string sAVname;
        while (index < numOfAvatars && index < 12)
        {
            kAVid = llList2Key(avatarsInRegion, index);
            
            sAVname = llGetSubString(llKey2Name(kAVid), 0, 23);
            if (sAVname == name)
            {
                return kAVid;
            }
            ++index;
        }
    return NULL_KEY;
}
default
{
    state_entry()
    {
        llRequestPermissions(kMartinRJ, PERMISSION_RETURN_OBJECTS);
        llListen(iListen, "", NULL_KEY, "");
    }

    touch_start(integer total_number)
    {
        if (llListFindList(lAdmins, [llDetectedName(0)]) != -1)
        {
            llTextBox(llDetectedKey(0), sText, iListen);
        }
    }

    listen(integer channel, string name, key id, string message)
    {
        if (llGetAgentSize(id))
        { //id is an avatar
            if (llListFindList(lAdmins, [name]) != -1 && 
            llListFindList(lAdmins, [message]) == -1)
            {
                key kA = kFindAgent(message);
                if (kA != NULL_KEY)
                {
                    llRegionSayTo(id, PUBLIC_CHANNEL, message + sBanned);
                    llAddToLandBanList(kA, fTime);
                    llReturnObjectsByOwner(kA, OBJECT_RETURN_PARCEL_OWNER);
                }
                else
                {
                    llRegionSayTo(id, PUBLIC_CHANNEL, message + sNotFound);
                    llTextBox(llDetectedKey(0), sText, iListen);
                }
            }
        }
    }

    changed(integer change)
    {
        if (change & CHANGED_OWNER)
        {
            llResetScript();
        }
    }
}

Bearbeitet vom Benutzer Donnerstag, 3. November 2016 12:47:17(UTC)  | Grund: Nicht angegeben

It is the mark of an educated mind to be able to entertain a thought without accepting it.
Rss Feed  Atom Feed
Benutzer, die gerade dieses Thema lesen
OceanSpiders 2.0
Das Forum wechseln  
Du kannst keine neue Themen in diesem Forum eröffnen.
Du kannst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge nicht löschen.
Du darfst deine Beiträge nicht editieren.
Du kannst keine Umfragen in diesem Forum erstellen.
Du kannst nicht an Umfragen teilnehmen.

Powered by YAF.NET | YAF.NET © 2003-2017, Yet Another Forum.NET
Diese Seite wurde in 0.572 Sekunden generiert.

Datenschutzrichtlinie
Haftungsausschluss
Impressum
Datenschutzerklärung
AGB, ToS
Kontakt