Postado Abril 21, 2015 10 anos Boa tarde, eu estou com um pequeno problema com esse NPC \/ local trade = { {items = {5944, 2160}, newitem = 5957} -- Items = items para remover/newitem = item para adicionar ao player. } 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 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end msg = msg:lower(); local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid for x, v in ipairs(trade) do for b = 1, #v.items do if msgcontains(msg, 'change') then if getPlayerItemCount(cid, v.items) >= 1 then talkState[talkUser] = 2 return selfSay('Deseja trocar um X e Y por um Z?', cid) else talkState[talkUser] = 0 return selfSay('Você não tem os items necessários.', cid) end elseif msgcontains(msg, 'yes') then if talkState[talkUser] == 2 then if doPlayerRemoveItem(cid, v.items[1], 1) and doPlayerRemoveItem(cid, v.items[2], 1) then doPlayerAddItem(cid, v.newitem, 1) return selfSay('Aqui está.', cid) else return selfSay('Está tentando me enganar? Você não tem os itens necessários.', cid) end end elseif msgcontains(msg, 'no') then if talkState[talkUser] == 2 then selfSay('Ok...', cid) end end end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) quando alguém diz "change" o NPC diz "Deseja trocar um X e Y por um Z?". Como troca a palavra "change" para yes sem bugar? Eu simplesmente troquei mas aí ele não continua o script e fala "Aqui está.". Eu gostaria de dizer hi/yes/yes, tem como? PS: Eu postei o script dentro de um spoiler pq eu não sei postar como um script assim: Se alguém puder me ensinar como faz isso também agradeceria... Rep+ pra quem ajudar! Editado Abril 21, 2015 10 anos por doidu (veja o histórico de edições)
Postado Abril 21, 2015 10 anos Edit. Te ajudo no skype kkk @Topic, para nao ficar como flood. Colocar "you want to exchange items ?" o que você tem contra inglês cara? kk Editado Abril 21, 2015 10 anos por Deadpool (veja o histórico de edições) Se te ajudei, deixe seu curti, clique em melhor resposta, para que eu possa ajudar sempre. Trabalhos (C++): Cor das mensagens nos channels Ajusta/Mudar cor das mensagens de Loot Liberação dos novos Remakes da PokeXGames. NPC "Guild Master" que cria, deleta, invita, kicka players da guild. At Soon, LIKE ON FACEBOOK. Clik on Imgs
Postado Abril 21, 2015 10 anos Não testei. local trade = { {items = {5944, 2160}, newitem = 5957} -- Items = items para remover/newitem = item para adicionar ao player. } 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 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end msg = msg:lower(); local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'yes')) then selfSay('Deseja trocar um X e Y por um Z?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(doPlayerItemCount(cid, trade.items[1]) >= 1 and doPlayerItemCount(cid, trade.items[2]) >= 1) then doPlayerRemoveItem(cid, trade.items[1], 1) doPlayerRemoveItem(cid, trade.items[2], 1) doPlayerAddItem(cid, trade.newitem, 1) selfSay('Aqui está.', cid) else selfSay('Está tentando me enganar? Você não tem os itens necessários.', cid) end elseif(msgcontains(msg, 'no')) then selfSay('Ok...', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
Postado Abril 21, 2015 10 anos Também testei, mas vai bugar , já dei uma forma pra ele usar esse script pelo skype.. rs Se te ajudei, deixe seu curti, clique em melhor resposta, para que eu possa ajudar sempre. Trabalhos (C++): Cor das mensagens nos channels Ajusta/Mudar cor das mensagens de Loot Liberação dos novos Remakes da PokeXGames. NPC "Guild Master" que cria, deleta, invita, kicka players da guild. At Soon, LIKE ON FACEBOOK. Clik on Imgs
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.