Author Topic: Kenny.script  (Read 5482 times)

0 Members and 1 Guest are viewing this topic.

Offline Typhoon

  • Lord
  • ***
  • Posts: 397
  • Karma: +22/-3
  • PGE Developer
    • PGE Homepage
Kenny.script
« on: 30 March, 2004, 19:21:16 »
i am making a kenny script , but i seem to have an error or something . no error in ptokax , but scriot wont work !

Code: [Select]

-- Kenny script by Typhoon? / Ratcom_Typhoon?
-- 29/03-04
-- Idea from kepp, Which got the idea from Solian script Which got idea from ..... Y-Hub?
 

------------ things that can be changed

sBot = "[KENNY]"
ClockInterval = 5   -- clears table on specific minutes

----------- End

tKenny = {}
mins = 1000 * 60 * ClockInterval

function Main()
SetTimer(mins)
StartTimer()
end

function OnTimer()
clear()
end

function clear()
tKenny = nil
tKenny = {}
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 tKenny[user.sName] == 1 then
local RanKenny = random(23)
for i,v in tKenny do
if (RanKenny == 1) then
SendToAll(i,"*mflf* *lmmf* *uullu* *umfmm* *mumuff* *lmuul* *lluu* *mlmlff* *lfumfl* *umfl* *uuffum* *luuuuu* *ffll* *fmmuff* *mulfuf*") return 1
elseif (RanKenny == 2) then
SendToAll(i,"*umfl* *uuffum*") return 1
elseif (RanKenny == 3) then
SendToAll(i,"*lluu* *mlmlff* *umfl* *lfumfl* *umfl*") return 1
elseif (RanKenny == 4) then
SendToAll(i,"*lmmf* *uullu* *mmmm*") return 1
elseif (RanKenny == 5) then
SendToAll(i,"*ommlu* *uullu* *lmmf* *ommlu* *mflf*") return 1
elseif (RanKenny == 6) then
SendToAll(i,"*olomum* *lmmf* *mhhhmmlm*") return 1
elseif (RanKenny == 7) then
SendToAll(i,"*Mhhl* *mujm* *umfl*") return 1
elseif (RanKenny == 8) then
SendToAll(i,"*uullu* *wmuulmom* *grrrrr* *lmmf* *muhumom*") return 1
elseif (RanKenny == 9) then
SendToAll(i,"*lmmf* *uullu* *umfl*") return 1
elseif (RanKenny == 10) then
SendToAll(i,"*mummmmmmmmmm* *lmmf* *uullu* *mmmmmmmhmhm*") return 1
elseif (RanKenny == 11) then
SendToAll(i,"*mmjmmjhm* *oouummulool*") return 1
elseif (RanKenny == 12) then
SendToAll(i,"*mnnnmhm* *mmmuuhumom*") return 1
elseif (RanKenny == 13) then
SendToAll(i,"*mlmlolom* *oollooouuu* *mhmmhmhmh*") return 1
elseif (RanKenny == 14) then
SendToAll(i,"*hmehmehhme* *uullu* *mmmummmhum*") return 1
elseif (RanKenny == 15) then
SendToAll(i,"*mmmlllumlum* *ffll* *lmmf* *uullu*") return 1
elseif (RanKenny == 16) then
SendToAll(i,"*fhhmfm* *mhlllmlu*") return 1
elseif (RanKenny == 17) then
SendToAll(i,"*uullu* *mmmmumumumumooom* *lmmf*") return 1
elseif (RanKenny == 18) then
SendToAll(i,"*mumuff* *lmuul* *uullu* *Mhhl*") return 1
elseif (RanKenny == 19) then
SendToAll(i,"*lmmf* *uullu* *Mhhl*") return 1
elseif (RanKenny == 20) then
SendToAll(i,"*mhhmmmmmf* *uullu*") return 1
elseif (RanKenny == 21) then
SendToAll(i,"*hmmllf* *hmmmmmmhlhum*") return 1
elseif (RanKenny == 22) then
SendToAll(i,"*wmmmwhhhm* *looomulu*") return 1
elseif (RanKenny == 23) then
SendToAll(i,"*ghmmmm* *mmmhoum*") return 1
end
end
end
end
end

if cmd == "+kenny" and user.bOperator then
  DoKenny(user, data) return 1


       
