Lua:
local testatalk = TalkAction("!testatalk")
function testatalk.onSay(player, words, param)
local player = Player(player)
local inbox = player:getSlotItem(CONST_SLOT_STORE_INBOX)
if param == "" then
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'text')
return false
end
if player:getStorageValue(1769359) > os.time() then
player:sendCancelMessage('exaust')
else
if param == "nome1" then
player:setStorageValue(1769359, os.time() + (60 * 1200))
player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
elseif player:getVocation():getId() == 1 or player:getVocation():getId() == 5 then
inbox:addItem(32129, 100)
elseif player:getVocation():getId() == 2 or player:getVocation():getId() == 6 then
inbox:addItem(32128, 100)
elseif player:getVocation():getId() == 3 or player:getVocation():getId() == 7 then
inbox:addItem(32127, 100)
elseif player:getVocation():getId() == 4 or player:getVocation():getId() == 8 then
inbox:addItem(32124, 100)
inbox:addItem(32125, 100)
inbox:addItem(32126, 100)
return true
end
if param == "nome2" then
player:setStorageValue(1769359, os.time() + (60 * 1200))
player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED)
elseif player:getVocation():getId() == 1 or player:getVocation():getId() == 5 then
inbox:addItem(32129, 100)
elseif player:getVocation():getId() == 2 or player:getVocation():getId() == 6 then
inbox:addItem(32128, 100)
elseif player:getVocation():getId() == 3 or player:getVocation():getId() == 7 then
inbox:addItem(32127, 100)
elseif player:getVocation():getId() == 4 or player:getVocation():getId() == 8 then
inbox:addItem(32124, 100)
inbox:addItem(32125, 100)
inbox:addItem(32126, 100)
return true
end
return
end
return false
end
testatalk:separator(" ")
testatalk:register()
the problem that when a player says '!testatalk' with some other name he is getting the items infinitely he should receive the error message saying 'text'