convert from lua4 to lua5
 

News:

29 December 2022 - PtokaX 0.5.3.0 (20th anniversary edition) released...
11 April 2017 - PtokaX 0.5.2.2 released...
8 April 2015 Anti child and anti pedo pr0n scripts are not allowed anymore on this board!
28 September 2015 - PtokaX 0.5.2.1 for Windows 10 IoT released...
3 September 2015 - PtokaX 0.5.2.1 released...
16 August 2015 - PtokaX 0.5.2.0 released...
1 August 2015 - Crowdfunding for ADC protocol support in PtokaX ended. Clearly nobody want ADC support...
30 June 2015 - PtokaX 0.5.1.0 released...
30 April 2015 Crowdfunding for ADC protocol support in PtokaX
26 April 2015 New support hub!
20 February 2015 - PtokaX 0.5.0.3 released...
13 April 2014 - PtokaX 0.5.0.2 released...
23 March 2014 - PtokaX testing version 0.5.0.1 build 454 is available.
04 March 2014 - PtokaX.org sites were temporary down because of DDOS attacks and issues with hosting service provider.

Main Menu

convert from lua4 to lua5

Started by Crni_Panter, 02 May, 2005, 12:24:37

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Crni_Panter

hello

i need thes scripts converted to lua5 if it is posible
sorry for my bad english
-------------------------------------------------------------
1. script
-------------------------------------------------------------
--//RangeBlaster v 0.1 by veselo-srce
--//IP Keys written by ilo6

Bot = "[Kazna]"

Ranges = {}

function Main()
   --frmHub:RegBot(Bot)
   LoadIps()
end

function LoadIps()
   local tmp = 0
   local handle = openfile("txt/ranges.dat","r")
   line = read(handle)
   while line do
      tmp = tmp + 1
      local s,e,ipr1,ipr2 = strfind(line,"(%S+)|(%S+)")
      if ipr2 == nil then
         SendToAll(Bot,"Error on line "..line)
      end
      local s,e,ipa1,ipb1,ipc1,ipd1 = strfind(ipr1, "(%d*).(%d*).(%d*).(%d*)")
      local s,e,ipa2,ipb2,ipc2,ipd2 = strfind(ipr2, "(%d*).(%d*).(%d*).(%d*)")
      si1 = CheckNumber(ipa1)..CheckNumber(ipb1)..CheckNumber(ipc1)..CheckNumber(ipd1)
      si2 = CheckNumber(ipa2)..CheckNumber(ipb2)..CheckNumber(ipc2)..CheckNumber(ipd2)
      Ranges[si1] = si2
   line = read(handle)
   end

end

function Blocked(userip)
   local s,e,range1,range2,range3,range4 = strfind(userip,"(%d+).(%d+).(%d+).(%d+)")
   checker = CheckNumber(range1)..CheckNumber(range2)..CheckNumber(range3)..CheckNumber(range4)

   --SendToAll(Bot,"IP-Test..."..checker)

   for i,p in Ranges do
      local s,e,xstart = strfind(i, "(%d*)")
      local s,e,xend = strfind(p, "(%d*)")
   
      if checker > xstart and checker < xend then
         collectgarbage()
         flush()
         return 1
      else
      end
   end   
end

function CheckNumber(number)
   numbera = tonumber(number)
   if numbera < 10 then
      numbera = "00"..number
   elseif numbera < 100 then
      numbera = "0"..number
   else
      numbera = number
   end
   return numbera
end

function DataArrival(user,data)
   if strsub(data, 1, 13) == "$ValidateNick" then
      if Blocked(user.sIP) == 1 then
         user:SendData(Bot, "Svakojake BANDITE ne primamo na hub......ODJEBI....!!!!.")
         user:SendData(Bot, "HAHAHAHAHAHAHAHAHAHAHAHA.....")
         SendToOps(Bot, "? OP MSG ? User: "..data..", sa IP: ["..user.sIP.."], pokusava nesto nemoguce: "..Bot.." - Ne dajem mangupu da udje :)))))).....")
         user:TempBan()
         user:Disconnect()
      end
   end
end


