Postado Abril 11, 2015 10 anos Bom, estou tendo problemas na Dwarven Armor Quest. O player pega a "Old and used backpack" e vai entrega-la para o npc Sam para ele dar permissão para falar com o proximo npc. Mas o npc Sam não responde o player. 01:36 Sam: Welcome to my shop, adventurer GOD! I trade with weapons and armor. 01:36 GOD [8]: old backpack Script do npc: 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 config = { storage = 18256, } 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, "old backpack")) then if (getPlayerItemCount(cid, 3960) >= 1) and doPlayerRemoveItem(cid,3960,1)then npcHandler:say({'Thank you very much! This brings back good old memories! Please, as a reward, travel to Kazordoon and ask my old friend Kroox to provide you a special dwarven armor. ...', 'I will mail him about you immediately. Just tell him, his old buddy sam is sending you.'}, cid) setPlayerStorageValue(cid, config.storage, 1) else selfSay("You don't have my backpack.", cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser])) then talkState[talkUser] = 0 selfSay("Bye.", cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Editado Abril 11, 2015 10 anos por Ovini (veja o histórico de edições)
Postado Abril 11, 2015 10 anos Testa assim: 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 config = { storage = 18256, } function creatureSayCallback(cid, type, msg) msg = msg:lower(); if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'old backpack') then if getPlayerStorageValue(cid, config.storage) <= 0 then if getPlayerItemCount(cid, 3960) >= 1 then selfSay('Thank you very much! This brings back good old memories! Please, as a reward, travel to Kazordoon and ask my old friend Kroox to provide you a special dwarven armor.', cid) doPlayerRemoveItem(cid, 3960, 1) setPlayerStorageValue(cid, config.storage, 1) else selfSay("You don't have my backpack.", cid) end else selfSay('Você já entregou a old backpack.', cid) talkState[talkUser] = 0 end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser])) then talkState[talkUser] = 0 selfSay("Bye.", cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) ➥ Regras | Seções OTServ | Seções BOT
Postado Abril 11, 2015 10 anos Autor Coloquei desse jeito ae, mas ele ainda nao continua respondendo quando falo "old backpack".
Postado Abril 11, 2015 10 anos Tente alterar a storage 18256 para -1, geralmente o comando é /storage Wakon, 18256, -1 se não tiver o comando altere na database. ➥ Regras | Seções OTServ | Seções BOT
Postado Abril 11, 2015 10 anos Autor Fiz esse comando, mas ainda não da nada. Acho que vou desistir rsrsrs
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.