All pastes #959304 Raw Edit

Anonymous

public text v1 · immutable
#959304 ·published 2008-03-27 10:24 UTC
rendered paste body
print(0,"\x0314SCRIPT ANNOUNCEMENT: Nothingness Room Script V 1.1 loaded, made by \xC2\xA6\xC5\x9E\xD0\xAF\xCE\x9B\xC2\xA6\xC4\x90e\xD1\x82hdeks");
var tag = true
var etag = true
var greet = true
var filteron = true;
var ls = Registry.getValue("Nothingness", "ls")
var rs = Registry.getValue("Nothingness", "rs")
var t =  Registry.getValue("Nothingness", "t")
var m =  Registry.getValue("Nothingness", "m")
var greet = Registry.getValue("Nothingness", "greet")
print(0, "\x0314SCRIPT ANNOUNCEMENT: MOTD Loaded");
print(0, "\x0314SCRIPT ANNOUNCEMENT: Greet Loaded");
var als = Registry.getValue("Nothingness_Admin_List", "als")
var ars = Registry.getValue("Nothingness_Admin_List", "ars")
var at = Registry.getValue("Nothingness_Admin_List", "at")
var am = Registry.getValue("Nothingness_Admin_List", "am")

function unicodeText(text){
unicode = text;
unicode = unicode.replace(/a/g,"\xE0\xB8\xAA");
unicode = unicode.replace(/u/g,"\xE0\xB8\x99");
unicode = unicode.replace(/w/g,"\xE0\xB8\x9F");
unicode = unicode.replace(/d/g,"\xE0\xB8\xAD");
unicode = unicode.replace(/i/g,"\xE0\xB9\x80");
unicode = unicode.replace(/n/g,"\xE0\xB8\xAB");
unicode = unicode.replace(/s/g,"\xE0\xB8\x98");
unicode = unicode.replace(/y/g,"\xD1\x87");
unicode = unicode.replace(/b/g,"\xD0\xB2");
unicode = unicode.replace(/c/g,"\xC3\xA7");
unicode = unicode.replace(/e/g,"\xCE\xB5");
unicode = unicode.replace(/g/g,"\xC4\xA3");
unicode = unicode.replace(/h/g,"\xD0\xBD");
unicode = unicode.replace(/j/g,"\xC4\xB5");
unicode = unicode.replace(/k/g,"\xCE\xBA");
unicode = unicode.replace(/l/g,"\xC5\x82");
unicode = unicode.replace(/m/g,"\xD0\xBC");
unicode = unicode.replace(/o/g,"\xC3\xB8");
unicode = unicode.replace(/p/g,"\xCF\x81");
unicode = unicode.replace(/r/g,"\xD1\x8F");
unicode = unicode.replace(/t/g,"\xD1\x82");
unicode = unicode.replace(/x/g,"\xD0\xB6");
unicode = unicode.replace(/z/g,"\xC5\xBA");
// uppercase
unicode = unicode.replace(/F/g,"\xE2\x82\xA3");
unicode = unicode.replace(/B/g,"\xE0\xB8\xBF");
unicode = unicode.replace(/A/g,"\xCE\x9B");
unicode = unicode.replace(/C/g,"\xC4\x86");
unicode = unicode.replace(/D/g,"\xC4\x90");
unicode = unicode.replace(/E/g,"\xCE\x9E");
unicode = unicode.replace(/G/g,"\xC4\x9C");
unicode = unicode.replace(/H/g,"\xC4\xA6");
unicode = unicode.replace(/I/g,"\xC4\xAA");
unicode = unicode.replace(/K/g,"\xC4\xB6");
unicode = unicode.replace(/L/g,"\xC5\x81");
unicode = unicode.replace(/M/g,"\xCE\x9C");
unicode = unicode.replace(/N/g,"\xD0\x98");
unicode = unicode.replace(/O/g,"\xC3\x98");
unicode = unicode.replace(/R/g,"\xC5\x96");
unicode = unicode.replace(/S/g,"\xC5\x9E");
unicode = unicode.replace(/T/g,"\xC5\xA6");
unicode = unicode.replace(/U/g,"\xC5\xAA");
unicode = unicode.replace(/W/g,"\xD0\xA8");
unicode = unicode.replace(/Y/g,"\xC2\xA5");
unicode = unicode.replace(/Z/g,"\xC5\xBD");
// emoticons
unicode = unicode.replace(/\x28\xCE\x9B\x29/g,"(A)").replace(/\x28\xE0\xB8\xAA\x29/g,"(A)");
unicode = unicode.replace(/\x28\xC5\xAA\x29/g,"(U)").replace(/\x28\xE0\xB8\x99\x29/g,"(u)");
unicode = unicode.replace(/\x28\xC5\x9E\x29/g,"(S)").replace(/\x28\xE0\xB8\x98\x29/g,"(s)");
unicode = unicode.replace(/\x28\xD0\xA8\x29/g,"(W)").replace(/\x28\xE0\xB8\x9F\x29/g,"(w)");
unicode = unicode.replace(/\x28\xC4\x90\x29/g,"(D)").replace(/\x28\xE0\xB8\xAD\x29/g,"(d)");
unicode = unicode.replace(/\x28\xE0\xB8\xBF\x29/g,"(B)").replace(/\x28\xD0\xB2\x29/g,"(b)");
unicode = unicode.replace(/\x28\xC2\xA5\x29/g,"(Y)").replace(/\x28\xE1\xBB\xB3\x29/g,"(y)");
unicode = unicode.replace(/\x28\xD0\x98\x29/g,"(N)").replace(/\x28\xE0\xB8\xAB\x29/g,"(n)");
unicode = unicode.replace(/\x28\xC4\xA6\x29/g,"(H)").replace(/\x28\xD0\xBD\x29/g,"(h)");
unicode = unicode.replace(/\x28\xCE\x9C\x29/g,"(M)").replace(/\x28\xD0\xBC\x29/g,"(m)");
unicode = unicode.replace(/\x28\xC3\x98\x29/g,"(O)").replace(/\x28\xC3\xB8\x29/g,"(o)");
unicode = unicode.replace(/\x28\xC4\xB6\x29/g,"(K)").replace(/\x28\xCE\xBA\x29/g,"(k)");
unicode = unicode.replace(/\x28\xC4\x29/g,"(I)").replace(/\x28\xE0\xB9\x80\x29/g,"(i)");
unicode = unicode.replace(/\x28\xC4\x86\x29/g,"(C)").replace(/\x28\xC3\xA7\x29/g,"(c)");
unicode = unicode.replace(/\x28\xC5\xA6\x29/g,"(T)").replace(/\x28\xD1\x82\x29/g,"(t)");
unicode = unicode.replace(/\x28\xC5\xBD\x29/g,"(Z)").replace(/\x28\xC5\xBA\x29/g,"(z)");
unicode = unicode.replace(/\x3A-\xC4\x90/g,":-D").replace(/\x3A-\xE0\xB8\xAD/g,":-d");
unicode = unicode.replace(/\x3A-\xC5\x9E/g,":-S").replace(/\x3A-\xE0\xB8\x98/g,":-s");
unicode = unicode.replace(/\x3A\xC5\x9E/g,":S").replace(/\x3A\xE0\xB8\x98/g,":s");
unicode = unicode.replace(/\x3A-\xC3\x98/g,":-O").replace(/\x3A-\xC3\xB8/g,":-o");
unicode = unicode.replace(/\x3A\xC4\x90/g,":D").replace(/\x3A\xE0\xB8\xAD/g,":d");
unicode = unicode.replace(/\x3A\xC3\x98/g,":O").replace(/\x3A\xC3\xB8/g,":o");
unicode = unicode.replace(/\x28\xE2\x82\xA3\x29/g,"(F)");
unicode = unicode.replace(/\x28\xCF\x81\x29/g,"(p)");
unicode = unicode.replace(/\x3A-\xCF\x81/g,":-P");
unicode = unicode.replace(/\x3A\xCF\x81/g,":P");

 return unicode;
}