-------------------------------------------------------------------------
2. script
-------------------------------------------------------------------------
----------------------------------------------------
-- Set Botname
BotName = "Pandur"
-- Set action for advertising ( 0=Warn / 1=Disconnect / 2=Kick / 3=Ban)
Action = 0
-- Set OK hubs that are allowed to be entered.
OkHubs = {
"veselo-srce.no-ip.org",
"veselo-srce2.no-ip.org",
"myhub",
"myhub",
}
-- Accepted "sites" or triggers infront of the address
Sites = {
"www.",
"http",
"ftp",
"irc.",
"ilo6",
}
-- Denyed/not allowed adver's sent in chat/pm
Adver = {
"noip.com",
"noicom",
"noi.com",
"noip.co",
"noipco",
"nop.com",
"nopcom",
"ipcom",
"no ip com",
"no.ip",
"noip",
"n.o.i.p.c.o.m",
"com",
"c o m",
"noip.info",
"n.o.i.p.i.n.f.o",
"noiinfo",
"noi.info",
"ipinfo",
"nopinfo",
"noipinfo",
"nop.info",
"nopinf",
"noip.inf",
"no-ip.info",
"no-ip",
"info",
"i n f o",
"n.o.i.p.o.r.g",
"noip.org",
"noiporg",
"iporg",
"no-ip.org",
"myftp",
"m.y.f.t.p",
"dyndns",
"d.y.n.d.n.s",
"dns2go",
"d.n.s.2.g.o",
"dynip",
"d.y.n.i.p",
"d2g",
"dynu",
"dynu.com",
"dynucom",
"d.y.n.u.c.o.m",
"bosniahub.com",
"m.i.n.e",
"kick-ass.net",
"k.i.c.k.a.s.s.n.e.t",
"kickassnet",
"sytes.net",
"s.y.t.e.s.n.e.t",
"sytesnet",
"homeip",
"h.o.m.e.i.p",
"homeip",
"mine.nu",
"m.i.n.e.n.u",
"minenu",
"servebeer",
"s.e.r.v.e.b.e.e.r",
"zappto",
"z.a.p.p.t.o",
"serveftp",
"s.e.r.v.e.f.t.p",
"sytes",
"s y t e s",
"abductor",
"amirhibeljicnino",
"banjaluka23",
"balkan87",
"balkanspies",
"BigBen",
"B.i.g.B.e.n",
"bosniahub",
"bosnahub",
"crvenazvezda",
"c.r.v.e.n.a.z.v.e.z.d.a",
"dubica",
"d.u.b.i.c.a",
"elko18",
"gojzar",
"g.o.j.z.a.r",
"gollum",
"g.o.l.l.u.m",
"zabavahub",
"gorenjska",
"g.o.r.e.n.j.s.k.a",
"gypsyhub",
"hotelbalkan",
"scafe",
"s.c.a.f.e",
"s.i.o.f.f",
"ircmostar",
"nasepodrinje",
"studiomuzika",
"starcevica",
"sloveniaonline",
"sloveniaboss",
"sloskate",
"SLOShareReactor",
"sarajevo1984",
"delijesever",
"d.e.l.i.j.e.s.e.v.e.r",
"amirhibeljicnino",
"banjaluka23",
"balkan87",
"srbijanoipcom",
"hopto.org",
"h.o.p.t.o.o.r.g",
"hoptoorg",
"zappto.org",
"z.a.p.t.o.o.r.g",
"hub.sioff.net",
"h.u.b.s.i.o.f.f.n.e.t",
"hub.scafe.ws",
"h.u.b.s.c.a.f.e.w.s",
"gollum.ho.com",
"abductornoipcom",
"asczaptoorg",
"amirhibeljicninonoipinfo",
"banjaluka23noipinfo",
"balkan87noipinfo",
"balkanacnoipcom",
"balkanspiesservebeercom",
"beograddynucom",
"b.e.o.g.r.a.d.d.y.n.u.c.o.m",
"BigBensytesnet",
"bihnoipinfo",
"bosniahubcom",
"bosnahubnoipinfo",
"beograd.no-ip.com",
"b.e.o.g.r.a.d.n.o.i.p.c.o.m",
"bosniahubnet",
"BosniaHubnet",
"bosnianoipinfo",
"bosnianoipcom",
"cmoknoipcom",
"crousanoipcom",
"croatiaserveftpcom1420",
"croatiaserveftpcom",
"croatianoiporg",
"croatiagotdnsorg3285",
"croatiagotdnsorg",
"crvenazvezdanoipinfo",
"damiraganoiporg",
"dijasporanoipcom",
"DCHOCOM",
"dchocom",
"d.c.h.o.c.o.m",
"dcbalcannet",
"d.c.b.a.l.c.a.n.n.e.t",
"dubicanoipcom",
"elko18noipcom",
"exyunoipcom",
"e.x.y.u",
"gojzarnoipinfo",
"gollumhocom",
"gorenjskanoipcom",
"gypsyhubnoipinfo",
"hanibalgalaxynoipinfo",
"hotelbalkannoipcom",
"hubscafews",
"hubsioffnet",
"ircmostarminenu",
"jaraninoipcom",
"konjicenoipinfo",
"krajinanoiporg",
"k.r.a.j.i.n.a.n.o.i.p.o.r.g",
"krajinanoipcom",
"kpajuhanoiporg",
"krajinakickassnet",
"k.r.a.j.i.n.a.n.o.i.p.c.o.m",
"k.p.a.j.u.h.a.n.o.i.p.o.r.g",
"k.r.a.j.i.n.a.k.i.c.k.a.s.s.n.e.t",
"legijanoiporg",
"mangupdynucom",
"mgradistenoipinfo",
"mujonoipinfo",
"nasepodrinjenoipcom",
"nektarnoipcom",
"pimpekhoptoorg",
"planetslovenianoipcom",
"poljubacservebeercom",
"posavinanoipcom",
"slofilesharingcom",
"studiomuzikanoipcom",
"starcevicanoipinfo",
"some1elsenoiporg",
"sloveniahoptoorg",
"sloveniaonlinenoipcom",
"sloveniabosszaptoorg",
"sloskatenet",
"sajkocom",
"s.a.j.k.o.c.o.m",
"srbijanoipinfo",
"srbijanoipcom",
"SLOShareReactornoiporg",
"sarajevo1984minenu",
"studiomuzikanoipcom",
"topmuzikanoipcom",
"topbosna.no-ip.org",
"nektarnoipcom",
"yuwakicksassnet",
"vojskanoipcom",
"v.o.j.s.k.a.n.o.i.p.c.o.m",
"vucjaknoipcom",
"zabavahubnoipcom",
"zabavanoipcom",
"zezanjenoipcom",
"wwwhudinjanet",
"wwwdelijesevercjbnet",
"amirhibeljicninonoipinfo",
"banjaluka23noipinfo",
"balkan87noipinfo",
"balkanacnoipcom",
"zandarmerija.no-ip.com",
"cro.ath.cx:123",
"croathcx123",
"cro.a t h.cx:1 2 3",
"c r o . a t h . c x : 1 2 3",
"c r o.a t h.c x: 1 2 3",
"cro.ath.cx",
"athcx",
"ath.cx",
"croath",
"ath..cx",
"cro..ath..cx:.123",
"croathcx",
"cro.ath.",
"cro4evernoiporg",
"cro4ever.no-ip",
"cro4ever.no-ip.org",
"ramonesnoiporg",
"ramones.no-ip.",
"z a n d a r m e r i j a . n o - i p . c o m",
"z a n d a r m e r i j a n o i p c o m",
"z a n d a r m e r i j a",
"dc.ho.com",
"dc.balkan.net",
"topbosna",
"t o p b o s n a",
"evropahub",
"zajko",
"z a j k o",
"za j ko",
"zaj ko",
"e.v.r.o.p.a.h.u.b",
"dijaspora",
"sajko.com",
"delijesever",
"hudinja.net",
"sloskate.net",
"kicks-ass",
"k.i.c.k.a.s.s",
"gotdns",
"udgnet",
}
-- Extentions belonging to Adver above.
Ext = {
"ilo6",
"",
"",
"",
"",
}
-- Change characters.
CharCh = {
["%(dot%)"]=".",
["dot"]=".",
["%(%-%)"]="-",
["#"]="",
["!"]="",
["+"]="",
["%-"]="",
["*"]="",
["/"]="",
[" '"]="",
}
---------------------------------------------------------------
-- DON'T EDIT BELLOW --
tabAdvert = {}

