Hello everybody
Can somebody translate this lua 4 script (kennylize script) to lua 5
-- Kenny Script by ??????Hawk??????
-- 31-03-04
Bot = "Kenny"
Botm = "Muter"
kennytext = {
"*umfl* *uuffum*",
"*lluu* *mlmlff* *umfl* *lfumfl* *umfl*",
"*lmmf* *uullu* *mmmm*",
"*ommlu* *uullu* *lmmf* *ommlu* *mflf*",
"*olomum* *lmmf* *mhhhmmlm*",
"*Mhhl* *mujm* *umfl*",
}
Kennylizednicks = {}
Mutes = {}
mins = 1000 * 60 * 1
function OnTimer()
Kennylizednicks = {}
SendToAll(Bot, " all kennys have gone ! ! !")
StopTimer()
end
function DataArrival(user, data)
if (strsub(data,1,1) == "<") then
data=strsub(data,1,strlen(data)-1)
s,e,cmd = strfind(data,"%b<>%s+(%S+)")
if user.bOperator then
if (cmd=="+kenny") then
StopTimer()
SetTimer(mins)
StartTimer()
kenylize(user, data)
return 1
elseif (cmd=="+unkenny") then
Unkenylize(user, data)
return 1
elseif (cmd=="+showkenny") then
ShowKennys(user)
return 1
elseif (cmd=="+unkennyall") then
Kennylizednicks = {}
SendToAll(Bot, " all kennys have gone ! ! !")
return 1
elseif (cmd=="+mute") then
DoMutes(user, data)
return 1
elseif (cmd=="+unmute") then
UnDoMutes(user, data)
return 1
elseif (cmd=="+showmutes") then
ShowMutes(user)
return 1
elseif (cmd=="+clearmutes") then
Mutes = {}
SendToAll(Bot, " All muted users can now speak ! ! !")
return 1
end
end
if Kennylizednicks[user.sName] == 1 then
text=kennytext[random(1, getn(kennytext))]
SendToAll(user.sName, text)
return 1
elseif Mutes[user.sName] == 1 then
user:SendData(Botm,"You are muted. your message has been blocked ! ! !")
return 1
end
end
if ( strsub(data, 1, 4) == "$To:" ) then
if Kennylizednicks[user.sName] == 1 then
s,e,g,h,j = strfind(data,"$To:%s+(%S+)%s+From:%s+(%S+)%s+$%b<>%s+(.*)")
j = kennytext[random(1, getn(kennytext))]
SendPmToNick(g,h,j)
user:SendPM(Botm," you have been kenylized this was sent instead. ' "..j.." '")
return 1
elseif Mutes[user.sName] == 1 then
user:SendPM(Botm,"You are muted. your message has been blocked ! ! !")
return 1
end
end
end
function DoMutes(user, data)
local s,e,cmd,usr = strfind(data,"%b<>%s+(%S+)%s+(%S+)")
local Muted = GetItemByName(usr)
if Muted == nil then
user:SendData(Botm,"The User is not in the hub ! ! !")
else
if Mutes[Muted.sName] == nil then
Mutes[Muted.sName] = 1
SendToAll(Botm,Muted.sName.." Has been Muted ! ! !")
end
end
end
function UnDoMutes(user, data)
local s,e,cmd,usr = strfind(data,"%b<>%s+(%S+)%s+(%S+)")
local Muted = GetItemByName(usr)
if Muted == nil then
user:SendData(Botm,"The User is not in the hub ! ! !")
else
if Mutes[Muted.sName] == 1 then
Mutes[Muted.sName] = nil;
SendToAll(Botm, Muted.sName.." Has Been Un-Muted ..")
end
end
end
function ShowMutes(user)
local names = ""
for index, value in Mutes do
local line = index
names = names.." "..line.."\r\n"
end
user:SendPM(Botm,"\r\n\r\nMuted users..\r\n\r\n"..names)
end
function kenylize(user, data)
local s,e,cmd,usr = strfind(data,"%b<>%s+(%S+)%s+(%S+)")
local kennyd = GetItemByName(usr)
if kennyd == nil then
user:SendData(Bot,"The User is not in the hub ! ! !")
else
if Kennylizednicks[kennyd.sName] == nil then
Kennylizednicks[kennyd.sName] = 1
SendToAll(Bot,kennyd.sName.." Has been turned in to a Kenny Clone ! ! !")
end
end
end
function Unkenylize(user, data)
local s,e,cmd,usr = strfind(data,"%b<>%s+(%S+)%s+(%S+)")
local kennyd = GetItemByName(usr)
if kennyd == nil then
user:SendData(Bot,"The User is not in the hub ! ! !")
else
if Kennylizednicks[kennyd.sName] == 1 then
Kennylizednicks[kennyd.sName] = nil;
SendToAll(Bot, kennyd.sName.." Has Returned ..")
end
end
end
function ShowKennys(user)
local names = ""
for index, value in Kennylizednicks do
local line = index
names = names.." "..line.."\r\n"
end
user:SendPM(Bot,"\r\n\r\nKennylised users..\r\n\r\n"..names)
end
Thx in advanced
Look here (http://board.univ-angers.fr/thread.php?threadid=3717&boardid=26) ;)
Maybe this (not really tested):
-- Kenny Script by ??????Hawk??????
-- 31-03-04
Bot = "?bot?"
Botm = "?bot?"
kennytext = {
"*umfl* *uuffum*",
"*lluu* *mlmlff* *umfl* *lfumfl* *umfl*",
"*lmmf* *uullu* *mmmm*",
"*ommlu* *uullu* *lmmf* *ommlu* *mflf*",
"*olomum* *lmmf* *mhhhmmlm*",
"*Mhhl* *mujm* *umfl*",
}
Kennylizednicks = {}
Mutes = {}
mins = 1000 * 60 * 1
function OnTimer()
Kennylizednicks = {}
SendToAll(Bot, "All Kennys have gone ! ! !")
StopTimer()
end
function ChatArrival(user, data)
data=string.sub(data,1,string.len(data)-1)
s,e,cmd = string.find(data,"%b<>%s+(%S+)")
if user.bOperator then
if (cmd=="!kenny") then
StopTimer()
SetTimer(mins)
StartTimer()
kenylize(user, data)
return 1
elseif (cmd=="!unkenny") then
Unkenylize(user, data)
return 1
elseif (cmd=="!showkenny") then
ShowKennys(user)
return 1
elseif (cmd=="!unkennyall") then
Kennylizednicks = {}
SendToAll(Bot, "All Kennys have gone ! ! !")
return 1
elseif (cmd=="+mute") then
DoMutes(user, data)
return 1
elseif (cmd=="+unmute") then
UnDoMutes(user, data)
return 1
elseif (cmd=="+showmutes") then
ShowMutes(user)
return 1
elseif (cmd=="+clearmutes") then
Mutes = {}
SendToAll(Bot, "All muted users can now speak ! ! !")
return 1
end
end
if Kennylizednicks[user.sName] == 1 then
text=kennytext[math.random(1, table.getn(kennytext))]
SendToAll(user.sName, text)
return 1
elseif Mutes[user.sName] == 1 then
user:SendData(Botm,"You are muted. Your message has been blocked ! ! !")
return 1
end
end
function ToArrival(user,data)
if Kennylizednicks[user.sName] == 1 then
s,e,g,h,j = string.find(data,"$To:%s+(%S+)%s+From:%s+(%S+)%s+$%b<>%s+(.*)")
j = kennytext[math.random(1, table.getn(kennytext))]
SendPmToNick(g,h,j)
user:SendPM(Botm," You have been kenylized this was sent instead. ' "..j.." '")
return 1
elseif Mutes[user.sName] == 1 then
user:SendPM(Botm,"You are muted. Your message has been blocked ! ! !")
return 1
end
end
function DoMutes(user, data)
local s,e,cmd,usr = string.find(data,"%b<>%s+(%S+)%s+(%S+)")
local Muted = GetItemByName(usr)
if Muted == nil then
user:SendData(Botm,"The User is not in the hub ! ! !")
else
if Mutes[Muted.sName] == nil then
Mutes[Muted.sName] = 1
SendToAll(Botm,Muted.sName.." Has been Muted ! ! !")
end
end
end
function UnDoMutes(user, data)
local s,e,cmd,usr = string.find(data,"%b<>%s+(%S+)%s+(%S+)")
local Muted = GetItemByName(usr)
if Muted == nil then
user:SendData(Botm,"The User is not in the hub ! ! !")
else
if Mutes[Muted.sName] == 1 then
Mutes[Muted.sName] = nil;
SendToAll(Botm, Muted.sName.." Has Been Un-Muted ..")
end
end
end
function ShowMutes(user)
local names = ""
for index, value in Mutes do
local line = index
names = names.." "..line.."\r\n"
end
user:SendPM(Botm,"\r\n\r\nMuted users..\r\n\r\n"..names)
end
function kenylize(user, data)
local s,e,cmd,usr = string.find(data,"%b<>%s+(%S+)%s+(%S+)")
local kennyd = GetItemByName(usr)
if kennyd == nil then
user:SendData(Bot,"The User is not in the hub ! ! !")
else
if Kennylizednicks[kennyd.sName] == nil then
Kennylizednicks[kennyd.sName] = 1
SendToAll(Bot,kennyd.sName.." Has been turned in to a Kenny Clone ! ! !")
end
end
end
function Unkenylize(user, data)
local s,e,cmd,usr = string.find(data,"%b<>%s+(%S+)%s+(%S+)")
local kennyd = GetItemByName(usr)
if kennyd == nil then
user:SendData(Bot,"The User is not in the hub ! ! !")
else
if Kennylizednicks[kennyd.sName] == 1 then
Kennylizednicks[kennyd.sName] = nil;
SendToAll(Bot, kennyd.sName.." Has Returned ..")
end
end
end
function ShowKennys(user)
local names = ""
for index, value in Kennylizednicks do
local line = index
names = names.." "..line.."\r\n"
end
user:SendPM(Bot,"\r\n\r\nKennylised users..\r\n\r\n"..names)
end