User:ANSI Soderstrom: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 129: | Line 129: | ||
{ | { | ||
state_entry() | state_entry() | ||
{ | { | ||
SOMELIST = ["KEY","VALUE"]; | |||
SOMELIST = PUT(SOMELIST,[AGENT],[<1,1,1>]); | SOMELIST = PUT(SOMELIST,[AGENT],[<1,1,1>]); | ||
llSay(0,GET(SOMELIST,["KEY"])); | llSay(0,GET(SOMELIST,["KEY"])); | ||
| Line 147: | Line 141: | ||
SOMELIST = PUT(SOMELIST,[AGENT],[" | SOMELIST = PUT(SOMELIST,[AGENT],["test"]); | ||
llSay(0,GET(SOMELIST,["KEY"])); | llSay(0,GET(SOMELIST,["KEY"])); | ||
// Output : VALUE | // Output : VALUE | ||
llSay(0,GET(SOMELIST,[AGENT])); | llSay(0,GET(SOMELIST,[AGENT])); | ||
// Output : | // Output : test | ||
SOMELIST = PUT(SOMELIST,["KEY"],["9adba1b4-a733-4a44-8275-f4a666784d8c"]); | |||
llSay(0,GET(SOMELIST,["KEY"])); | |||
// Output : 9adba1b4-a733-4a44-8275-f4a666784d8c | |||
llSay(0,GET(SOMELIST,[AGENT])); | |||
// Output : test | |||
SOMELIST = PUT(SOMELIST,[AGENT],[llKey2Name(GET(SOMELIST,["KEY"]))]); | |||
llSay(0,GET(SOMELIST,["KEY"])); | llSay(0,GET(SOMELIST,["KEY"])); | ||
// Output : | // Output : 9adba1b4-a733-4a44-8275-f4a666784d8c | ||
llSay(0,GET(SOMELIST,[AGENT])); | llSay(0,GET(SOMELIST,[AGENT])); | ||
// Output : | // Output : ANSI Soderstrom | ||
} | } | ||
} | } | ||
</lsl> | </lsl> | ||
Revision as of 09:28, 24 February 2010
i am alive ! ...and have for you :
A #Simple Copy Protection for your Scripts.
A #LSL Array for your Scripts.
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>
LSL Array for your Scripts :
<lsl> list SOMELIST;
string GET(list ARRAY,list KEY) {
if(llGetListLength(KEY)>1) {
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 "-1";
}
}
list PUT(list ARRAY,list KEY, list VALUE) {
if(llGetListLength(KEY)>1 || llGetListLength(VALUE)>1) {
return [-1];
}
integer position = llListFindList(ARRAY,KEY);
if(~position) {
ARRAY = llListReplaceList(ARRAY, VALUE, position + 1, position + 1);
} else {
ARRAY += KEY;
ARRAY += VALUE;
}
return ARRAY;
}
default {
state_entry()
{
SOMELIST = ["KEY","VALUE"];
SOMELIST = PUT(SOMELIST,[AGENT],[<1,1,1>]);
llSay(0,GET(SOMELIST,["KEY"]));
// Output : VALUE
llSay(0,GET(SOMELIST,[AGENT]));
// Output : <1.000000, 1.000000, 1.000000>
SOMELIST = PUT(SOMELIST,[AGENT],["test"]);
llSay(0,GET(SOMELIST,["KEY"]));
// Output : VALUE
llSay(0,GET(SOMELIST,[AGENT]));
// Output : test
SOMELIST = PUT(SOMELIST,["KEY"],["9adba1b4-a733-4a44-8275-f4a666784d8c"]);
llSay(0,GET(SOMELIST,["KEY"]));
// Output : 9adba1b4-a733-4a44-8275-f4a666784d8c
llSay(0,GET(SOMELIST,[AGENT]));
// Output : test
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
}
} </lsl>