Difference between revisions of "User:ANSI Soderstrom"

From Second Life Wiki
Jump to navigation Jump to search
m
 
(163 intermediate revisions by the same user not shown)
Line 1: Line 1:
i am alive !
[[File:ansi_bear.png|thumb|LindenBear ANSI]]
...and have for you :
== About me ==
* Name : same as above
* Race : sometimes a kind of TeddyBear, sometimes just a cat or any other possible Avatar...
* Age  : {{Age|24|05|2007}} days
* Town : [[User:ANSI_Soderstrom/Where_ANSI_lives|Linden]] (Hannover/Germany)
* Fun  : [[User:ANSI_Soderstrom/Humour|Different]]


A [[#Simple Copy Protection]] for your Scripts.
;My attitude :
:*[[User:ANSI_Soderstrom/my_attidude_towards_life|towards life]]
:*[[User:ANSI_Soderstrom/my_attitude_towards_VR|towards Virtual Reality]]


A [[#Simple LSL Array]] for your Scripts.
== Expierence ==
;With Electronics
:BashScript / Perl / LSL
:PHP / HTML / CSS / JavaScript
:MySQL / MS-SQL
:VisualBasic / ANSI-C / C#


;With Organics
:German
:English


== My Locations ==
* SL-URL : {{SLurl|region=Minna|x=128|y=128|z=32|title=The Place beside Natoma}}
* Website : https://secondlife.gehostet.de/lang/en/secondlife-monitoring/


== Against Boredom ==
* [[User:ANSI_Soderstrom/Decorate_a_busy_Linden|Decorate a busy Linden]]


== I help others ==
<!-- ejected by myself because i cant understand people with tooo much serious allocations as in RL
* Apprentice of [[White_Tiger_Mentors|White Tiger Mentors]] (Member since {{Age|06|04|2010}} days)
-->
* {{Jira Reporter}}


== ANSI's Scripting Classes ==
* [[User:ANSI_Soderstrom/LSL Beginners Class|LSL for beginners]]
* [[User:ANSI_Soderstrom/LSL Advanced Class|LSL for advanced persons]]


== Leave a comment ==
* [[User_talk:ANSI_Soderstrom|My user Talk ABOUT ME]]




* [[User:ANSI_Soderstrom/Archive|Archive]]


 
{{skills||Architect=*|Builder=*|Scripter=*|}}
 
<!--
 
{{visl|LSL=*|}}
 
-->
 
[[Category:Linden Bear Collectors|{{PAGENAME}}]]
 
[[Category:German speaking Linguists|{{PAGENAME}}]]
 
{{ISO_639-3/cat-speaking/Volunteers|eng}}  
 
{{ISO_639-3/cat-speaking/Volunteers|deu}}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
{{Anchor|Simple Copy Protection}}Simple LSL Copy Protection for your Scripts (best give away as no mod) :
 
<lsl>
// Simple Copy Protection for your Items
// (C) 10/2009 ANSI Soderstrom
 
default {
    state_entry() {
        if(llGetCreator() != "9adba1b4-a733-4a44-8275-f4a666784d8c") {  // ANSI Soderstrom
            llOwnerSay("Script: " + llGetScriptName() + ":");
            llOwnerSay("Sorry, my Scripts are only running in MY Items");
            llOwnerSay("Greetings, ANSI Soderstrom");
            // llDie();
        } else {
            state online;
        }     
    }
 
    on_rez(integer i) {
        llResetScript();
    }
}
 
state online {
    state_entry() {
        // your Code
    } 
   
    on_rez(integer i) {
        llResetScript();
    }   
}
</lsl>
 
 
 
 
{{Anchor|Simple LSL Array}} Simple LSL Array for your Scripts :
 
<lsl>
// Simple LSL Array for your Scripts (useful but slow)
// (C) 02/2010 ANSI Soderstrom
 
list SOMELIST;
 
string GET(list ARRAY,list KEY) {
    if(!llGetListLength(KEY)>1) {
      // dont allow lists in lists
      return "-1";
    }
    integer position;
    do {
        position = llListFindList(ARRAY, KEY);
        if(position%2 && ~position && position) {
            ARRAY = llDeleteSubList(ARRAY,0,position);
        }
    } while (~position  && position%2);
    if(~position) {
        return llList2String(ARRAY,position+1);
    } else {
        return "0";
    }
}
 
list PUT(list ARRAY,list KEY, list VALUE) {
    if(llGetListLength(KEY)>1 || llGetListLength(VALUE)>1) {
        // dont allow lists in lists
        return [-1];
    } 
    integer position = llListFindList(ARRAY, KEY);
    list helparray = [];
    do {
        if(!~position) {  
            ARRAY += KEY;
            ARRAY += VALUE;
            return helparray + ARRAY;
        }      
        if(position%2 && ~position && position) {
            helparray += llList2List(ARRAY,0,position);
            ARRAY = llDeleteSubList(ARRAY,0,position);
        }  
        position = llListFindList(ARRAY, KEY);       
    } while (position%2);
    ARRAY = llListReplaceList(ARRAY, VALUE, position + 1, position + 1);
    return helparray + ARRAY; 
}
 
default {
    state_entry() {       
        // --------------------------------------------------------------------------------
       
        SOMELIST = PUT(SOMELIST,["KEY"],["VALUE"]);
        SOMELIST = PUT(SOMELIST,[AGENT],[<1,1,1>]);
        SOMELIST = PUT(SOMELIST,["TEST"],["VALUE"]);
        SOMELIST = PUT(SOMELIST,["VALUE"],["TEST"]);
        llSay(0,GET(SOMELIST,["KEY"]));    // Output : VALUE
        llSay(0,GET(SOMELIST,[AGENT]));    // Output : <1.000000, 1.000000, 1.000000>
        llSay(0,GET(SOMELIST,["TEST"]));    // Output : VALUE
        llSay(0,GET(SOMELIST,["VALUE"]));  // Output : TEST
       
        // --------------------------------------------------------------------------------
       
        SOMELIST = PUT(SOMELIST,["KEY"],["9adba1b4-a733-4a44-8275-f4a666784d8c"]);
        SOMELIST = PUT(SOMELIST,[AGENT],["unknown"]);
        SOMELIST = PUT(SOMELIST,["TEST"],["TEST"]);
        SOMELIST = PUT(SOMELIST,["VALUE"],["VALUE"]);
        llSay(0,GET(SOMELIST,["KEY"]));    // Output : 9adba1b4-a733-4a44-8275-f4a666784d8c
        llSay(0,GET(SOMELIST,[AGENT]));    // Output : unknown
        llSay(0,GET(SOMELIST,["TEST"]));    // Output : TEST
        llSay(0,GET(SOMELIST,["VALUE"]));  // Output : VALUE     
        // --------------------------------------------------------------------------------
       
        // AGENT is a static integer with the value 1
        SOMELIST = PUT(SOMELIST,[1],["AGENT"]);
       
        llSay(0,GET(SOMELIST,[AGENT]));    // Output : AGENT
               
        // --------------------------------------------------------------------------------       
         
        // "AGENT" and AGENT are different
        if(!(integer)GET(SOMELIST,["AGENT"])) {
            llSay(0,"Not in List");
        } else {
            llSay(0,"Found");
        }
        // Output : Not in List
       
        // --------------------------------------------------------------------------------
               
        // case sensitive KEY´s
        SOMELIST = PUT(SOMELIST,["AGENT"],[NULL_KEY]);
        SOMELIST = PUT(SOMELIST,[AGENT],[ZERO_ROTATION]);
       
        llSay(0,GET(SOMELIST,["agent"]));  // Output : 0
        llSay(0,GET(SOMELIST,["AGENT"]));  // Output : 00000000-0000-0000-0000-000000000000
        llSay(0,GET(SOMELIST,[AGENT]));    // Output : <0.000000, 0.000000, 0.000000, 1.000000>
       
        // --------------------------------------------------------------------------------       
       
        // Let us play...
        SOMELIST = PUT(SOMELIST,[AGENT],[llKey2Name(GET(SOMELIST,["KEY"]))]); 
        llSay(0,GET(SOMELIST,["KEY"])); // Output : 9adba1b4-a733-4a44-8275-f4a666784d8c
        llSay(0,GET(SOMELIST,[AGENT])); // Output : ANSI Soderstrom 
        // -------------------------------------------------------------------------------- 
       
        llSay(0,GET(SOMELIST,["NotInList"]));
        // Output : 0
       
        // --------------------------------------------------------------------------------         
        // Not in List is not in list
        if(!(integer)GET(SOMELIST,["Not In List"])) {
            llSay(0,"Not in List");
        } else {
            llSay(0,"Found");
        }
        // Output : Not in List
       
        // --------------------------------------------------------------------------------         
        // ANSI Soderstrom is not a KEY, only a VALUE
        if(!(integer)GET(SOMELIST,["ANSI Soderstrom"])) {
            llSay(0,"Not in List");
        } else {
            llSay(0,"Found");
        }  
        // Output : Not in List 
       
        // --------------------------------------------------------------------------------         
       
        // KEY is a KEY and have a VALUE
        if(!(integer)GET(SOMELIST,["KEY"])) {
            llSay(0,"Not in List");
        } else {
            llSay(0,"Found");
        }
        // Output : Found       
       
        // --------------------------------------------------------------------------------
       
        llSay(0,llList2CSV(SOMELIST));
        /*
            Output :    KEY,    9adba1b4-a733-4a44-8275-f4a666784d8c,
                        1,      ANSI Soderstrom,
                        TEST,  TEST,
                        VALUE,  VALUE,
                        AGENT,  00000000-0000-0000-0000-000000000000 
        */  
 
        // --------------------------------------------------------------------------------
 
        // Extended behavior
        list WHITELIST;
        list BLACKLIST;
             
        WHITELIST = [  "1234","ANSI Soderstrom",
                        "4321","Other Name"
                    ];
                                                             
        BLACKLIST = [  "9876","Invisible Linden",
                        "6789","Visible Linden"
                    ];
       
        // Does NOTHING (no Target List)
        PUT(WHITELIST,["1234"],["Any Value"]);           
       
        // Dont touch the Blacklist...
        // Copy Blacklist to Whitelist AND CHANGE the Value of the given Name in the Whitelist
        // (KEY in Blacklist)       
        WHITELIST = PUT(BLACKLIST,["9876"],["Changed Name"]);
        llOwnerSay(llList2CSV(WHITELIST));  // Whitelist : 9876, Changed Name, 6789, Visible Linden
       
        // Dont touch the Blacklist...
        // Copy Blacklist to Whitelist AND ADD the given KEY/VALUE to Whitelist
        // (KEY not in Blacklist)             
        WHITELIST = PUT(BLACKLIST,["1234"],["Any Value"]);
        llOwnerSay(llList2CSV(WHITELIST));  // Whitelist : 9876, Invisible Linden, 6789, Visible Linden, 1234, Any Value
 
 
        // --------------------------------------------------------------------------------
 
        // more complex...
       
        list LIST; 
       
        LIST = PUT(LIST,["1234"],["First Value"]); 
        LIST = PUT(LIST,[1234],["Second Value"]);   
   
        llSay(0,llList2CSV(LIST));  // Output : 1234, First Value, 1234, Second Value
       
        llSay(0,GET(LIST,["1234"])); // Output : First Value
        llSay(0,GET(LIST,[1234]));  // Output : Second Value
 
 
        // --------------------------------------------------------------------------------
 
        Now you can manage your Settings simple...
 
        list SETTINGS;
 
        SETTINGS = PUT(SETTINGS,["owner"],[llGetOwner()]);
        SETTINGS = PUT(SETTINGS,["POS"],[llGetPos()]);
       
        list API;
 
        API = PUT(API,["I_HAVE_THE_SETTINGS"],[-34234242]);
 
        llMessageLinked(LINK_SET,(integer)GET(API,["I_HAVE_THE_SETTINGS"]),llList2CSV(SETTINGS),llGetOwner());
 
        // --------------------------------------------------------------------------------
 
        list SETTINGS;
        list API;
 
        API = PUT(API,["I_HAVE_THE_SETTINGS"],[-34234242]);
 
        link_message(integer sender_num, integer num, string str, key id) {
            // receive a valid message for this state AND a further Copy Protection
            if(id==llGetCreator() && num==(integer)GET(API,["I_HAVE_THE_SETTINGS"]) {
                SETTINGS = llCSV2List(str);
            } // if   
        } // link_message 
    }  
}
 
</lsl>

Latest revision as of 07:53, 4 December 2013

LindenBear ANSI

About me

  • Name : same as above
  • Race : sometimes a kind of TeddyBear, sometimes just a cat or any other possible Avatar...
  • Age  : 6203 days
  • Town : Linden (Hannover/Germany)
  • Fun  : Different
My attitude

Expierence

With Electronics
BashScript / Perl / LSL
PHP / HTML / CSS / JavaScript
MySQL / MS-SQL
VisualBasic / ANSI-C / C#
With Organics
German
English

My Locations

Against Boredom

I help others

ANSI's Scripting Classes

Leave a comment