local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end
local monsters = {"wolf", "rat"}
local monster = {}
local count = {}
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
if (msgcontains(msg, 'arena')) then
local msgs = "I can summon "
for i = 1, #monsters do
local monsteryy = monsters[i]
if (i == 1) then
msgs = msgs .." ".. monsters[i]
else
msgs = msgs ..", ".. monsters[i]
end
end
selfSay(msgs, cid)
talkState[talkUser] = 1
elseif (isInArray(monsters, msg) and talkState[talkUser] == 1) then
monster[talkUser] = msg
talkState[talkUser] = 2
selfSay("Enter number of monsters.", cid)
elseif (string.find(msg, "[1-9]") and talkState[talkUser] == 2) then
count[talkUser] = msg
talkState[talkUser] = 3
selfSay("Want to try your hand?", cid)
elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 3) then
for i = 1, count[talkUser] do
doSummonCreature(monster[talkUser], getCreaturePosition(cid))
end
count[talkUser] = 0
monster[talkUser] = 0
talkState[talkUser] = 0
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())