walissonja 0 Postado Dezembro 2, 2017 Share Postado Dezembro 2, 2017 Tipo do script: Npc Protocolo (versão do Tibia): 8.60 Servidor utilizado: Tfs 0.4 Nível de experiência: Médio Adicionais/Informações: Olá, Eu Tenho um npc que ele troca item por item, só que ele não da storage ai o pessoal leva 10 negocio e faz 10 vezes avontade Eu Gostaria que quando o player levasse 10 item por x item e ainda ganharia storage para não ir lá novamente falar com ele. Script : Spoiler 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 items = { item1 = {5785, 13506} } local counts = { count1 = {10, 1} } 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, 'kefla') then if getPlayerItemCount(cid, items.item1[1]) >= counts.count1[1] then doPlayerRemoveItem(cid, items.item1[1], counts.count1[1]) doPlayerAddItem(cid, items.item1[2], counts.count1[2]) selfSay('You just swap '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..' for '.. counts.count1[2] ..' '.. getItemNameById(items.item1[2]) ..'.', cid) else selfSay('You need '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..'.', cid) end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) URGENTEEE.. Link para o comentário Compartilhar em outros sites More sharing options...
narutomaniacos 14 Postado Dezembro 20, 2017 Share Postado Dezembro 20, 2017 Ele poderia fazer a troca dez vezes ou só uma? Link para o comentário Compartilhar em outros sites More sharing options...
gabriel28 60 Postado Dezembro 20, 2017 Share Postado Dezembro 20, 2017 Não sou scripter, mas tentei aqui, vê se funciona: Spoiler 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 items = { item1 = {5785, 13506} } local counts = { count1 = {10, 1} } 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, 'kefla') then if getPlayerStorageValue(cid, 969696) > 0 then selfSay('You already done.') else if getPlayerItemCount(cid, items.item1[1]) >= counts.count1[1] doPlayerRemoveItem(cid, items.item1[1], counts.count1[1]) doPlayerAddItem(cid, items.item1[2], counts.count1[2]) setPlayerStorageValue(cid, 969696, 1) selfSay('You just swap '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..' for '.. counts.count1[2] ..' '.. getItemNameById(items.item1[2]) ..'.', cid) else selfSay('You need '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..'.', cid) end end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados