OpenSource Security Orb

Minethere Always
Minethere Always
 Member edited August 2014 in Create & Objects
Not sure we need this out here, but here is my cut/paste from g+


Ok, I just ran across this in the sluniverse forum. [yes, there actually is value in at least looking it over sometimes!!] lol

http://www.sluniverse.com/php/vb/virtua ... ost1994748

then

https://creativecommons.org/licenses/by-nc-sa/4.0/

and

https://marketplace.secondlife.com/p/PD ... rce/143384

and

http://psykephaeton.wordpress.com/2014/ ... 8th-by-ll/

Comments

  • Sheera Khan
    Sheera Khan
     Moderator edited 8:11PM
    Huhu Miney,

    nice to see scripts opensourced - but do we really need Orbs in our Metaverse?

    Ciaoooo

    Sheera
  • Minethere Always
    Minethere Always
     Member edited 8:11PM
    coucou chi cou Sheera, which is why I said this, "Not sure we need this out here" because I am not sure, but just passing the info along for any who might want it and it can be modified also he says....perhaps other uses can be extracted from it.

    Someone just told me they got it in SL and it is full perm.
  • bertl
    bertl
     Member edited 8:11PM
    Hi there, thank you for the informations Miney.
    And yes, I think also that we do not really need ORBs within Metropolis.
    In times of SL I once made a kind of, and just for technical knowledge I post it here.
    It may be - by the way - reused without any kind of license, without any notice where it comes from ;)
    I'm not sure if it still works, the reason I constructed it was scientific curiosity, which has been in the history of mankind always a good reason to do 'bad things' :).
    //
    //  Ejecter V2
    //  beherrscht kommandos zur steuerung
    //  erstellung: 20081219 18:34
    //
    string detectedName;
    list vgLstIgnore = [];
    string message1;
    string message2;
    list warningSend = [];
    integer active = 0;
    integer verbose = 0;
    integer channel = 8;
    integer listenId;
    integer radius = 10;
    list ListItemDelete(list mylist,string element_old) {
        integer placeinlist = llListFindList(mylist, [element_old]);
        if (placeinlist != -1)
            return llDeleteSubList(mylist, placeinlist, placeinlist);
        return mylist;
    }
    default {
        state_entry() {
            llSetText("ejecter v2", <1,1,1>, 1);
            llSensorRepeat( "", "", AGENT, radius, PI, 30 );
            vgLstIgnore = [llKey2Name(llGetOwner())];
            message1 =  "This is private land, but I don't like fences and allow you to cross.\n";
            message1 += "Please do this within 30 seconds. Regards, " + llKey2Name(llGetOwner());
            message2 =  "You will be ejected now.";
            listenId = llListen(channel, llKey2Name(llGetOwner()), NULL_KEY, "");
            llOwnerSay("initialized - not active - enter '/8 help' for instructions");
            llOwnerSay("listening for commands at channel " + (string)channel);
            llOwnerSay("scanning radius of " + (string)radius + " meters");
        }
        sensor( integer vIntFound ) {
            integer vIntCounter = 0;
            integer i;
            list tempList = [];
            if (verbose == 1) {
                llOwnerSay("--------------------");
                llOwnerSay("sensor was triggered");
                if (active == 0) { llOwnerSay("not active at the moment"); }
                llOwnerSay("listening for commands at channel " + (string)channel);
                llOwnerSay("scanning radius of " + (string)radius + " meters");
            }
            if (active == 1) {
                do {
                    detectedName = llDetectedName( vIntCounter );
                    if (llOverMyLand( llDetectedKey( vIntCounter ))) {
                        if (!~llListFindList( vgLstIgnore, (list)detectedName )) {
                            llOwnerSay("found unknown " + detectedName);
                            if (!~llListFindList( warningSend, (list)detectedName )) {
                                llInstantMessage( llDetectedKey( vIntCounter ), message1);
                                warningSend += [detectedName];
                            } else {
                                llInstantMessage( llDetectedKey( vIntCounter ), message2);
                                llEjectFromLand( llDetectedKey( vIntCounter ));
                                llOwnerSay(detectedName + " was ejected");
                            }
                            tempList += [detectedName];
                        } else {
                            if (! (llDetectedKey(vIntCounter) == llGetOwner()) ) {
                                llOwnerSay("found known " + detectedName);
                            }
                        }
                    }
                } while (++vIntCounter < vIntFound);
            }
            warningSend = tempList;
            if (llGetListLength(warningSend) > 0) {
                llOwnerSay("warninglist contains " + (string)llGetListLength(warningSend) + " elements");
                if (active == 0) {
                    llOwnerSay("but not active at the moment");
                }
            }
        }
        no_sensor() {
            if (verbose == 1) {
                llOwnerSay("--------------------");
                llOwnerSay("nothing in sensor area at the moment");
                if (active == 0) { llOwnerSay("not active at the moment"); }
                llOwnerSay("listening for commands at channel " + (string)channel);
                llOwnerSay("scanning radius of " + (string)radius + " meters");
            }
        }
        listen(integer channel, string name, key id, string message) {
            string command;
            string params;
            integer wherespace;
            integer i;
            wherespace = llSubStringIndex(message, " ");
            if (wherespace == -1) {
                command = llGetSubString(message, 0, wherespace);
            } else {
                command = llGetSubString(message, 0, wherespace-1);
            }
            params  = llDeleteSubString(message, 0, wherespace);
            //llOwnerSay("space recognized at: " + (string)wherespace);
            //llOwnerSay("command would be: (" + command + ")");
            //llOwnerSay("params would be : (" + params + ")");
            if (command == "help") {
                llOwnerSay("this is ejecter V2 - build by Bert Mandelkern");
                llOwnerSay("known commands are");
                llOwnerSay("---------------------------------------------");
                llOwnerSay("add-friend <name>");
                llOwnerSay("del-friend <name>");
                llOwnerSay("list-friends");
                llOwnerSay("start");
                llOwnerSay("stop");
                llOwnerSay("verbose");
                llOwnerSay("quiet");
                llOwnerSay("channel <channelno>");
                llOwnerSay("radius <meters>");
                llOwnerSay("help [command]");
                llOwnerSay("---------------------------------------------");
                llOwnerSay("for a more detailed help enter: help <command>");
            }
            if (command == "list-friends") {
                llOwnerSay("known friends are:");
                for (i = 0; i < llGetListLength(vgLstIgnore); i++) {
                    llOwnerSay((string)i + ": " + llList2String(vgLstIgnore,i));
                }
            }
            if (command == "start") {
                active = 1;
                llOwnerSay("activated");
            }
            if (command == "stop") {
                active = 0;
                llOwnerSay("deactivated");
            }
            if (command == "verbose") {
                verbose = 1;
                llOwnerSay("verbose mode set");
            }
            if (command == "quiet") {
                verbose = 0;
                llOwnerSay("quiet mode set");
            }
            if (command == "add-friend") {
                vgLstIgnore += [params];
                llOwnerSay("added to friends-list: " + params);
            }
            if (command == "radius") {
                llSensorRemove();
                radius = (integer)params;
                llSensorRepeat( "", "", AGENT, radius, PI, 30 );
                llOwnerSay("observing now radius of " + (string)params + " meters");
            }
            if (command == "channel") {
                llListenRemove(listenId);
                listenId = llListen((integer)params, llKey2Name(llGetOwner()), NULL_KEY, "");
                llOwnerSay("now listening for commands on channel " + (string)params);
            }
            if (command == "del-friend") {
                vgLstIgnore = ListItemDelete(vgLstIgnore, params);
                llOwnerSay("removed from friends-list: " + params);
            }
        }
    }
    
  • Minethere Always
    Minethere Always
     Member edited 8:11PM
    bertl said " the reason I constructed it was scientific curiosity, which has been in the history of mankind always a good reason to do 'bad things'"

    yes, I do suppose that is the case...lol

    Another things is that I do know some who read here, and roam the Metro, are also in SL and other such closed grids, so this can be used in those for people who tend to do such things in those places, or to let their friends who do such things know of it...regards
Sign In or Register to comment.

Welcome

It looks like you're new here. If you want to get involved, click one of these buttons!

Discussions

© Copyright 2017 - Metropolis Metaversum
All times are GMT