• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Help Function

sandstorm

New Member
Joined
Dec 13, 2010
Messages
98
Reaction score
0


Can i replace it?



Add an anti-spam thing
DETAIL
Not tested
PURPOSE
Demonstrate a cool way of making talkactions
]]--
Message = inheritsFrom(Talkhandler)
Message:setAttributes({
env = nil,
conn = nil
})
Message:registerWordEvent('!show', Message.showMsg) -- !show
Message:registerWordEvent('!send!', Message.sendMsg) -- !send"<player>, <msg>
function Message:eek:nSay(cid, words, param)
self:callWordEvent(words, cid, param)
return false -- Needed so server wont send messages to client
end
function Message:showMsg(cid, param)
local pid = getPlayerGUID(cid)
local env, con = self:getConnection()
local cur = assert(con:execute("SELECT * FROM `messages` WHERE `playerid` = ' .. Database:quote(pid) .. ' AND `read` = '1'"))
if (cur:numrows() > 0) then
local row = cur:fetch({}, "a")
while (row) do
doPlayerSendTextMessage(cid, TALKTYPE_PRIVATE, row.writer .. ": " .. row.text)
row = cur:fetch({},"a")
assert(con:execute('DELETE FROM `messages` WHERE `playerid` = ' .. Database:quote(pid) .. ';'))
end
return true
end
conn:close()
env:close()
return false
end
function Message:sendMsg(cid, param)
local separator = string.explode(param, ",")
local targetId = getPlayerGUIDByName(separator[1])
if not (isPlayer(targetId) == TRUE) then
warnPlayer('Can only send messages to offline and exiting players.')
else
local env, con = Database:getConnection()
local writerName = getPlayerName(cid)
if (separator[2] ~= '' and Database:isPlayer(targetId) == false) then
sql:execute("'INSERT INTO `messages` (`playerid`, `writer`, `text`, `read`) VALUES (' .. targetId .. ', ' .. writerName .. ', ' .. separator[2] .. ', '0')")
doPlayerSendCancel(cid, 'Message successfuly sent to ' .. separator[1] .. '.')
return true
end
return false
end
end
REPPP!


TFS 0.3.6pl1
 
Back
Top