function Main()
   frmHub:RegBot(BotName)
end

function DataArrival(curUser, data)
   local Msg = ""
   if strsub(data, 1, 1) == "<" and not strfind(data,"> !") and not curUser.bOperator then
      local _, _,line = strfind(data, "^%b<>%s+(.*)")
      Msg = line
      for i,v in CharCh do
             line=gsub(line, i, v)
      end
      if CheckAdver(curUser,line,"in Main-Chat, typing",Msg)==1 then
         return 1
      end
   elseif ( strsub(data, 1, 4) == "$To:" ) and not curUser.bOperator then
      local _,_,to,from,line = strfind(data,    "%$To:%s(%S+)%sFrom:%s(%S+)%s$(.*)$")
      Msg = line
      for i,v in CharCh do
             line=gsub(line, i, v)
      end
      if CheckAdver(curUser,line,"in PM to "..to..", typing",Msg)==1 then
         return 1
      end
   end
end

function CheckAdver(curUser,line,msg,Msg)
   local adver,extension = Verify(curUser.sName, line,Adver), Verify(curUser.sName, line,Ext)
   if adver and extension and OkAdver(adver)~=1 then
      tabAdvert = nil
      tabAdvert = {}
      local action = DoDisc(curUser,msg,line)
      SendToOps("",curUser.sName.." ( "..curUser.sIP.." )  is "..action.." becouse advertising "..msg..": "..Msg)
      return 1
   end
