PtokaX forum

Archive => Archived 5.1 boards => Conversion Requests => Topic started by: ThugLife on 20 February, 2008, 09:46:00

Title: Talk 1.0 convert to New API - Pls Help
Post by: ThugLife on 20 February, 2008, 09:46:00
Code (lua) Select

--[[
   Talk 1.0 LUA 5.0/5.1
   
   By Mutor        03/25/06
   
   Requested by swapy2006
   
   Speak as another user
   
   -Sends message in main from specified or random user
   -Option to choose nick from user list for talk message
   -Includes context menu (right click)

]]

TalkCmds = {
   talk = function(user,data)
      if user then
         local s,e,msg = string.find(data,"^%b<>%s%p%w+%s(.+)|$")
         if msg then
            local s,e,nick = string.find(msg,"^(%S+)")
            if not nick then
               nick = GetNick()
               while (nick == user.sName) do
                  nick = GetNick()
               end
            else
               SendToAll(nick, string.sub(msg,string.len(nick)+2,-1))
            end
         else
            user:SendData("Error!, Usage: +talk <nick> <msg> (nick is optional)")
         end
      else
         return "Talk As Another User"," %[line:Nick (Leave blank for random)]"," %[line:Talk Message]"
      end
   end,
   }

NewUserConnected = function(user)
   SendCmds(user)
end
OpConnected = NewUserConnected
   
ChatArrival = function(user,data)
   local s,e,cmd = string.find(data,"%b<>%s%p(%w+)")
   if cmd then
      if cmd and TalkCmds[cmd] then
         return TalkCmds[cmd](user,data),1
      end
   end
end

GetNick = function()
   local tab = frmHub:GetOnlineUsers()
   local usr = tab[math.random(1, table.getn(tab))]
   local nick = usr.sName
   return nick
end


SendCmds = function(user)
   for i,v in pairs(TalkCmds) do
      local desc,arg1,arg2 = TalkCmds()
      user:SendData("$UserCommand 1 1 "..desc.."$<%[mynick]> +"..i..arg1..arg2.."&#124;")
      user:SendData("$UserCommand 1 2 "..desc.."$<%[mynick]> +"..i.." %[nick]"..arg2.."&#124;")
   end
end

Code (lua) Select