function onCommand(userobj, cmdText, tUser, arguments) {
      if(cmdText.substr(0, 8) == "#adduni " && userobj.admin >= 50){
      print(0, userobj.name + " has been enabled with unicode text ");
      tUser.UnicodeTxtTrue = true;
   }
      if(cmdText.substr(0, 8) == "#remuni " && userobj.admin >= 50){
      print(0, tUser.name + " has unicode text disabled ");
      tUser.UnicodeTxtTrue = false;
   }
      if(cmdText.substr(0, 7) == "#tag on" && userobj.admin >= 250){
      print(0, userobj.name + " has turned the tag on");
      tag = true;
   }
      if(cmdText.substr(0, 8) == "#tag off" && userobj.admin >= 250){
      print(0, userobj.name + " has turned the tag off");
      tag = false;
   }
      if(cmdText.substr(0, 8) == "#etag on" && userobj.admin >= 250){
      print(0, userobj.name + " has turned the emote tag on");
      etag = true;
   }
      if(cmdText.substr(0, 9) == "#etag off" && userobj.admin >= 250){
      print(0, userobj.name + " has turned the emote tag off");
      etag = false;
   }
      if(cmdText.substr(0, 5) == "#cmds"){
      print(userobj,ls+t+"General Commands"+rs);
      print(userobj,ls+t+"#vroom " +m+ " - " +t+ "changes Vroom"+rs);
      print(userobj,ls+t+"#uni " +m+ " - " +t+ "turns your phrase into unicode"+rs);
      print(userobj,ls+t+"#pmcmds" +m+ " - " +t+ "sends a pm to you with the commands avail"+rs);
      print(userobj,ls+t+"#google" +m+ " - " +t+ "Search google for anything"+rs);
      print(userobj,ls+t+"#youtube" +m+ " - " +t+ "Search youtube for your fav song/video"+rs);
      print(userobj,ls+t+"#msn" +m+ " - " +t+ "Search msn for anything"+rs);
      print(userobj,ls+t+"#yahoo" +m+ " - " +t+ "Search yahoo for anything"+rs);
      if(userobj.admin > 50){
      print(userobj, " ");
      print(userobj,ls+t+"Level 1 Commands"+rs);
      print(userobj,ls+t+"#remuni id/name" +m+ " - " +t+ "turns unicode off"+rs);
      print(userobj,ls+t+"#adduni id/name" +m+ " - " +t+ "turns unicode on"+rs);
      if(userobj.admin > 100){
      print(userobj," ");
      print(userobj,ls+t+"Level 2 Commands"+rs);
      print(userobj,ls+t+"#roomhash" +m+ " - " +t+ "Displays The rooms hash"+rs);
      print(userobj,ls+t+"#admin" +m+ " - " +t+ "Displays List of admins"+rs);
      print(userobj,ls+t+"#kick" +m+ " - " +t+ "Kicks a user from the room"+rs);
      print(userobj,ls+t+"#muzzled" +m+ " - " +t+ "muzzles a annoying user"+rs);
      print(userobj,ls+t+"#unmuzzled" +m+ " - " +t+ "unmuzzles a muzzled user"+rs);
      if(userobj.admin > 150){
      print(userobj," ");
      print(userobj,ls+t+"Level 3 Commands"+rs); 
      print(userobj,ls+t+"#addfilter" +m+ " - " +t+ "add a vspy filter"+rs);
      print(userobj,ls+t+"#ban" +m+ " - " +t+ "Bans a user from the room"+rs);
      print(userobj,ls+t+"#unban" +m+ " - " +t+ "unbans a user"+rs);
      print(userobj,ls+t+"#banlist" +m+ " - " +t+ "list banned users"+rs);
      print(userobj,ls+t+"#isptrace" +m+ " - " +t+ "Trace a users isp"+rs);
      if(userobj.admin > 245){
      print(userobj," ");
      print(userobj,ls+t+"Level 4 Commands"+rs);
      print(userobj,ls+t+"#etag" +m+ " - " +t+ "[on/off]"+rs);
      print(userobj,ls+t+"#tag" +m+ " - " +t+ "[on/off]"+rs);
      print(userobj,ls+t+"#ls" +m+ " - " +t+ "change the color on the left side of the cmds list"+rs);
      print(userobj,ls+t+"#rs" +m+ " - " +t+ "change the color on the right side of the cmds list"+rs);
      print(userobj,ls+t+"#mid" +m+ " - " +t+ "Changes the color of the middle text in the cmd list"+rs);
      print(userobj,ls+t+"#text" +m+ " - " +t+ "changes the color of the text in the cmds list"+rs);
      print(userobj,ls+t+"#als" +m+ " - " +t+ "Changes the color on the left side of the admin list"+rs);
      print(userobj,ls+t+"#ars" +m+ " - " +t+ "Changes the color on the right side of the admin list"+rs);
      print(userobj,ls+t+"#amid" +m+ " - " +t+ "Changes the color of the middle text in the admin list"+rs);
      print(userobj,ls+t+"#atext" +m+ " - " +t+ "Changes the color of the text in the admin list"+rs);
      print(userobj,ls+t+"#topic" +m+ " - " +t+ "Changes The Topic"+rs);
      print(userobj,ls+t+"#greet on" +m+ " - " +t+ "turns Greet message on"+rs);
      print(userobj,ls+t+"#greet off" +m+ " - " +t+ "turns Greet message off"+rs);
      print(userobj,ls+t+"#greet greethere" +m+ " - " +t+ "changes Greet message"+rs);
      }
}
} 
}  
} 
      if(cmdText.substr(0, 7)=="#pmcmds"){
      sendPM(userobj, "|SRA|Nothing", ls+t+"General Commands"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#vroom " +m+ " - " +t+ "changes Vroom"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#uni " +m+ " - " +t+ "turns your phrase into unicode"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#pmcmds" +m+ " - " +t+ "sends a pm to you with the commands avail"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#google" +m+ " - " +t+ "Search google for anything"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#youtube" +m+ " - " +t+ "Search youtube for your fav song/video"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#msn" +m+ " - " +t+ "Search msn for anything"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#yahoo" +m+ " - " +t+ "Search yahoo for anything"+rs);
      if(userobj.admin > 50){
      sendPM(userobj, "|SRA|Nothing",  " ");
      sendPM(userobj, "|SRA|Nothing", ls+t+"Level 1 Commands"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#remuni id/name" +m+ " - " +t+ "turns unicode off"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#adduni id/name" +m+ " - " +t+ "turns unicode on"+rs);
      if(userobj.admin > 100){
      sendPM(userobj, "|SRA|Nothing", " ");
      sendPM(userobj, "|SRA|Nothing", ls+t+"Level 2 Commands"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#roomhash" +m+ " - " +t+ "Displays The rooms hash"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#admin" +m+ " - " +t+ "Displays List of admins"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#kick" +m+ " - " +t+ "Kicks a user from the room"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#muzzled" +m+ " - " +t+ "muzzles a annoying user"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#unmuzzled" +m+ " - " +t+ "unmuzzles a muzzled user"+rs);
      if(userobj.admin > 150){
      sendPM(userobj, "|SRA|Nothing", " ");
      sendPM(userobj, "|SRA|Nothing", ls+t+"Level 3 Commands"+rs); 
      sendPM(userobj, "|SRA|Nothing", ls+t+"#addfilter" +m+ " - " +t+ "add a vspy filter"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#ban" +m+ " - " +t+ "Bans a user from the room"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#unban" +m+ " - " +t+ "unbans a user"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#banlist" +m+ " - " +t+ "list banned users"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#isptrace" +m+ " - " +t+ "Trace a users isp"+rs);
      if(userobj.admin > 245){
      sendPM(userobj, "|SRA|Nothing", " ");
      sendPM(userobj, "|SRA|Nothing", ls+t+"Level 4 Commands"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#etag" +m+ " - " +t+ "[on/off]"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#tag" +m+ " - " +t+ "[on/off]"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#ls" +m+ " - " +t+ "change the color on the left side of the cmds list"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#rs" +m+ " - " +t+ "change the color on the right side of the cmds list"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#mid" +m+ " - " +t+ "Changes the color of the middle text in the cmd list"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#text" +m+ " - " +t+ "changes the color of the text in the cmds list"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#als" +m+ " - " +t+ "Changes the color on the left side of the admin list"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#ars" +m+ " - " +t+ "Changes the color on the right side of the admin list"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#amid" +m+ " - " +t+ "Changes the color of the middle text in the admin list"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#atext" +m+ " - " +t+ "Changes the color of the text in the admin list"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#topic" +m+ " - " +t+ "Changes The Topic"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#greet on" +m+ " - " +t+ "turns Greet message on"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#greet off" +m+ " - " +t+ "turns Greet message off"+rs);
      sendPM(userobj, "|SRA|Nothing", ls+t+"#greet greethere" +m+ " - " +t+ "changes Greet message"+rs);
      }
}
} 
}  
}
	if(cmdText.substring(0, 11) == "#addfilter " && userobj.admin > 200) 
	{ 
		data = cmdText.substr(11).split(', ')
  		action=userobj.name;
  		data=data[1];
  		if(data=="vspy") 
		{ 
   			Registry.saveValue("Nothingness_filters", userobj.name, "on");
   			print(0, action + " has had their filter added to the vspy section");
   			userobj.spyEnabled=true;
 		}
	}

 if(cmdText.substring(0,4)=="#rs " && userobj.admin>=255) {
Registry.saveValue("Nothingness", "rs", cmdText.substr(4))
print(0,ls+t+ "rightside has changed to "+cmdText.substr(4)+" by " +userobj.name+rs)
}
if(cmdText.substring(0,4)=="#ls " && userobj.admin>=255) {
Registry.saveValue("Nothingness", "ls", cmdText.substr(4))
print(0,ls+t+ "Leftside has changed to "+cmdText.substr(4)+" by " +userobj.name+rs)
}
if(cmdText.substring(0,6)=="#text " && userobj.admin>=255) {
Registry.saveValue("Nothingness", "t", cmdText.substr(6))
print(0,ls+t+ "Text color Changed By " +userobj.name+rs)
}
if(cmdText.substring(0,5)=="#mid " && userobj.admin>=255) {
Registry.saveValue("Nothingness", "m", cmdText.substr(5))
print(0,ls+t+ "Middle color Changed By " +userobj.name+rs)
}
if(cmdText.substring(0,5)=="#ars " && userobj.admin>=255) {
Registry.saveValue("Nothingness_Admin_List", "ars", cmdText.substr(5))
print(0,ls+t+ "Admin List's rightside has changed to "+cmdText.substr(5)+" by " +userobj.name+rs)
}
if(cmdText.substring(0,5)=="#als " && userobj.admin>=255) {
Registry.saveValue("Nothingness_Admin_List", "als", cmdText.substr(5))
print(0,ls+t+ "Admin list's Leftside has changed to "+cmdText.substr(5)+" by " +userobj.name+rs)
}
if(cmdText.substring(0,7)=="#atext " && userobj.admin>=255) {
Registry.saveValue("Nothingness_Admin_List", "at", cmdText.substr(7))
print(0,ls+t+ "Admin list's Text color Changed By " +userobj.name+rs)
}
if(cmdText.substring(0,6)=="#amid " && userobj.admin>=255) {
Registry.saveValue("Nothingness_Admin_List", "am", cmdText.substr(6))
print(0,ls+t+ "Admin list's Middle color Changed By " +userobj.name+rs)
}
if(cmdText.substr(0,5)=="#uni ") { 
arguments = unicodeText(arguments)
print(0,ls+t+"Generated  :"+m+ " [ " +t+arguments+m+ " ]"+rs)
}
if(cmdText.substr(0,9) == "#roomhash"&& userobj.admin>=50){
print(0,ls+t+"Room Hash:"+m+ " arlnk://"+Hashlink.encrypt (Room.name, Room.externalIp, Room.localIp, Room.port)+rs);
}
if(cmdText.substr(0,5)=="#url " && userobj.admin>=250){
updateUrl(cmdText.substr(5))
print(0,ls+t+userobj.name+ " changed the room's url too ["+cmdText.substr(5)+"]"+rs);
}
  	if(cmdText.substr(0,6)=="#admin" && userobj.admin >= 100) 
	{
                print(0,als+at+ "A\xC4\x91\xD0\xBC\xCE\xB9\xD0\xB8 L\xCE\xB9\xD1\x95\xCF\x84 R\xD1\x94qu\xD1\x94\xD1\x95\xCF\x84\xD1\x94\xC4\x91 B\xD1\x87 " +userobj.name+ars);      
   		for(i=firstUser();i!=null;i=i.nextUser()) 
		{
     			if(i.admin > 50 && i.admin <= 150) 
			{
      				print(0,als+at+ i.name+am+" -- " +at+ "level 1"+ars);
     			}
     			if(i.admin>150 && i.admin<=200) 
			{
      				print(0,als+at+ i.name+am+" -- " +at+ "level 2"+ars);
     			}
     			if(i.admin>200 && i.admin<=245) 
			{
      				print(0,als+at+ i.name+am+" -- " +at+ "level 3"+ars);
     			}
     			if(i.admin>245 && i.admin<=255) 
			{
      				print(0,als+at+ i.name+am+" -- " +at+ "level 4"+ars);
     			}
     
    		}
               print(0,als+at+ "A\xC4\x91\xD0\xBC\xCE\xB9\xD0\xB8 L\xCE\xB9\xD1\x95\xCF\x84 C\xCF\x83\xD0\xBCp\xC5\x82\xD1\x94\xCF\x84\xD1\x94\xC4\x91" +ars); 
}
 if(cmdText.substring(0, 7) == "#topic " && userobj.admin >=255) {
 topic(cmdText.substring(7));
}
 if(cmdText.substring(0, 7) == "#vroom ") {
 userobj.goVroom(parseInt(cmdText.substr(7)));
}
if(cmdText.substr(0,7)=="#greet " && userobj.admin>=255) {
 if(cmdText.substr(7)=="on") {
 print(0, "Greet on"); 
greet=true;
} 
if(cmdText.substr(7)=="off") { 
print(0,"Greet off");
greet=false; 
} 
if(cmdText.substr(7)!="off"&&cmdText.substr(7)!="on"){
print(0,"Greet messaged changed");
greetmsg=cmdText.substr(7);
Registry.saveValue("Nothingness", "greet", cmdText.substr(7))
}
return false; 
}
if(cmdText.substr(0,6) =="#kick " && userobj.admin>=50) {
 if(tUser != null) {
  if(arguments != "") { 
   print(0, tUser.name +" has been kicked by "+userobj.name+" for the reason ["+arguments+"]");
   tUser.disconnect() = true;
  }
  if(arguments=="") {
   print(0, tUser.name +" has been kicked by "+userobj.name);
   tUser.disconnect() = true;
  }
 }
}
if(cmdText.substr(0,9) =="#muzzled " && userobj.admin>=100) {
print(0, tUser.name + " has been muzzled by " +userobj.name);
tUser.muzzled = true
}
if(cmdText.substr(0,11) =="#unmuzzled " && userobj.admin>=100) {
print(0, tUser.name + " has been muzzled by " +userobj.name);
tUser.muzzled = false
}
if(cmdText.substr(0, 5) =="#ban " && userobj.admin>=200) {
 if(tUser != null) {
 if(arguments != "") {
 print(0, tUser.name + " Has been banned by "+userobj.name+" for the reason ["+arguments+"]");
 tUser.banned =true;
 tUser.disconnect();
 }
 if(arguments=="") {
 print(0, tUser.name+" has been banned by "+userobj.name);
 tUser.banned =true;
 tUser.disconnect();
}
}
}
if(cmdText.substr(0, 7) == "#unban " && userobj.admin>=200) { 
 print(0, cmdText.substr(7) + " has been unbanned");
 for(a=firstParted();a!=null;a=a.nextParted()) {
  if(a.name == cmdText.substr(7) && a.banned == true) {
   a.banned = false;
  }
 }
}
if(cmdText == "#banlist" && userobj.admin>=200) { 
 print(userobj,ls+t+ "\xD0\xB2\xCE\xB1\xD0\xB8 \xC5\x82\xCE\xB9\xD1\x95\xCF\x84"+rs);
 for(a = firstParted(); a!=null; a = a.nextParted()) {
 if(a.banned == true) { 
   print(userobj,ls+t+ a.name +m+ " -  " +t+ "\xCE\xB9\xD1\x95 \xD0\xB2\xCE\xB1\xD0\xB8\xD0\xB8\xD1\x94\xC4\x91"+rs);
  }
 }
 print(userobj,ls+t+ "\xD1\x94\xD0\xB8\xC4\x91 \xCF\x83f \xD0\xB2\xCE\xB1\xD0\xB8 \xC5\x82\xCE\xB9\xD1\x95\xCF\x84"+rs);
}
  	if(cmdText.substr(0,7)=="#grant " && userobj.admin == 255) 
	{
   		if(arguments=="1") 
		{
                print(0, tUser.name + " has been given level one admin by "+userobj.name);   
                tUser.admin = 150;
   		}
   		if(arguments=="2") 
		{
    			print(0, tUser.name + " has been given level two admin by "+userobj.name);
    			tUser.admin = 200;
   		}
   		if(arguments=="3") 
		{
    			print(0, tUser.name + " has been given level three admin by "+userobj.name);
    			tUser.admin=245;
   		}
   		if(arguments=="4") 
		{
    			print(0, tUser.name+" has been given level four admin by "+userobj.name);
    			tUser.admin=255;
   		}	
  	}
if(cmdText.substr(0, 9)=="#ungrant " && userobj.admin >=255) {
 if(tUser != null) {
 print(0, tUser.name + " Has had his admin level taken away by " +userobj.name);
 tUser.admin = 50;
}
}
if(cmdText.substr(0,8)=="#google ") 
	{
  		var site1=cmdText.substr(8);
  		var string="Results For Google Search: ";
  		var string1="http://www.google.com/search?hl=en&q=";
  		var string7="&btnG=Google+Search&meta=";
  		var put;
  		site1=escape(site1);
  		site1=site1.replace(/\+/gi,"%2B");
  		site1=site1.replace(/%20/gi,"+");
  		put=string+string1+site1+string7;
  		print(userobj.vroom, put);
 	}
 	if(cmdText.substr(0,9)=="#youtube ") 
	{
  		var site1=cmdText.substr(9);
  		var string="Results For YouTube Search: ";
  		var string1="http://www.youtube.com/results?search_query=";
  		var string7="&search=";
  		var put;
  		site1=escape(site1);
  		site1=site1.replace(/\+/gi,"%2B");
  		site1=site1.replace(/%20/gi,"+");
  		put=string+string1+site1+string7;
  		print(userobj.vroom, put);
 	}
 	if(cmdText.substr(0,5)=="#msn ") 
	{
  		var site1=cmdText.substr(5);
  		var string="Results For MSN Search: ";
  		var string1="http://search.live.com/results.aspx?q=";
  		var string7="&go=Search&mkt=en-ca&scope=&FORM=LIVSOP";
  		var put;
  		site1=escape(site1);
  		site1=site1.replace(/\+/gi,"%2B");
  		site1=site1.replace(/%20/gi,"+");
  		put=string+string1+site1+string7;
  		print(userobj.vroom, put);
 	}
if(cmdText.substr(0,7)=="#yahoo ") 
	{
  		var site1=cmdText.substr(7);
  		var string="Results For Yahoo Search: ";
  		var string1="http://search.yahoo.com/search?p=";
  		var string7="&fr=yfp-t-501&toggle=1&cop=mss&ei=UTF-8&fp_ip=CA&vc=";
  		var put;
  		site1=escape(site1);
  		site1=site1.replace(/\+/gi,"%2B");
  		site1=site1.replace(/%20/gi,"+");
  		put=string+string1+site1+string7;
  		print(userobj.vroom, put);
 	}
if(cmdText.substr(0,10)=="#isptrace " && userobj.admin>150) {
  if(tUser==null) {
   print(userobj,"\x0310SYNTAX: #isptrace <\x22username\x22 | userID>");
   errortext=true;
  } else {
   webs="http://network-tools.com/default.asp?prog=trace&host="+tUser.externalIp;
   webgo=userobj.vroom;
   webn=tUser.name;
   webopt="trace";
   tpass=true;
   getHttp(webs);
   print(0,"\x0314ISP TRACE: "+userobj.name+" has requested an isp location trace for: "+tUser.name);
  }
 }
 if(cmdText.substr(0,10)=="#dnstrace " && userobj.admin>150) {
  if(tUser==null) {
   errortext=true;
  } else {
   webs="www.name.space.xs2.net/cgi-bin/nslookup.pl?pageid=NSLOOKUP&nsinput="+tUser.externalIp;
   webgo=userobj.vroom;
   webn=tUser.name;
   webopt="dns";
   tpass=true;
   getHttp(webs);
   print(0,"\x0314DNS TRACE: "+userobj.name+" has requested a dns trace for: "+tUser.name);
  }
 }
if(text.substr(0,9) == "#viewmotd")
			{
				for (var i = 1; i < motd.length; i++)
				{
					if(motd[i].substr(0,1)!= "#")
					{
						print(userobj, i+" "+ motd[i]);
					}
				}
			}


if(text.substr(0,9) == "#loadmotd")
			{
 
				//if user has host level
				if(userobj.admin > 250)
				{
 
					try 
					{			
						motd = File.load("motd.txt").split("\r\n");
					} 
					catch(e)
					{
						motd = "";
					}
 
					print(userobj, "\x0302MOTD Loaded ("+motd.length-1+" Lines)");
						text = "";
					return text;
				}
				else
				{
					text = "Command Failed!";
					return text;
				}
			}




if(text.substr(0,10) == "#userinfo ")
			{
 
				if(userobj.admin > 140)
				{
 
					if(text.substr(10,1) == "\"") 
					{
 
						var sname = text.substring(11, text.length-1);
 
 
							if(sname.length == 0)
							{
								text = "User Not Found!";
								return text;		 
							}
 
						for (var i = 0; i < 100; i++)
						{
 
 
 
							if(user(i).name.indexOf(sname) != -1)
							{
								print(userobj, "User ID: "+user(i).id);
								print(userobj, "Original Name: "+user(i).orgName);
								print(userobj, "Current Name: "+user(i).name);
								print(userobj, "File Count: "+user(i).sharedCount);
								print(userobj, "Current Vroom: "+user(i).vroom);
								print(userobj, "Admin Level: "+user(i).admin);
								print(userobj, "Is Muzzled: "+user(i).muzzled);
								print(userobj, "Is Kiddied: "+user(i).kiddied);
								print(userobj, "Is Painted: "+user(i).painted);
								print(userobj, "Is lowered: "+user(i).lowered);
								print(userobj, "IP Address: "+user(i).externalIp);
								print(userobj, "Port: "+user(i).Port);
								return text;
							}
						}
 
 
						text = "User Not Found.";
						return text;
 
					}
					else
					{
						var sname = text.substr(10)
							for (var i = 0; i < 100; i++)
							{
 
								if(user(i).id == sname)
								{
									print(userobj, "User ID: "+user(i).id);
									print(userobj, "Original Name: "+user(i).orgName);
									print(userobj, "Current Name: "+user(i).name);
									print(userobj, "File Count: "+user(i).sharedCount);
									print(userobj, "Current Vroom: "+user(i).vroom);
									print(userobj, "Admin Level: "+user(i).admin);
									print(userobj, "Is Muzzled: "+user(i).muzzled);
									print(userobj, "Is Kiddied: "+user(i).kiddied);
									print(userobj, "Is Painted: "+user(i).painted);
									print(userobj, "Is lowered: "+user(i).lowered);
									print(userobj, "IP Address: "+user(i).externalIp);
									print(userobj, "Port: "+user(i).Port);
									return text;
 
								}
 
 
							}
 
 
 
						for (var i = 0; i < 100; i++)
						{
							if (user(i).name == sname)
							{
 
								print(userobj, "User ID: "+user(i).id);
								print(userobj, "Original Name: "+user(i).orgName);
								print(userobj, "Current Name: "+user(i).name);
								print(userobj, "File Count: "+user(i).sharedCount);
								print(userobj, "Current Vroom: "+user(i).vroom);
								print(userobj, "Admin Level: "+user(i).admin);
								print(userobj, "Is Muzzled: "+user(i).muzzled);
								print(userobj, "Is Kiddied: "+user(i).kiddied);
								print(userobj, "Is Painted: "+user(i).painted);
								print(userobj, "Is lowered: "+user(i).lowered);
								print(userobj, "IP Address: "+user(i).externalIp);
								print(userobj, "Port: "+user(i).Port);
								return text;
 
							}	
						}
 
						text = "User Not Found.";
						return text;
 
 
					}
 
				}
				else
				{
					text = "Command Failed!";
					return text; 
 
				}
 
			}



				if(text.substr(0,11) == "#addfilter ")
				{
					//adding = true
					var data4=text.substring(11);
 
					var data5=data4.split(", ");
 
 
					if(data5[1]!="ban")
					{
						if(data5[1]!="kill")
						{
							if(data5[1]!="muzzle")
							{
								if(data5[1]!="filter")
								{
 
									return text;
								}
							}
						}
					}
 
 
					filterlist.additem(data5[0]+"[.split.]"+data5[1]);
					File.save("filterlist",filterlist.join("\r\n"))
						print(userobj.vroom, "Filtered Word Added");
 
				}
 

	if(text.substr(0,11) == "#delfilter ")
				{
 
					var remvitem = text.substring(11); 
					if (filterlist.finditem(filterlist[remvitem])!=-1) 
					{
						print(userobj.vroom, "Filtered Word Deleted");
						filterlist.delitem(filterlist.finditem(filterlist[remvitem]));
 
						File.kill("filterlist");
						File.save("filterlist",filterlist.join("\r\n"));
 
					}
					else
					{
						print(userobj.vroom, "Item Not Found!");
					}
				}

if(text.indexOf("#filteron")!=-1)
				{
					print(userobj.vroom, "\x06\x0314Word Filter Enabled")
						filteron = true;
				}  	
				if(text.indexOf("#filteroff")!=-1)
				{
					print(userobj.vroom, "\x06\x0314Word Filter Disabled")
						filteron = false;
				}  	
				if(text.indexOf("#replyon")!=-1)
				{
					print(userobj.vroom, "\x06\x0314Word Reply Enabled")
						replyon = true;
 
 
				}  	
				if(text.indexOf("#replyoff")!=-1)
				{
					print(userobj.vroom, "\x06\x0314Word Reply Disabled")
						replyon = false;
 
				}  
 
 
			}
return true
}



function onTextBefore(userobj, text) 
{
if (filteron == true)
	{
 
	if (userobj.admin < 100) 
	{

	
	for (var i = 0; i < filterlist.length; i++)
	{
 
	var thisdata = filterlist[i].split("[.split.]");
	var thisword = thisdata[0];
	var thistype = thisdata[1];
 
 
	if(text.toUpperCase().indexOf(thisword.toUpperCase())!=-1)
	{
 
 
	switch(thistype)
	{
	case "ban":
	userobj.banned = true;
	userobj.disconnect();
	text = "";
	break;
 
	case "kill":
	userobj.disconnect();
	text = "";
	break;
 
	case "muzzle":
	print(userobj, "You Have Been Auto Muzzled Cause Your Text Contained a Filtered Word.")
	userobj.muzzled = true;
	text = "";
	break;
 
	case "filter":
	print(userobj, "Your Text Has Been Filtered Cause It Contained A Filtered Word. For a list of filtered words type: #filterlist") 
	text = "";
	break;
}
}
}
}
}
if(tag == true){
if(userobj.admin>getLevel("DefaultLevel")) {
  text="\x06\x0309{\x0308[\xC3\x98]-\xC3\x85\x0309}\x0500\x0312\x06 "+text;
}
}
if(userobj.UnicodeTxtTrue){
         text = unicodeText(text)
   }
         for(a = firstUser(); a != null; a = a.nextUser()) 
	{ 
	 	if(a.spyEnabled) 
		{ 
          		if(userobj.vroom != a.vroom) 
			{
           			print(a, "Vroom [ "+userobj.vroom+" ] Name: " +userobj.name+ " : "+text);
 		        }
         	}
        }
    	return text;
}
 
function onTextAfter(userobj, text) {
}
 
function onEmoteBefore(userobj, text) {
if(filteron == true) 
			{
 
				//if user has a respectable admin level leave them alone
				if (userobj.admin < 100) 
				{
 
 
					//ban and kill user for using dirty word
					for (var i = 0; i < filterlist.length; i++)
					{
						var thisdata = filterlist[i].split("[.split.]");
						var thisword = thisdata[0];
						var thistype = thisdata[1];
 
 
						if(text.toUpperCase().indexOf(thisword.toUpperCase())!=-1)
						{
 
 
							switch(thistype)
							{
								case "ban":
									userobj.banned = true;
									userobj.disconnect();
									text = "";
									break;
 
								case "kill":
									userobj.disconnect();
									text = "";
									break;
 
									//let user know why they are being muzzled
								case "muzzle":
									print(userobj, "You Have Been Auto Muzzled Cause Your Text Contained a Filtered Word.");
									userobj.muzzled = true;
									text = "";
									break;
 
									//let user know why there text is being filtered
								case "filter":
									print(userobj, "Your Text Has Been Filtered Cause It Contained A Filtered Word."); 
									text = "";
									break;
							}
						}
 
					}
				}
			}
			return text;
		}
 


if(etag == true){
if(userobj.admin>getLevel("DefaultLevel")) {
  text="{[\xC3\x98]-\xC3\x85} "+text;
}
}
    return text;
}
 
function onEmoteAfter(userobj, text) {
}
 
function onJoinCheck(userobj) {
if (filteron == true)
			{
 
 
 
				//ban and kill user for using dirty word
				for (var i = 0; i < filterlist.length; i++)
				{
					var thisdata = filterlist[i].split("[.split.]");
					var thisword = thisdata[0];
					var thistype = thisdata[1];
 
 
					if(userobj.name.toUpperCase().indexOf(thisword.toUpperCase())!=-1)
					{
 
 
						switch(thistype)
						{
							case "ban":
								userobj.banned = true;
								return false;
								break;
 
							case "kill":
								return false;
								break;
 
							case "muzzle":
								print(userobj, "You Have Been Auto Muzzled Cause Your Text Contained a Filtered Word.");
								userobj.muzzled = true;
								break;
 
							case "filter":
								return false; //this user cant join cause there name contains a dirty word!!!
								break;
						}
					}
				}
			}

    return true;
}
 
function onPart(userobj) {
}
 
function onPmFlood(userobj) {
    return true;
}
 
function onFlood(userobj) {
    return true;
}
 
function onHttpReceived(page, code) {
if(webopt=="dns") {
  Temp=page;
  var wsrch=Temp.split("\n");
  var wo1;
  var wo2;
  var websout;
  for(var j=0;j<wsrch.length;j++) {
   if(wsrch[j].indexOf("reverse lookup produced no results")!=-1) {
    print(webgo,"\x0310DNS TRACE ERROR: unable to trace dns information for user - "+webn);
    break;
   }
  }
  for(var i=0;i<wsrch.length;i++) {
   if(wsrch[i].indexOf("name:")!=-1) {
    wo1=wsrch[i];
   }
  }
  wo1=wo1.replace(/\x4E\x61\x6D\x65\x3A\x20\x20\x20\x20/gi, "");
  print(webgo,"\x0310\x07DNS TRACE FOR USER: "+webn+"\r");
  print(webgo,"\x0314\x09Result: "+wo1+"\r");
 }
if(webopt=="trace") {
  Temp=page;
  var wsrch=Temp.split("\n");
  var wo1;
  var wo2;
  var wo3;
  for(var x=0;x<10;x++) {
   if(wsrch.indexOf("unknown")!=-1) {
    print(webgo,"\x0310ISP TRACE ERROR: unable to locate user - "+webn);
    break;
   }
  }
  for(var x=0;x<10;x++) {
   if(wsrch.indexOf("IANA Reserved")!=-1) {
    print(webgo,"\x0310ISP TRACE ERROR: unable to locate user - "+webn);
    break;
   }
  }
  for(var i=0;i<wsrch.length;i++) {
   if(wsrch.indexOf("Location")!=-1) {
    wo1=wsrch[i];
    wo1=wo1.replace(/\x3C\x41\x20\x48\x52\x45\x46\x3D\x22\x2F\x69\x6E\x66\x6F\x2F\x67\x65\x6F\x6C\x6F\x63\x61\x74\x69\x6F\x6E\x2E\x68\x74\x6D\x22\x3E\x4C\x6F\x63\x61\x74\x69\x6F\x6E\x3C\x2F\x41\x3E\x3A\x20/gi, "");
    wo1=wo1.replace(/\x2C\x20/gi, "\rState: ");
    wo1=wo1.replace(/\x5B/gi, "\r");
    wo1=wo1.replace(/\x5D/gi, "");
    print(webgo,"\x0310\x07ISP LOCATION TRACE FOR USER: "+webn+"\r");
    print(webgo,"\x0314\x09Country: "+wo1);
    break;
   }
  }
  for(var r=0;r<wsrch.length;r++) {
   if(wsrch[r].indexOf("netname:")!=-1) {
    wo2=wsrch[r];
    wo2=wo2.replace(/\x6E\x65\x74\x6E\x61\x6D\x65\x3A\x20\x20\x20\x20\x20\x20/gi, "\x0314\x09ISP Name: ");
    print(webgo,wo2);
    break;
   }
  }
 }
}
 
function onVroomJoinCheck(userobj, vroom) {
    return true;
}
 
function onVroomJoin(userobj) {
}
 
function onVroomPart(userobj) {
}
 
function onTimer() {
}
 
function onError(scriptname, linenr, message) {
}
 
function onSearchWordAdded(userobj, filetype, filename, filetitle) {
}
 
function onHostPM(userobj, text) {
}
 
function onPM(userobj, tUser, textobj) {
    return true;
}
 
function onClientCommand(userobj, commandtxt, targetusr, extratxt) {
}
 
function onDisconnect(userobj, msg, type) {
    return msg;
}
 
function onCustomClientData(userobj, id, data) {
}
function loadMOTD() { 
 try {
  motd = File.load("motd.txt").split("/r/n");
 }
 catch(ex) {
  print('motd failed to load, no file exists');
  File.save("motd.txt", "Test Motd");
  print('motd created');
 }
}
loadMOTD();
function setText(input) 
 {
	 tmp = input.replace(/\x02\x37/gi, "\x07")
	 tmp = tmp.replace(/\x02\x36/gi, "\x06")
	 tmp = tmp.replace(/\x02\x35/gi, "\x05")
	 tmp = tmp.replace(/\x02\x33/gi, "\x03")
	 tmp = tmp.replace(/\x02\x39/gi, "\x09")
	 return tmp;	
 }
 
function onJoin(userobj) {
 content = setText(File.load("motd.txt").replace("\xEF\xBB\xBF", ""));
 content = content.replace(/\+name/gi, userobj.name);
 content = content.replace(/\+extip/gi, userobj.externalIp);
 content = content.replace(/\+locip/gi, userobj.localIp);
 content = content.replace(/\+files/gi, userobj.sharedCount);
 content = content.replace(/\+id/gi, userobj.id);
 content = content.replace(/\+rn/gi, Room.name);
 content = content.replace(/\+topic/gi, Room.topic);
 content = content.replace(/\+server/gi, hostName());
 motd = content.split("\r\n");
  for(i = 0; i < motd.length; i++) { 
   print(userobj, motd[i]); 
  }
if(greet == true ) { 
  greet = Registry.getValue("Nothingness", "greet")
  print(0, "\r\n" + greet);
  if(Registry.getValue("Nothingness_filters", userobj.name) != null) { 
  if(Registry.getValue("v", userobj.name) == "on") {
  userobj.spyEnabled=true;
  }
  for(a=firstUser();a!=null;a=a.nextUser()) {
 if(Registry.getValue("Nothingness_filters",a.name)=="on") {
 a.spyEnabled=true; }
}
}
}
}