end

function DoDisc(curUser,msg,line)
   if Action==0 then
      curUser:SendPM(BotName,"You are Warned for advertising "..msg..": "..line) return "Warned"
   elseif Action==1 then
      curUser:SendPM(BotName,"You are Disconnected for advertising "..msg..": "..line)
      curUser:Disconnect() return "Disconnected"
   elseif Action==2 then
      curUser:SendPM(BotName,"You are Kicked for advertising "..msg..": "..line)
      curUser:TempBan() return "Kicked"
   elseif Action==3 then
      curUser:SendPM(BotName,"You are Banned for advertising "..msg..": "..line)
      curUser:Ban() return "Banned"
   end
end

function OkAdver(adver)
   for i,v in OkHubs do
      if strfind(adver,v) then
         return 1
      end
   end
end

function Verify(userdata, msg,table)
   if not msg then return end
   tmp =""
   gsub(strlower(msg), "([a-?0-9.:%-])", function(x) tmp = tmp..x end)
   if not tabAdvert[userdata] then
      tabAdvert[userdata] = { iClock = clock(), l1 = "", l2 = "", l3 = "", l4= "", l5= "",l6= "",l7= "",l8= "",l9 = tmp}
   else
      tabAdvert[userdata].iClock = clock()
      tabAdvert[userdata].l1 = tabAdvert[userdata].l2
      tabAdvert[userdata].l2 = tabAdvert[userdata].l3
      tabAdvert[userdata].l3 = tabAdvert[userdata].l4
      tabAdvert[userdata].l4 = tabAdvert[userdata].l5
      tabAdvert[userdata].l5 = tabAdvert[userdata].l6
      tabAdvert[userdata].l6 = tabAdvert[userdata].l7
      tabAdvert[userdata].l7 = tabAdvert[userdata].l8
      tabAdvert[userdata].l8 = tabAdvert[userdata].l9
      tabAdvert[userdata].l9 = tmp
   end
   local Lines = tabAdvert[userdata].l1.."#"..tabAdvert[userdata].l2.."#"..tabAdvert[userdata].l3.."#"..tabAdvert[userdata].l4.."#"..tabAdvert[userdata].l5.."#"..tabAdvert[userdata].l6.."#"..tabAdvert[userdata].l7.."#"..tabAdvert[userdata].l8.."#"..tabAdvert[userdata].l9
   for key, value in table do
      if (strfind(Lines, strlower(value), 1, 1)) then
         return 1
      end
   end
end


-----------------------------------------------------
tnx for help

jiten

You must use the Search function before requesting for scripts, because most of them are already in Lua 5 format.
Script 1:
--//Converted to Lua5 by Jelf 08/03/05
--//RangeBlaster v2.07 by Phatty 
--//IP Keys written by John, and Phatty 