elseif cmd == "+showkenny" and user.bOperator then
function Kenny()
local disp = ""
for index, value in tKenny do
local line = index
disp = disp.."\t ? "..line.."\r\n"
end
return disp
end
user:SendPM(sBot,"\r\n\r\n\t\t\t\t\t(? ?.??.->   These are the Kennylized   <-.??.???)\r\n\r\n"..Kenny().."|")
return 1

      elseif cmd == "+unkenny" and user.bOperator then
  DoUnKenny(user, data) return 1
      end




function UserDisconnected(user)
-- if tKenny[user.sName]==1 then
-- tKenny[user.sName]=nil;
-- end
end

function DoKenny(user, data)
local s,e,name = strfind(data,"%b<>%s+%S+%s+(%S+)")
vic = GetItemByName(name)
if vic ~= nil then
if tKenny[vic.sName]==nil then
tKenny[vic.sName]=1;
SendToAll(sBot,"How are you today "..vic.sName.." ? :D")
end
else
user:SendData(sBot,"There's no such user")
end
end

function DoUnKenny(user, data)
local s,e,name = strfind(data,"%b<>%s+%S+%s+(%S+)")
if tKenny[name]==1 then
tKenny[name]=nil;
SendToAll(sBot,name.." Is now back as a none kenny person.")
else
user:SendData(sBot,"There's no such user")
end
end





hope some can help :)



PtokaX forum

Kenny.script
« on: 30 March, 2004, 19:21:16 »

Offline ??????Hawk??????

  • Emperor
  • **
  • Posts: 1 044
  • Karma: +12/-2
    • Leeds Laptop Repairs
(No subject)
« Reply #1 on: 31 March, 2004, 01:53:06 »
try this one m8...

*edit* clears all kennys 5 mins after last kennylized user

Code: [Select]

 
 
 
 
-- Kenny Script by ??????Hawk??????
--  31-03-04
Bot = "Kenny"
kennytext = {
"*umfl* *uuffum*",
"*lluu* *mlmlff* *umfl* *lfumfl* *umfl*",
"*lmmf* *uullu* *mmmm*",
"*ommlu* *uullu* *lmmf* *ommlu* *mflf*",
"*olomum* *lmmf* *mhhhmmlm*",
"*Mhhl* *mujm* *umfl*",
}
Kennylizednicks = {}
mins = 1000 * 60 * 5


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
      end
end
      if strsub(data,1,1) == "<" then
          if Kennylizednicks[user.sName] == 1 then
text=kennytext[random(1, getn(kennytext))]
SendToAll(user.sName, text)
return 1
          end
      end
    end
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
« Last Edit: 31 March, 2004, 02:52:56 by ??????Hawk?????? »

Offline NotRabidWombat

  • Lord
  • ***
  • Posts: 384
  • Karma: +2/-0
(No subject)
« Reply #2 on: 31 March, 2004, 02:52:41 »
I thought I posted this script on this board.
Code: [Select]
sBotName = "KennyBot";

tNormalToKenny = {
"Mmm", "Mmp", "Mmf", "Mpm", "Mpp", "Mpf", "Mfm", "Mfp", "Mff", "Pmm",
"Pmp", "Pmf", "Ppm", "Ppp", "Ppf", "Pfm", "Pfp", "Pff", "Fmm", "Fmp",
"Fmf", "Fpm", "Fpp", "Fpf", "Ffm", "Ffp" };

tKennys = {};

base = strbyte("A") - 1;
-- After a month of leave, I forgot Lua tables are 1 based
-- This caused so MANY problems

function DataArrival(curUser, sData)
local s, e, sMessage, cmd, arg = strfind(sData, "^%b<> ((%S+)%s?(%S*)[^%|]*)%|$");

if(cmd == nil) then return; end

cmd = strlower(cmd);

if(cmd == "!kenny" and curUser.bOperator and tKennys[arg] == nil) then
-- TODO: add an operator check
tKennys[arg] = 1;
SendToAll(sBotName, curUser.sName.." has Kennylized "..arg);
return 1;
end

if(cmd == "!unkenny" and curUser.bOperator and tKennys[arg]) then
tKennys[arg] = nil;
SendToAll(sBotName, curUser.sName.." has unKennylized "..arg);
return 1;
end


if(tKennys[curUser.sName]) then
local sOutput = gsub(sMessage, "(%a)", ConvertLetter);

SendToAll(curUser.sName, sOutput);
return 1;
end
end

function ConvertLetter(letter)
if(letter == nil) then return; end

