PtokaX forum

Archive => Archived 4.0 boards => Request for Lua 4 scripts => Topic started by: PRED_UK on 27 January, 2005, 17:18:56

Title: THIS SHOULD BE EASY !! Please Help !!
Post by: PRED_UK on 27 January, 2005, 17:18:56
I need a script that watches mainchat and if a trigger word is said by a user it notifies ops chat

for instance if a user type help me in main chat could a message be sent to ops office notifying the ops that the user is asking for help ???

could this also be adapted that multiple words can be used as trigger words ????

Thanks and all help appreciated.


PRED_UK :)
Title:
Post by: ??????Hawk?????? on 27 January, 2005, 18:45:34
hi m8  .. :))

i know your a user of my script  so

Added to  Xsthetic Netserver  ..  

just  testing it  ...

triggers held in a Table

OpHelpTrigg = {
"help me",
"any ops here",
"op help",
}


Watch Xsthetic netserver Thread for new update

??????Hawk??????
Title:
Post by: TTB on 27 January, 2005, 19:03:04
Here you have...

-- TrickerBot2.lua, created by Ptaczek Dec-24, 2002
-- TO MANY FIXES AND UPDATES TO SHOW HERE :)
-- simple version for PRED_UK
-- commands:  +talk   and   +quiet

botname = "[BOT]PLAY"

trigall=1

trigs = {
             
["two words"]={
"reply 1",
"reply 2"  
                              },

1word={
  "De user: [CURUSER] is away from keyboard!"
                              },                          

--## example / feel free to add some more ;)    ##--

lol={
"LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL LOL",
"Haha, proest, kuch...",
">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>LOL<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
"bla",
"bla1",
"bla2"
},

   
}

function Main()
frmHub:RegBot(botname)
end

function DataArrival(curUser, data)

status=strsub(data,1,strlen(data)-1)
-- parse the command
s,e,cmd = strfind( status, "%b<>%s+(%S+)" )

if (cmd=="+quiet") and curUser.bOperator then
trigall=0
SendToAll(botname, " Hmf, Okidoki I will be quiet :(( ")
return 1
elseif (cmd=="+talk") and curUser.bOperator then
trigall=1
SendToAll(botname, " Okay, I will talk to you again :-)")
return 1
end

--## do not edit below ##--
       
if( strsub(data, 1, 1) == "<" ) then
-- get the msg only using regular expression
s,e,msg = strfind(data, "%b<>([%a ]+)")                                        
-- look in the table
                if trigall==1 then
for key, value in trigs do
                for key2, value2 in value do
                     
if( strfind( strlower(msg), key) ) then
              else break  
end

        if( strfind( strlower(msg), "!me") ) then
                t="**"..curUser.sName
                data=gsub (msg, "!me", t, 1 )
end

SendToAll( data ) -- send the original data
          SetTimer(1800)
                StartTimer()
answer, x = gsub(value[random(1,getn(value))], "%b[]", curUser.sName)

return 1; -- tell the hub we have processed the data
end
end  
end
end

function OnTimer()
SendToAll( botname, answer ) -- send bot's answer
StopTimer()
end
end
Title:
Post by: PRED_UK on 27 January, 2005, 19:38:50
Thanks for all your help guys, and keep up the good work.

Much appreciated....






PRED_UK TFZ NETWORK ADMIN.
owner of pred-fm.no-ip.com :D