Bot = "IPRangeBlock" 
path = "RangeBlaster/Ranges.dat"
Ranges = {} 
-------------------------
function Main() 
	frmHub:RegBot(Bot) 
	LoadIps() 
end 
-------------------------
function LoadIps()

	local tmp = 0 
	local handle = io.open(path,"r") 
	line = handle:read() 
	while line do 
		tmp = tmp + 1 
		local s,e,ipr1,ipr2 = string.find(line,"(%S+)|(%S+)") 
		if ipr2 == nil then 
			SendToAll(Bot,"Error on line "..line) 
		end 
		local s,e,ipa1,ipb1,ipc1,ipd1 = string.find(ipr1, "(%d*).(%d*).(%d*).(%d*)") 
		local s,e,ipa2,ipb2,ipc2,ipd2 = string.find(ipr2, "(%d*).(%d*).(%d*).(%d*)") 
		si1 = CheckNumber(ipa1)..CheckNumber(ipb1)..CheckNumber(ipc1)..CheckNumber(ipd1) 
		si2 = CheckNumber(ipa2)..CheckNumber(ipb2)..CheckNumber(ipc2)..CheckNumber(ipd2) 
		Ranges[si1] = si2 
		line = handle:read() 
	end 
	SendToAll(Bot,"Successfully loaded "..tmp) 
end 
--------------------------
function Blocked(userip)
 
	local s,e,range1,range2,range3,range4 = string.find(userip,"(%d+).(%d+).(%d+).(%d+)") 
	checker = CheckNumber(range1)..CheckNumber(range2)..CheckNumber(range3)..CheckNumber(range4) 

--SendToAll(Bot,"IP-Test..."..checker) 

	for i,p in Ranges do 
		local s,e,xstart = string.find(i, "(%d*)") 
		local s,e,xend = string.find(p, "(%d*)") 

		if checker > xstart and checker < xend then 
			collectgarbage() 
			io.flush() 
			return 1 
		else 
		end 
	end 
end 
-------------------------
function CheckNumber(number)
 
	numbera = tonumber(number) 
	if numbera < 10 then 
		numbera = "00"..number 
	elseif numbera < 100 then 
		numbera = "0"..number 
	else 
		numbera = number 
	end 
	return numbera 
end 
------------------------
function ValidateNickArrival(user)

	if Blocked(user.sIP) == 1 then 
		user:SendData(Bot, "This hub is private, leave a message to [EMAIL]ip-tracer@sm3yfx.net[/EMAIL],and explain who you are, you will now be disconnected!") 
		user:SendData(Bot, "Disconnecting...") 
		SendPmToOps(Bot, user.sName.." - "..user.sIP.." has been blasted by "..Bot.."!") 
		SendToAll(Bot, user.sName.." - "..user.sIP.." has been blasted by "..Bot.."!") 
		user:Disconnect() 
	end 
end

jiten

Script 2:
-- Lua 5 version by jiten
-- NightLitch's AdverShield 

