integer handle;
integer channel;
integer isLive;
integer debug_mode;
string url;
string response;
string request;
key token;
key server;
key session;
list users;
list mailboxes;
list tokens;
list sessions;
list db;
integer avchan(key i){return (integer)("0x"+llGetSubString((string)i,0,7))+1337;}
key genSessionKey(key i){
integer s=llListFindList(sessions,(list)i);if(s==-1){
session=llGenerateKey();
}else{
session=llList2Key(sessions,s-1);
sessions+=[i,s];
}
return session;
}
debug(string n,string m){//name,message
if(!debug_mode)return;
string o=llGetObjectName();
llSetObjectName(n);
llOwnerSay(m);
llSetObjectName(o);
string t=llGetUnixTime();
logs+=[t+" - "+n+": "+m];
return;
}
default{
state_entry(){
channel=88881118;
handle=llListen(channel,"","","");
llSensorRepeat("","",AGENT,96,TWO_PI,20);
}
sensor(integer i){
do{
key user=llDetectedKey(i);
if(llListFindList(users,(list)user){
return;
}else{
llRegionSayTo(user,avchan(user),"!ping");
}
}while(i>-1);
}
no_sensor(){
}
}