User:Jana Kamachi/Trash/Simple
Jump to navigation
Jump to search
If you like this script, or any script I've released, please post on my Talk page, or I'll most likely never see it o: If you want to improve a script, just go for it!
This is a very simple example showing how to secure some basic cross-object communication. The key to this is using a unique modifier. But the values have to be the same in each script!
Part 1
Stick into an object called "hash1"
integer COMMAND_CHANNEL = 0; key hash2_key = ""; integer modifier = 40505; default { state_entry() { llListen(COMMAND_CHANNEL,"hash2","",""); } listen(integer p, string name, key id, string msg){ if(msg == "key"){ hash2_key = id; llSay(0,"master found: " + (string)id); llSay(COMMAND_CHANNEL,"9" + (string)(llGetUnixTime() + modifier)); } } }
Part 2
Stick this into an item called "hash2".
integer COMMAND_CHANNEL = 0; integer MODIFIER = 40505; auth(integer x){ integer t = llGetUnixTime() + MODIFIER; if(t - x < 3){ llSay(0,"Confirmed, good hash."); return; }else{ llSay(0,"Illegal Hash"); } } default { state_entry() { llListen(COMMAND_CHANNEL,"hash1","",""); llSay(COMMAND_CHANNEL,"key"); } listen(integer c, string name, key id, string msg){ if(llGetSubString(msg,0,0) == "9"){ llSay(0,"Got Hash " + msg + ", auth..."); auth((integer)llGetSubString(msg,1,llStringLength(msg))); } } }