Postado Dezembro 30, 2017 7 anos Pessoal, preciso de ajuda com um NPC que estou editando. Gostaria de que ele vendesse BPs de Mana fluid e Blank runes. Ele é do OThire 0.0.3. Alguem pode me ajudar? Ai vai o script do npc: dofile(getDataDir() .. 'npc/scripts/lib/greeting.lua') local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) -- OTServ event handling functions 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 shopModule = ShopModule:new() npcHandler:addModule(shopModule) shopModule:addBuyableItem({'life'}, 2006, 60, 10, 'life fluid') shopModule:addBuyableItem({'mana'}, 2006, 55, 7, 'mana fluid') shopModule:addBuyableItem({'spellbook'}, 2175, 150) shopModule:addBuyableItem({'blank rune'}, 2260, 10, 'blank rune') shopModule:addBuyableItem({'wand of cosmic energy'}, 2189, 10000) shopModule:addBuyableItem({'wand of plague'}, 2188, 5000) shopModule:addBuyableItem({'wand of dragonbreath'}, 2191, 1000) shopModule:addBuyableItem({'wand of vortex'}, 2190, 500) shopModule:addBuyableItem({'moonlight rod'}, 2186, 1000) shopModule:addBuyableItem({'volcanic rod'}, 2185, 5000) shopModule:addBuyableItem({'snakebite rod'}, 2182, 500) shopModule:addBuyableItem({'quagmire rod'}, 2181, 10000) shopModule:addBuyableItem({'tempest rod'}, 2183, 15000) shopModule:addBuyableItem({'wand of inferno'}, 2187, 15000) function creatureSayCallback(cid, type, msg) msg = string.lower(msg) if(npcHandler.focus ~= cid) then return false end if msgcontains(msg, 'vial') or msgcontains(msg, 'deposit') or msgcontains(msg, 'flask') then npcHandler:say("I will pay you 5 gold for every empty vial. Ok?", 1) talk_state = 857 elseif talk_state == 857 and msgcontains(msg, 'yes') then if sellPlayerEmptyVials(cid) == true then npcHandler:say("Here's your money!", 1) talk_state = 0 else npcHandler:say("You don't have any empty vials!", 1) talk_state = 0 end end if getPlayerStorageValue(cid, 999) == -1 and msgcontains(msg, 'rod') or getPlayerStorageValue(cid, 999) == -1 and msgcontains(msg, 'Rod') or getPlayerStorageValue(cid, 999) == -1 and msgcontains(msg, 'wand') or getPlayerStorageValue(cid, 999) == -1 and msgcontains(msg, 'Wand') then if getPlayerStorageValue(cid, 999) == -1 then if getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 5 then doPlayerAddItem(cid,2190,1) npcHandler:say('Here\'s your wand!', 1) setPlayerStorageValue(cid, 999, 1) elseif getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 6 then doPlayerAddItem(cid,2182,1) npcHandler:say('Here\'s your rod!', 1) setPlayerStorageValue(cid, 999, 1) elseif getPlayerVocation(cid) < 1 or getPlayerVocation(cid) > 6 then npcHandler:say('I\'m sorry, but you\'re neither sorcerer nor druid!', 1) setPlayerStorageValue(cid, 999, 1) elseif getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 4 then npcHandler:say('I\'m sorry, but you\'re neither sorcerer nor druid!', 1) setPlayerStorageValue(cid, 999, 1) end talk_state = 0 end elseif msgcontains(msg, 'rod') or msgcontains(msg, 'Rod') then npcHandler:say("Rods can be wielded by druids only and have a certain level requirement. There are five different rods, would you like to hear about them?", 1) talk_state = 7613 elseif talk_state == 7613 and msgcontains(msg, 'yes') or talk_state == 7613 and msgcontains(msg, 'Yes') then npcHandler:say("The names of the rods are 'Snakebite Rod', 'Moonlight Rod', 'Volcanic Rod', 'Quagmire Rod', and 'Tempest Rod'. Which one would you like to buy?", 1) talk_state = 7613 elseif msgcontains(msg, 'wand') or msgcontains(msg, 'Wand') then npcHandler:say("Wands can be wielded by sorcerers only and have a certain level requirement. There are five different wands, would you like to hear about them?", 1) talk_state = 7624 elseif talk_state == 7624 and msgcontains(msg, 'yes') or talk_state == 7624 and msgcontains(msg, 'Yes') then npcHandler:say("The names of the wands are 'Wand of Vortex', 'Wand of Dragonbreath', 'Wand of Plague', 'Wand of Cosmic Energy' and 'Wand of Inferno'. Which one would you like to buy?", 1) talk_state = 7624 end return true end keywordHandler:addKeyword({'name'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm Xodet, the owner of this shop."}) keywordHandler:addKeyword({'job'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm sorcerer and trade with all kinds of magic items."}) keywordHandler:addKeyword({'sorcerer'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "There is a sorcerer guild in Thais. Just go in the east of the town, it is easly to find."}) keywordHandler:addKeyword({'offer'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm selling life and mana fluids, runes, wands, rods and spellbooks."}) keywordHandler:addKeyword({'good'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm selling life and mana fluids, runes, wands, rods and spellbooks."}) keywordHandler:addKeyword({'have'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I'm selling life and mana fluids, runes, wands, rods and spellbooks."}) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
Postado Dezembro 30, 2017 7 anos shopModule:addBuyableItemContainer({'bp mana fluid'}, 2001, 7620, 1000, 1, 'backpack of mana fluid') shopModule:addBuyableItemContainer({'bp blank rune'}, 2001, 7620, 1000, 1, 'backpack of blank rune') Onde ta vermelho é a id da backpack que vai vim o item Onde ta azul é o id do item Onde ta verde é o preço que vai pagar na bp cheia
Postado Dezembro 30, 2017 7 anos Autor @Zzyzx No caso da mana fluid, não teria que ter algum numero a mais que indique que o fluido do vial e o mana fluid? Assim como ela é vendida separada, nesse caso, o numero 7 representa o fluid não?: shopModule:addBuyableItem({'mana'}, 2006, 50, 7, 'mana fluid') E deu também um erro ao abrir o exe. Editado Dezembro 30, 2017 7 anos por egyptPOWER (veja o histórico de edições)
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.