Postado Dezembro 31, 2020 4 anos Autor 15 minutos atrás, So volto tarde disse: Tive de mudar o nome de "refiner" para "normal refiner", também corrigi alguns erros que deixei passar. Ocultar conteúdo local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg:lower()) end function onThink() npcHandler:onThink() end local talkState = {} function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local config = { refinerid = 8301, qtdrefinerid = 100, grefinerid = 8303, qtdgrefinerid = 125, urefinerid = 8299, qtdurefinerid = 150, coinref = 9970, coingref = 2147, coinuref = 2144 } if (msgcontains(msg, "normal refiner")) then selfSay('msg confirmação refiner? {yes}', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if (getPlayerItemCount(cid, config.coinref) >= config.qtdrefinerid) then doPlayerRemoveItem(cid, config.coinref, config.qtdrefinerid) doPlayerAddItem(cid, config.refinerid, 1) talkState[talkUser] = 0 selfSay('troca completa msg refiner', cid) else selfSay('voce nao tem '..config.qtdrefinerid..' '..getItemNameById(config.coinref), cid) talkState[talkUser] = 0 end end if (msgcontains(msg, "great refiner")) then selfSay('msg confirmação great refiner? {yes}', cid) talkState[talkUser] = 2 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then if (getPlayerItemCount(cid, config.coingref) >= config.qtdgrefinerid) then doPlayerRemoveItem(cid, config.coingref, config.qtdgrefinerid) doPlayerAddItem(cid, config.grefinerid, 1) talkState[talkUser] = 0 selfSay('troca completa msg great refiner', cid) else selfSay('voce nao tem '..config.qtdgrefineridf..' '..getItemNameById(config.coingref), cid) talkState[talkUser] = 0 end end if (msgcontains(msg, "ultra refiner")) then selfSay('msg confirmação refiner? {yes}', cid) talkState[talkUser] = 3 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 3) then if (getPlayerItemCount(cid, config.coinuref) >= config.qtdurefinerid) then doPlayerRemoveItem(cid, config.coinuref, config.qtdurefinerid) doPlayerAddItem(cid, config.urefinerid, 1) talkState[talkUser] = 0 selfSay('troca completa msg refiner', cid) else selfSay('voce nao tem '..config.qtdurefinerid..' '..getItemNameById(config.coinuref), cid) talkState[talkUser] = 0 end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Funcionou perfeitamente! Era exatamente o que eu queira. XD rep+
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.