PtokaX forum

Archive => Archived 5.1 boards => Help with scripts => Topic started by: Genius on 11 January, 2007, 14:25:17

Title: Convert to Lua5.1 (ptokax 0.3.5.2)
Post by: Genius on 11 January, 2007, 14:25:17
Hi

I need convert one script.

script link:
http://www.uploadhut.com/upload/299900.rar??

The script don?t work im my new ptokax. Help me plz

pf: sory about my bad inglish :S

Tankx
Title: Re: Convert to Lua5.1 (ptokax 0.3.5.2)
Post by: Icaru? on 11 January, 2007, 15:54:16
Why don't you try lucifer666 antispam script?
http://forum.ptokax.org/index.php?topic=5833.0
Title: Re: Convert to Lua5.1 (ptokax 0.3.5.2)
Post by: Genius on 11 January, 2007, 16:16:48
I like my script :)

New lucifer is not very god for me. :(
Title: Re: Convert to Lua5.1 (ptokax 0.3.5.2)
Post by: jay-dee on 11 January, 2007, 16:39:14

--changed to LUA 5.1
--part1
--=[ Nome do Bot ]=-

BotName = frmHub:GetHubBotName()

--=[ Letras consideradas Pub ]=-

advtrigs = {"dns2go","myftpsite","servebeer","mine.nu","ip.com","dynip","depecheconnect.com","zapto.org",
"staticip","serveftp","ipactive","ip.org","no-ip","servegame","gotdns.org","ip.net","ip.co.uk",
"ath.cx","dyndns","68.67.18.75","clanpimp","idlegames","sytes","unusualperson.com",
"24.184.64.48","uni.cc","web-via","homeunix","24.209.232.97","ciscofreak.com",
"deftonzs.com","24.187.50.121","flamenap","xs4all","serveftp","point2this.com","ip.info",
"myftp","d2g","151.198.149.60","24.184.64.48","orgdns","myip.org","stufftoread.com",
"ip.biz","dynu.com","mine.org","kick-ass.net","darkdata.net","ipme.net","udgnet.com","homeip.net",
"e-net.lv","newgnr.com","bst.net","bsd.net","ods.org","x-host","bounceme.net","myvnc.com",
"kyed.com","lir.dk","finx.org","sheckie.net","vizvaz.net","snygging.net","kicks-ass.com","nerdcamp.net",
"cicileu.","3utilities.com","myftp.biz","redirectme.net","servebeer.com","servecounterstrike.com",
"servehalflife.com","servehttp.com","serveirc.com","servemp3.com","servepics.com","servequake.com",
"damnserver.com","ditchyourip.com","dnsiskinky.com","geekgalaxy.com","net-freaks.com","ip.ca",
"securityexploits.com","securitytactics.com","servehumour.com","servep2p.com","servesarcasm.com",
"workisboring.com","hopto","ptwebserver.com","fw.nu","dnsalias","no-ip.org","bigpt.net"}

--=[ Endere?os permitidos ]=-
vFile = "SD.tbl"

--=[ O que fazer quando o user faz PUB ( 0=Warn / 1=Disconnect / 2=Kick / 3=Ban / 4=TimeBan)]=-

Action = 2
iTimeBan = 20 --=[ Periodo de tempo do ban ]=-

--=[ Aceitar sites no Hub ]=-
Sites = { "www.", "http://", "ftp://", "irc.", "Sd-Masters.sytes.net:8888", }

--=[ Palavras n?o pub, mas informa o opchat ]=-

controltrigs={ ["caralho"]=1, ["crl"]=2, ["filho da puta"]=3, ["fdp"]=4, ["cabr?o"]=5, ["hub"]=6, ["merda"]=7, ["mrd"]=7, ["puta"]=8 }

tabAdvert = {} vTrigs = {}

Main = function()
frmHub:RegBot(BotName)
if loadfile(vFile) then dofile(vFile) end
SetTimer(60000) StartTimer()
end

OnTimer = function()
for key, value in pairs(tabAdvert) do
if (tabAdvert[key].iClock > os.clock()+60) then
tabAdvert[key]=nil
end
end
end

ChatArrival = function(user, data)
local data = string.sub(data,1,-2)
if user.bOperator then
local s,e,cmd = string.find(data,"%b<>%s+(%S+)")
if cmd == "!showsafe" then
if not next(vTrigs) then
user:SendData(BotName," N?o foram encontrados endere?os permitidos ")
else
local msg = "\r\n\r\n".."   ".."\r\n"
msg = msg.."?  Endere?os permitidos no Sound & Dvd Masters  ?".."\r\n"
local address,value
for address, value in pairs(vTrigs) do msg = msg.."?   "..address.."   ?\r\n" end
user:SendPM(BotName,msg)
end
return 1
end
local s,e,trig = string.find(data,"%b<>%s+%S+%s+(%S+)")
if cmd and trig then
if cmd == "!addsafe" then
vTrigs[trig] = 1
user:SendData(BotName,trig.." foi bem adicionado ? lista de endere?os permitidos.")
SaveToFile(vFile,vTrigs,"vTrigs")
return 1
elseif cmd == "!delsafe" then
if vTrigs[trig] == 1 then
vTrigs[trig] = nil
user:SendData(BotName,trig.." foi bem removido da lista de endere?os permitidos.")
SaveToFile(vFile,vTrigs,"vTrigs")
else
user:SendData(BotName,"Escreva o endere?o permitido. EX: !delsafe endere?o ou palavra. : "..trig)
end
return 1
end
end
end
if not user.bOperator then
local _, _, msg = string.find(data, "^%b<>%s+(.*)")
if adCheck(msg) ~= nil and Verify(user.sName, msg) then
tabAdvert[user.sName]=nil
local action = DoDisc(user,msg)
s,e,onlymes = string.find(data, "%b<> (.*)")
SendPmToOps (BotName, "\r\n\r\n -= [ O Utilizador "..user.sName.."/"..user.sIP.." acabou de fazer publicidade a outros Hubs dizendo: ( "..onlymes.." ) ] =- \r\n ")
return 1
end
for key, value in pairs(controltrigs) do
if( string.find( string.lower(data), key) ) then
s,e,onlymes = string.find(data, "%b<> (.*)")
SendPmToOps(BotName, "\r\n\r\n -= [  Palavras n?o apopriadas detectadas pelo utilizador "..user.sName..". O utilizador disse: (  "..onlymes.." )  ] =-\r\n ")
end
end
spam=0
if( string.find( string.lower(data), "no",1,1) ) and ( string.find( string.lower(data), "ip.",1,1) ) then
if ( string.find( string.lower(data), "com",1,1) ) or ( string.find( string.lower(data), "org",1,1) ) or ( string.find( string.lower(data), "info",1,1) ) then
spam=spam+1;
end;
end;
if( string.find( string.lower(data), "dns",1,1) ) and ( string.find( string.lower(data), "2",1,1) ) and ( string.find( string.lower(data), "go",1,1) ) then
spam=spam+1;
end
if( string.find( string.lower(data), "dy",1,1) ) and ( string.find( string.lower(data), "nu",1,1) ) then
if( string.find( string.lower(data), ".net",1,1) ) or ( string.find( string.lower(data), ".com",1,1) ) then
spam=spam+1;
end;
end
if( string.find( string.lower(data), "d n s a",1,1) ) or ( string.find( string.lower(data), "d n s .",1,1) ) or ( string.find( string.lower(data), "d n s 2",1,1) ) or ( string.find( string.lower(data), "o d s .",1,1) ) or ( string.find( string.lower(data), "d y n",1,1) ) then
spam=spam+1;
end
end
end

ToArrival = function(user, data)
local data = string.sub(data,1,-2)
if not user.bOperator then
local _, _, to, from, msg = string.find(data, "^%$To:%s+(%S+)%s+From:%s+(%S+)%s-%$%b<>%s+(.*)")
if GetItemByName(to) then
local nick = GetItemByName(to)
if not nick.bOperator then
local userdata = to.." "..from
if adCheck(msg) ~= nil and Verify(user.sName, msg) then
tabAdvert[userdata] = nil
local action = DoDisc(user,msg,line)
s,e,whoTo,from,mes = string.find(data,"$To:%s+(%S+)%s+From:%s+(%S+)%s+$%b<>%s+(.*)") 
SendPmToOps (BotName, "\r\n\r\n -= [ O Utilizador "..user.sName.."/"..user.sIP.." acabou de fazer publicidade a outros Hubs dizendo ao Utilizador "..whoTo.." o seguinte: ( "..onlymes.." ) ] =-\r\n")
return 1
end
for key, value in pairs(controltrigs) do
if( string.find( string.lower(data), key) ) then
s,e,whoTo,from,mes = string.find(data,"$To:%s+(%S+)%s+From:%s+(%S+)%s+$%b<>%s+(.*)") 
SendPmToOps (BotName, "\r\n\r\n -= [ Palavras n?o apopriadas detectadas pelo utilizador "..user.sName..". O utilizador disse ao Utilizador "..whoTo.." o seguinte: (  "..onlymes.." )  ] =-\r\n")
end
end
spam=0
if( string.find( string.lower(data), "no",1,1) ) and ( string.find( string.lower(data), "ip.",1,1) ) then
if ( string.find( string.lower(data), "com",1,1) ) or ( string.find( string.lower(data), "org",1,1) ) or ( string.find( string.lower(data), "info",1,1) ) then
spam=spam+1;
end;
end;
if( string.find( string.lower(data), "dns",1,1) ) and ( string.find( string.lower(data), "2",1,1) ) and ( string.find( string.lower(data), "go",1,1) ) then
spam=spam+1;
end
if( string.find( string.lower(data), "dy",1,1) ) and ( string.find( string.lower(data), "nu",1,1) ) then
if( string.find( string.lower(data), ".net",1,1) ) or ( string.find( string.lower(data), ".com",1,1) ) then
spam=spam+1;
end;
end
if( string.find( string.lower(data), "d n s a",1,1) ) or ( string.find( string.lower(data), "d n s .",1,1) ) or ( string.find( string.lower(data), "d n s 2",1,1) ) or ( string.find( string.lower(data), "o d s .",1,1) ) or ( string.find( string.lower(data), "d y n",1,1) ) then
spam=spam+1;
end
end
end
end
end

Title: Re: Convert to Lua5.1 (ptokax 0.3.5.2)
Post by: jay-dee on 11 January, 2007, 16:40:34

--changed to LUA 5.1
--part2
adCheck = function(Lines)
for value,i in pairs(vTrigs) do
for index, site in pairs(Sites) do
if string.find(Lines,value,1,1) or string.find(Lines,site,1,1) then return nil end
end
end
return 1
end

Verify = function(userdata, msg)
if not msg then return end
tmp =""
string.gsub(string.lower(msg), "([a-z0-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 pairs(advtrigs) do if (string.find(Lines, string.lower(value), 1, 1)) then return Lines end end
end

DoDisc = function(user,msg)
if Action==0 then
user:SendPM(BotName,"Foste avizado por fazeres publicidade a outros Hubs.  "..msg) return "Warned"
elseif Action==1 then
user:SendPM(BotName,"Foste Desligado por fazeres publicidade a outros Hubs.  "..msg) user:Disconnect() return "Disconnected"
elseif Action==2 then
user:SendPM(BotName,"Foste Kickado por fazeres publicidade a outros Hubs.  "..msg) user:TempBan() return "Kicked"
elseif Action==3 then
user:SendPM(BotName,"Foste Banido por fazeres publicidade a outros Hubs.  "..msg) user:Ban() return "Banned"
elseif Action==4 then
user:SendPM(BotName,"Foste tempur?riamente Banido por fazeres publicidade a outros Hubs.  "..msg) user:TimeBan(iTimeBan) return "TimeBanned"
end
end

Serialize = function(tTable,sTableName,hFile,sTab)
sTab = sTab or "";
hFile:write(sTab..sTableName.." = {\n");
for key,value in pairs(tTable) do
if (type(value) ~= "function") then
local sKey = (type(key) == "string") and string.format("[%q]",key) or string.format("[%d]",key);
if(type(value) == "table") then
Serialize(value,sKey,hFile,sTab.."\t");
else
local sValue = (type(value) == "string") and string.format("%q",value) or tostring(value);
hFile:write(sTab.."\t"..sKey.." = "..sValue);
end
hFile:write(",\n");
end
end
hFile:write(sTab.."}");
end

SaveToFile = function(file,table,tablename)
local hFile = io.open(file,"w+") Serialize(table,tablename,hFile); hFile:close()
end
Title: Re: Convert to Lua5.1 (ptokax 0.3.5.2)
Post by: Genius on 11 January, 2007, 16:54:14
Tank you

Works Fine :)