local mumble = tNormalToKenny[strbyte(strupper(letter)) - base];

if(strupper(letter) ~= letter) then
mumble = strlower(mumble);
end

return mumble;
end
It's based off of "official" kenny speak code. Found a site for it some time ago.

-NotRabidWombat


I like childish behavior. Maybe this post will be deleted next.

Offline Typhoon

  • Lord
  • ***
  • Posts: 397
  • Karma: +22/-3
  • PGE Developer
    • PGE Homepage
(No subject)
« Reply #3 on: 31 March, 2004, 05:21:28 »
thx, to both Hawk and NotRabidwombat...

but i would still like to no were my bug is, since not knowing i wont learn by it til next time....
then maybe same bug and still not knowing, and had the table part planned, but no need when not functioning...



imby

  • Guest
(No subject)
« Reply #4 on: 12 September, 2004, 00:57:48 »
the script NotRabidWombat pasted needs a correction. it only kennylizes letters typed. so one could put a space in front of what they type and it sends the whole thing out as normal.
« Last Edit: 12 September, 2004, 01:01:56 by imby »

Offline bastya_elvtars

  • Forum God
  • ****
  • Posts: 3 744
  • Karma: +173/-7
  • The rock n' roll doctor
    • The FreshStuff3 Site
(No subject)
« Reply #5 on: 12 September, 2004, 01:07:31 »
If you tel me what this script should do, maby i will make an update.
Everything could have been anything else and it would have just as much meaning.

imby

  • Guest
(No subject)
« Reply #6 on: 12 September, 2004, 01:41:33 »
It's the ptokax equivalent of the kenny command in y-hub. if you !kenny a user , it sould replace the text that they write these words:

wiith "Mmm", "Mmp", "Mmf", "Mpm", "Mpp", "Mpf", "Mfm", "Mfp", "Mff", "Pmm",
   "Pmp", "Pmf", "Ppm", "Ppp", "Ppf", "Pfm", "Pfp", "Pff", "Fmm", "Fmp",
   "Fmf", "Fpm", "Fpp", "Fpf", "Ffm", "Ffp" };


the bug is this: if they put a space before what they type, it sends their writing as they typed it. also non a-z charceters don't work either.

Offline bastya_elvtars

  • Forum God
  • ****
  • Posts: 3 744
  • Karma: +173/-7
  • The rock n' roll doctor
    • The FreshStuff3 Site
(No subject)
« Reply #7 on: 12 September, 2004, 01:47:06 »
Code: [Select]
sBotName = "KennyBot";


tNormalToKenny = {
"Mmm", "Mmp", "Mmf", "Mpm", "Mpp", "Mpf", "Mfm", "Mfp", "Mff", "Pmm",
"Pmp", "Pmf", "Ppm", "Ppp", "Ppf", "Pfm", "Pfp", "Pff", "Fmm", "Fmp",
"Fmf", "Fpm", "Fpp", "Fpf", "Ffm", "Ffp" };


tKennys = {};


base = strbyte("A") - 1;
-- After a month of leave, I forgot Lua tables are 1 based
-- This caused so MANY problems


function DataArrival(curUser, sData)
local s, e, sMessage, cmd, arg = strfind(sData, "^%b<>%s+((%S+)%s?(%S*)[^%|]*)%|$");


if(cmd == nil) then return; end


cmd = strlower(cmd);


if(cmd == "!kenny" and curUser.bOperator and tKennys[arg] == nil) then
-- TODO: add an operator check
tKennys[arg] = 1;
SendToAll(sBotName, curUser.sName.." has Kennylized "..arg);
return 1;
end


if(cmd == "!unkenny" and curUser.bOperator and tKennys[arg]) then
tKennys[arg] = nil;
SendToAll(sBotName, curUser.sName.." has unKennylized "..arg);
return 1;
end




if(tKennys[curUser.sName]) then
local sOutput = gsub(sMessage, "(%a)", ConvertLetter);


SendToAll(curUser.sName, sOutput);
return 1;
end
end


function ConvertLetter(letter)
if(letter == nil) then return; end


local mumble = tNormalToKenny[strbyte(strupper(letter)) - base];


if(strupper(letter) ~= letter) then
mumble = strlower(mumble);
end


return mumble;
end

Hope this helps...
Everything could have been anything else and it would have just as much meaning.

PtokaX forum

(No subject)
« Reply #7 on: 12 September, 2004, 01:47:06 »