-- Set Botname 
BotName = "Pandur" 
-- Set action for advertising ( 0=Warn / 1=Disconnect / 2=Kick / 3=Ban) 
Action = 0 
-- Set OK hubs that are allowed to be entered. 
OkHubs = { 
	"veselo-srce.no-ip.org", 
	"veselo-srce2.no-ip.org", 
	"myhub", 
	"myhub", 
} 
-- Accepted "sites" or triggers infront of the address 
Sites = { 
	"www.", 
	"http", 
	"ftp", 
	"irc.", 
	"ilo6", 
} 
-- Denyed/not allowed adver's sent in chat/pm 
Adver = { 
	"noip.com", 
	"noicom", 
	"noi.com", 
	"noip.co", 
	"noipco", 
	"nop.com", 
	"nopcom", 
	"ipcom", 
	"no ip com", 
	"no.ip", 
	"noip", 
	"n.o.i.p.c.o.m", 
	"com", 
	"c o m", 
	"noip.info", 
	"n.o.i.p.i.n.f.o", 
	"noiinfo", 
	"noi.info", 
	"ipinfo", 
	"nopinfo", 
	"noipinfo", 
	"nop.info", 
	"nopinf", 
	"noip.inf", 
	"no-ip.info", 
	"no-ip", 
	"info", 
	"i n f o", 
	"n.o.i.p.o.r.g", 
	"noip.org", 
	"noiporg", 
	"iporg", 
	"no-ip.org", 
	"myftp", 
	"m.y.f.t.p", 
	"dyndns", 
	"d.y.n.d.n.s", 
	"dns2go", 
	"d.n.s.2.g.o", 
	"dynip", 
	"d.y.n.i.p", 
	"d2g", 
	"dynu", 
	"dynu.com", 
	"dynucom", 
	"d.y.n.u.c.o.m", 
	"bosniahub.com", 
	"m.i.n.e", 
	"kick-ass.net", 
	"k.i.c.k.a.s.s.n.e.t", 
	"kickassnet", 
	"sytes.net", 
	"s.y.t.e.s.n.e.t", 
	"sytesnet", 
	"homeip", 
	"h.o.m.e.i.p", 
	"homeip", 
	"mine.nu", 
	"m.i.n.e.n.u", 
	"minenu", 
	"servebeer", 
	"s.e.r.v.e.b.e.e.r", 
	"zappto", 
	"z.a.p.p.t.o", 
	"serveftp", 
	"s.e.r.v.e.f.t.p", 
	"sytes", 
	"s y t e s", 
	"abductor", 
	"amirhibeljicnino", 
	"banjaluka23", 
	"balkan87", 
	"balkanspies", 
	"BigBen", 
	"B.i.g.B.e.n", 
	"bosniahub", 
	"bosnahub", 
	"crvenazvezda", 
	"c.r.v.e.n.a.z.v.e.z.d.a", 
	"dubica", 
	"d.u.b.i.c.a", 
	"elko18", 
	"gojzar", 
	"g.o.j.z.a.r", 
	"gollum", 
	"g.o.l.l.u.m", 
	"zabavahub", 
	"gorenjska", 
	"g.o.r.e.n.j.s.k.a", 
	"gypsyhub", 
	"hotelbalkan", 
	"scafe", 
	"s.c.a.f.e", 
	"s.i.o.f.f", 
	"ircmostar", 
	"nasepodrinje", 
	"studiomuzika", 
	"starcevica", 
	"sloveniaonline", 
	"sloveniaboss", 
	"sloskate", 
	"SLOShareReactor", 
	"sarajevo1984", 
	"delijesever", 
	"d.e.l.i.j.e.s.e.v.e.r", 
	"amirhibeljicnino", 
	"banjaluka23", 
	"balkan87", 
	"srbijanoipcom", 
	"hopto.org", 
	"h.o.p.t.o.o.r.g", 
	"hoptoorg", 
	"zappto.org", 
	"z.a.p.t.o.o.r.g", 
	"hub.sioff.net", 
	"h.u.b.s.i.o.f.f.n.e.t", 
	"hub.scafe.ws", 
	"h.u.b.s.c.a.f.e.w.s", 
	"gollum.ho.com", 
	"abductornoipcom", 
	"asczaptoorg", 
	"amirhibeljicninonoipinfo", 
	"banjaluka23noipinfo", 
	"balkan87noipinfo", 
	"balkanacnoipcom", 
	"balkanspiesservebeercom", 
	"beograddynucom", 
	"b.e.o.g.r.a.d.d.y.n.u.c.o.m", 
	"BigBensytesnet", 
	"bihnoipinfo", 
	"bosniahubcom", 
	"bosnahubnoipinfo", 
	"beograd.no-ip.com", 
	"b.e.o.g.r.a.d.n.o.i.p.c.o.m", 
	"bosniahubnet", 
	"BosniaHubnet", 
	"bosnianoipinfo", 
	"bosnianoipcom", 
	"cmoknoipcom", 
	"crousanoipcom", 
	"croatiaserveftpcom1420", 
	"croatiaserveftpcom", 
	"croatianoiporg", 
	"croatiagotdnsorg3285", 
	"croatiagotdnsorg", 
	"crvenazvezdanoipinfo", 
	"damiraganoiporg", 
	"dijasporanoipcom", 
	"DCHOCOM", 
	"dchocom", 
	"d.c.h.o.c.o.m", 
	"dcbalcannet", 
	"d.c.b.a.l.c.a.n.n.e.t", 
	"dubicanoipcom", 
	"elko18noipcom", 
	"exyunoipcom", 
	"e.x.y.u", 
	"gojzarnoipinfo", 
	"gollumhocom", 
	"gorenjskanoipcom", 
	"gypsyhubnoipinfo", 
	"hanibalgalaxynoipinfo", 
	"hotelbalkannoipcom", 
	"hubscafews", 
	"hubsioffnet", 
	"ircmostarminenu", 
	"jaraninoipcom", 
	"konjicenoipinfo", 
	"krajinanoiporg", 
	"k.r.a.j.i.n.a.n.o.i.p.o.r.g", 
	"krajinanoipcom", 
	"kpajuhanoiporg", 
	"krajinakickassnet", 
	"k.r.a.j.i.n.a.n.o.i.p.c.o.m", 
	"k.p.a.j.u.h.a.n.o.i.p.o.r.g", 
	"k.r.a.j.i.n.a.k.i.c.k.a.s.s.n.e.t", 
	"legijanoiporg", 
	"mangupdynucom", 
	"mgradistenoipinfo", 
	"mujonoipinfo", 
	"nasepodrinjenoipcom", 
	"nektarnoipcom", 
	"pimpekhoptoorg", 
	"planetslovenianoipcom", 
	"poljubacservebeercom", 
	"posavinanoipcom", 
	"slofilesharingcom", 
	"studiomuzikanoipcom", 
	"starcevicanoipinfo", 
	"some1elsenoiporg", 
	"sloveniahoptoorg", 
	"sloveniaonlinenoipcom", 
	"sloveniabosszaptoorg", 
	"sloskatenet", 
	"sajkocom", 
	"s.a.j.k.o.c.o.m", 
	"srbijanoipinfo", 
	"srbijanoipcom", 
	"SLOShareReactornoiporg", 
	"sarajevo1984minenu", 
	"studiomuzikanoipcom", 
	"topmuzikanoipcom", 
	"topbosna.no-ip.org", 
	"nektarnoipcom", 
	"yuwakicksassnet", 
	"vojskanoipcom", 
	"v.o.j.s.k.a.n.o.i.p.c.o.m", 
	"vucjaknoipcom", 
	"zabavahubnoipcom", 
	"zabavanoipcom", 
	"zezanjenoipcom", 
	"wwwhudinjanet", 
	"wwwdelijesevercjbnet", 
	"amirhibeljicninonoipinfo", 
	"banjaluka23noipinfo", 
	"balkan87noipinfo", 
	"balkanacnoipcom", 
	"zandarmerija.no-ip.com", 
	"cro.ath.cx:123", 
	"croathcx123", 
	"cro.a t h.cx:1 2 3", 
	"c r o . a t h . c x : 1 2 3", 
	"c r o.a t h.c x: 1 2 3", 
	"cro.ath.cx", 
	"athcx", 
	"ath.cx", 
	"croath", 
	"ath..cx", 
	"cro..ath..cx:.123", 
	"croathcx", 
	"cro.ath.", 
	"cro4evernoiporg", 
	"cro4ever.no-ip", 
	"cro4ever.no-ip.org", 
	"ramonesnoiporg", 
	"ramones.no-ip.", 
	"z a n d a r m e r i j a . n o - i p . c o m", 
	"z a n d a r m e r i j a n o i p c o m", 
	"z a n d a r m e r i j a", 
	"dc.ho.com", 
	"dc.balkan.net", 
	"topbosna", 
	"t o p b o s n a", 
	"evropahub", 
	"zajko", 
	"z a j k o", 
	"za j ko", 
	"zaj ko", 
	"e.v.r.o.p.a.h.u.b", 
	"dijaspora", 
	"sajko.com", 
	"delijesever", 
	"hudinja.net", 
	"sloskate.net", 
	"kicks-ass", 
	"k.i.c.k.a.s.s", 
	"gotdns", 
	"udgnet", 
} 
-- Extentions belonging to Adver above. 
Ext = { 
	"ilo6", 
	"", 
	"", 
	"", 
	"", 
} 
-- Change characters. 
CharCh = { 
	["%(dot%)"]=".", 
	["dot"]=".", 
	["%(%-%)"]="-", 
	["#"]="", 
	["!"]="", 
	["+"]="", 
	["%-"]="", 
	["*"]="", 
	["/"]="", 
	[" '"]="", 
} 
--------------------------------------------------------------- 
-- DON'T EDIT BELLOW -- 
tabAdvert = {} 

function Main() 
	frmHub:RegBot(BotName) 
end 

function ChatArrival(curUser, data) 
	local Msg = "" 
	if not string.find(data,"> !") and not curUser.bOperator then 
		local _, _,line = string.find(data, "^%b<>%s+(.*)") 
		Msg = line 
		for i,v in CharCh do 
			line=string.gsub(line, i, v) 
		end 
		if CheckAdver(curUser,line,"in Main-Chat, typing",Msg)==1 then 
			return 1 
		end
	end
end

function ToArrival(curUser,data)
	if not curUser.bOperator then 
		local _,_,to,from,line = string.find(data, "%$To:%s(%S+)%sFrom:%s(%S+)%s$(.*)$") 
		Msg = line 
		for i,v in CharCh do 
			line=string.gsub(line, i, v) 
		end 
		if CheckAdver(curUser,line,"in PM to "..to..", typing",Msg)==1 then 
			return 1 
		end 
	end 
end 

function CheckAdver(curUser,line,msg,Msg) 
	local adver,extension = Verify(curUser.sName, line,Adver), Verify(curUser.sName, line,Ext) 
	if adver and extension and OkAdver(adver)~=1 then 
		tabAdvert = nil 
		tabAdvert = {} 
		local action = DoDisc(curUser,msg,line) 
		SendToOps("",curUser.sName.." ( "..curUser.sIP.." ) is "..action.." becouse advertising "..msg..": "..Msg) 
		return 1 
	end 
end 

function DoDisc(curUser,msg,line) 
	if Action==0 then 
		curUser:SendPM(BotName,"You are Warned for advertising "..msg..": "..line) return "Warned" 
	elseif Action==1 then 
		curUser:SendPM(BotName,"You are Disconnected for advertising "..msg..": "..line) 
		curUser:Disconnect() return "Disconnected" 
	elseif Action==2 then 
		curUser:SendPM(BotName,"You are Kicked for advertising "..msg..": "..line) 
		curUser:TempBan() return "Kicked" 
	elseif Action==3 then 
		curUser:SendPM(BotName,"You are Banned for advertising "..msg..": "..line) 
		curUser:Ban() return "Banned" 
	end 
end 

function OkAdver(adver) 
	for i,v in OkHubs do 
		if string.find(adver,v) then 
			return 1 
		end 
	end 
end 

function Verify(userdata, msg,table) 
	if not msg then return end 
	tmp ="" 
	string.gsub(string.lower(msg), "([a-?0-9.:%-])", function(x) tmp = tmp..x end) 
	if not tabAdvert[userdata] then 
		tabAdvert[userdata] = { iClock = os.clock(), l1 = "", l2 = "", l3 = "", l4= "", l5= "",l6= "",l7= "",l8= "",l9 = tmp} 
	else 
		tabAdvert[userdata].iClock = os.clock() 
		tabAdvert[userdata].l1 = tabAdvert[userdata].l2 
		tabAdvert[userdata].l2 = tabAdvert[userdata].l3 
		tabAdvert[userdata].l3 = tabAdvert[userdata].l4 
		tabAdvert[userdata].l4 = tabAdvert[userdata].l5 
		tabAdvert[userdata].l5 = tabAdvert[userdata].l6 
		tabAdvert[userdata].l6 = tabAdvert[userdata].l7 
		tabAdvert[userdata].l7 = tabAdvert[userdata].l8 
		tabAdvert[userdata].l8 = tabAdvert[userdata].l9 
		tabAdvert[userdata].l9 = tmp 
	end 
	local Lines = tabAdvert[userdata].l1.."#"..tabAdvert[userdata].l2.."#"..tabAdvert[userdata].l3.."#"..tabAdvert[userdata].l4.."#"..tabAdvert[userdata].l5.."#"..tabAdvert[userdata].l6.."#"..tabAdvert[userdata].l7.."#"..tabAdvert[userdata].l8.."#"..tabAdvert[userdata].l9 
	for key, value in table do 
		if (string.find(Lines, string.lower(value), 1, 1)) then 
			return 1 
		end 
	end 
end
Cheers

SMF spam blocked by CleanTalk