Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- integer current_node;
- integer total_nodes;
- send_email(string address,string subject,string message){
- current_node = (current_node+1)%total_nodes;
- llMessageLinked(-1,current_node,subject+"###email###"+message,address);
- }
- send_im(key i,string message){
- current_node = (current_node+1)%total_nodes;
- llMessageLinked(-1,current_node,message+"###instant_message",i);
- }
- mass_action_email(string send){
- integer x = 0;
- integer s = llGetListLength(servers);
- for(;x<s;++x){
- send_email(llList2String(servers,x),"ACTION",send);
- llSleep(.1);
- }
- }
- mass_details_email(string send){
- integer x = 0;
- integer s = llGetListLength(servers);
- for(;x<s;++x){
- send_email(llList2String(servers,x),"PARCEL_DETAILS",send);
- llSleep(.1);
- }
- }
- mass_agent_email(string send){
- integer x = 0;
- integer s = llGetListLength(servers);
- for(;x<s;++x){
- send_email(llList2String(servers,x),"AGENTS",send);
- llSleep(.1);
- }
- }
- text_update(string i){
- llMessageLinked(-1,-55565,"Sub-Server(s): "+(string)llGetListLength(servers),i);
- }
- parcel_parse(string toHandle){
- //d_1 = region name
- //d_2 = local region pos
- //d_3 = requester id
- //d_4 = parcel name
- //d_5 = parcel owner
- //d_6 = parcel group
- //d_7 = DUMP for d2
- //d2_0 = prims used
- //d2_1 = parcel size
- //d2_2 = parcel description
- list d = llParseString2List(toHandle,["Object-Name: ","Region: ","Local-Position: ","Target-Id: ","Parcel-Name: ","Parcel-Owner: ","Parcel-Group: ","Prim-Percent-Used: "],[]);
- list d2 = llParseString2List(llList2String(d,7),["Prim-Percent-Used: ","Parcel-Size: ","Parcel-Desc: "],[]);
- string output = "\n"+llStringTrim(llList2String(d,1),STRING_TRIM) + llStringTrim(llList2String(d,2),STRING_TRIM)+"\n";
- output += llList2String(d,4)+"\n";
- if(llSubStringIndex(llList2String(d,5),llList2String(d,6))==0){
- output += "Owner: Group Owned\n";
- }else{
- output += "Owner: "+llList2String(d,5)+"\n";
- if((key)llList2String(d,6) != NULL_KEY){
- output += "Group: "+llList2String(d,6);
- }
- }
- output += "Percent Used: "+llList2String(d2,0)+"\n";
- output += "Plot size: "+llList2String(d2,1)+"\n";
- output += "Plot desc: "+llList2String(d2,2);
- llInstantMessage((key)llList2String(d,3),output);
- }
- key myKey;
- list parcels = [];
- list servers = [];
- default{
- on_rez(integer r){
- llResetScript();
- }changed(integer c){
- if(c & CHANGED_INVENTORY){
- total_nodes = llGetInventoryNumber(10)-2;
- }
- }state_entry(){
- total_nodes = llGetInventoryNumber(10)-2;
- myKey = llGetKey();
- llSetObjectDesc((string)myKey+"@lsl.secondlife.com");
- llSetTimerEvent(1.0);
- }timer(){
- llGetNextEmail("","");
- if(llGetTime() > 120){
- text_update("");
- }
- }email(string t,string a,string s,string m,integer r){
- s = llStringTrim(s,STRING_TRIM);
- if(s == "PARCEL_DETAILS"){
- list d = llParseString2List(m,["Object-Name: ","Region: ","Local-Position: ","Target-Id: ","Target-Action: "],[]);
- mass_details_email("Target-Id: "+llList2String(d,3)+"Target-Action: PARCEL_DETAILS");
- }
- if(s == "PARCEL_INFO"){
- parcel_parse(m);
- }
- if(s == "AGENTS"){
- list d = llParseString2List(m,["Object-Name: ","Region: ","Local-Position: ","Target-Id: ","Target-Action: "],[]);
- mass_agent_email("Target-Id: "+llList2String(d,3)+"Target-Action: AGENTS");
- }
- if(s == "AGENT_DUMP"){
- list d = llParseString2List(m,["Object-Name: ","Region: ","Local-Position: ","Target-Id: ","Agents: "],[]);\
- string output = "\n"+llStringTrim(llList2String(d,1),STRING_TRIM)+llStringTrim(llList2String(d,2),STRING_TRIM)+"\n";
- output += "Agents On Parcel: \n"+llList2String(d,4);
- llInstantMessage((key)llList2String(d,3),output);
- }
- if(s == "ACTION"){
- list d = llParseString2List(m,["Object-Name: ","Region: ","Local-Position: ","Target-Id:","Target-Action:"],[]);
- if(llList2String(d,4) == "MASS_BAN" || llList2String(d,4) == "MASS_ALLOW" || llList2String(d,4) == "MASS_UNSIT"){
- if(llList2String(d,4)=="MASS_BAN")llAddToLandBanList((key)llList2String(d,3),0);
- if(llList2String(d,4)=="MASS_UNBAN")llRemoveFromLandBanList((key)llList2String(d,3));
- if(llList2String(d,4)=="MASS_ALLOW")llAddToLandPassList((key)llList2String(d,3),0);
- if(llList2String(d,4)=="MASS_UNSIT")llUnSit((key)llList2String(d,3));
- if(llList2String(d,4)=="MASS_EJECT")llEjectFromLand((key)llList2String(d,3));
- if(llList2String(d,4)=="MASS_TELEPORT")llTeleportAgentHome((key)llList2String(d,3));
- if(llList2String(d,4)=="MASS_ALLOW_RESET")llResetLandPassList();
- if(llList2String(d,4)=="MASS_BAN_RESET")llResetLandBanList();
- mass_action_email("Target-Id:"+llList2String(d,3)+"Target-Action:"+llList2String(d,4));
- }
- }
- if(s == "CONNECT"){
- list d = llParseString2List(m,["Object-Name: ","Region: ","Local-Position: ","Parcel-Id:"],[]);
- string parcel = llList2String(d,3);
- integer point = llListFindList(servers,[a]);
- if(point ==-1){
- if(llListFindList(parcels,[parcel]) == -1){
- servers += a;
- parcels += parcel;
- llSay(0,"Added new parcel.");
- }else{
- parcels = llListReplaceList(parcels,[parcel],point,point);
- llSay(0,"Updated parcel to work with new server.");
- }
- send_email(a,"RESPOND","CONNECTION_SUCCESS");
- }else{
- send_email(a,"RESPOND","CONNECTION_SUCCESS");
- llSay(0,"Server Already Connected.");
- }
- }
- text_update("++c");
- llSay(0,(string)llGetFreeMemory()+"mb free.");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement