Jump to content
Close

Search the Community

Showing results for tags 'Scripting'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Community
    • Rules
    • Portal
    • Resources
    • Commerce
    • Clubs
  • OTServers
    • Discussion
    • Support
    • Tutorial
    • Download
    • Code Development
    • Contests and Events
    • Form Team
    • Advertise your Server
  • Tibia and Bots
    • Discussion
  • Others
    • Playground (Off-topic)
    • Other Games
    • Advertising
    • Graphics and Design
    • Development and Programming
  • League of Legends's Geral
  • League of Legends's Suporte
  • Nto New Season's Tópicos
  • Fakes's Fakes
  • Tibia's Geral
  • Tibia's Notícias
  • Tibia's Media
  • Tibia's Life Thread
  • Computação's Geral
  • Computação's Dicas e Tutoriais
  • Computação's Suporte
  • Roleplaying's Roleplaying
  • Academia de Mapping's Quadro da Clopin
  • Academia de Mapping's Dev Area
  • Academia de Mapping's Quadro do Nolis
  • Academia de Mapping's Quadro do Namikaze
  • Styller's Tópicos

Calendars

  • Official Calendar
  • OTServs Calendar
  • Several Calendars

Product Groups

  • Advertisements in Top
  • Advertisements In Signatures
  • Advertisements in Topics
  • Others Advertisements

Categories

  • Sales Section
    • Scripting Sales
    • Codes Sales
    • Mapping Sales
    • Websites Sales
    • Design/Sprites Sales
    • Bots Sales
  • Look Jobs
  • Looking for Freelancers
  • Team Formation

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Localization


My character


Favorite OTServ


Bot preferred


Interests

Found 3784 results

  1. Primeira boa tarde, não sei se estou colocando o tópico no lugar corretamente, caso não esteja favor mudar para lugar correto, faz muito tempo que não utilizo o site!!! Bom vamos direto ao assunto.. Estou com um pequeno problema os meu personagem [RP , EK , ED , MS] queria que meu personagem desse dano de acordo com skill... Como assim??? Simplesmente criei um set na onde possui Protect all 12% , quando coloco meu knight para bater no em meus personagem o equipamento não protege quase nenhum dano da arma pois o dano está totalmente desbalanceado, Pois a arma possui 125 de dano e esta dando quase 2k de dano no player , mas eu queria que ele desse no máximo 700 com player sem os equipamentos e 450 ~ 500 com equipamento, isso se tiver um skill muito alto. A arma possui ( atk: 125 ) , mas independente do valor atribuido na arma eu quero um dano fixo!! Alguem pode me ajudar Como pode observar um char com skill 11 está batendo a mesma coisa que um com skill 106, preciso muito arrumar isso para balanceamento
  2. Bom dia! Estou com um servidor 7.4 com executavel The OTX Server. Gostaria de saber se tem como alterar os npc na hora de comprar alguma coisa. Gostaria de apenas falar o item e ele vender. Ex: Hi -> Parcel -> Yes No entando da forma que está configurado se eu falar assim o npc nao responde, ele exige que seja Hi -> Buy Parcel -> Yes Isso para todos os NPCs, gostaria de retirar a exigencia de falar 'BUY'. Não consigo encontrar onde faço isso. Alguem tem alguma ideia? Obrigado
  3. .Qual servidor ou website você utiliza como base? TFS 1.0 Qual o motivo deste tópico? Scripting de promover com level.. Você tem o código disponível? Se tiver publique-o aqui: 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 local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'promover') or msgcontains(msg, 'promotion')) then selfSay('Eu posso promover você para {Medieval Spearman} custa 3 crystal coins, (30k). Você aceita? ', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(getPlayerItemCount(cid, 2160) >= 3) then doPlayerRemoveItem(cid, 2160, 3) doPlayerSetVocation(cid,13) selfSay('Parabéns, agora você é um Medieval Spearman.', cid) else selfSay('Você não tem {crystal coins} Suficientes.', cid) end talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  4. Bom dia comunidade do TK, ontem eu estava tentando adequar um script que a função dele é quando o player passar por um tile (SteIn) ele mudaria a outfit do player enquanto ele estivesse neste local que tem as action id, porém o StepOut não quer funcionar, e não aponta nenhum erro na distro dificultando a solução do problema. OBS: As outras funções como por exemplo a da stamina esta funcionando corretamente tanto no SteIn como no StepOut. Vou deixar o Script aqui para aqueles que tem um conhecimento maior sobre o assunto me ajudar. (se possível) Movements: Para aqueles que me derem uma atenção agradeço de coração por estarem utilizando seu tempo livre para ajudar não só a mim como todos da comunidade. ALTERAÇÕES A SEREM FEITAS: StepOut: Quando o player sair do tile que tem a action, ele voltar para a outfit que ele estava anteriormente conforme a vocation que ele tem. Como eu disse anteriormente, não esta apontando nenhum erro na distro e esta dificultando a solução do problema para mim, já tentei algumas formas de ajustar mas não tive sucesso. Utilizei: doCreatureChangeOutfit na parte do StepOut mas o "erro" não reconhecido pela distro ainda persiste. TFS: 0.3.6 Então é isso, estou precisando de uma ajuda nesta parte que só falta ela para eu terminar meu sistema que estou criando, espero que uma pessoa de um conhecimento maior possa me ajudar nisto 💖 REP+
  5. [Error - TalkAction Interface] data/talkactions/scripts/bless.lua:onSay Description: data/lib/034-exhaustion.lua:17: attempt to compare number with string stack traceback: data/lib/034-exhaustion.lua:17: in function 'get' data/talkactions/lib/talkactions.lua:3: in function 'checkExhausted' data/talkactions/scripts/bless.lua:2: in function <data/talkactions/scripts/bless.lua:1> Funcionava normal mas do nada paro o que pode ser? Engraçado que apenas 1 player causa isso no servidor, consequência não derruba OT nem nada, porem o coitado não consegue mais fazer bless! A lembrando ele usa comando de Bless via elfbot. function onSay(cid, words, param) if(not checkExhausted(cid, 666, 2)) then return true end if (getPlayerBlessing(cid,1)) then return doPlayerSendTextMessage(cid,25,"Você já possui bless.") end local position = getCreaturePosition(cid) if getPlayerLevel(cid) <= 79 then if getPlayerMoney(cid) >= 50000 then if doPlayerRemoveMoney(cid, 50000) then for b=1, 5 do doPlayerAddBlessing(cid, b) end doPlayerSendTextMessage(cid, 27, "Você comprou 'All Blessings'.") doCreatureSay(cid, "Blessed!", TALKTYPE_ORANGE_1) doSendMagicEffect(position, 49) else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") end else doPlayerSendTextMessage(cid,25,"Você não tem dinheiro suficiente. Você precisa de 50k!") end elseif getPlayerLevel(cid) >= 80 and getPlayerLevel(cid) <= 99 then if getPlayerMoney(cid) >= 65000 then if doPlayerRemoveMoney(cid, 65000) then for b=1, 5 do doPlayerAddBlessing(cid, b) end doPlayerSendTextMessage(cid, 27, "Você comprou 'All Blessings'.") doCreatureSay(cid, "Blessed!", TALKTYPE_ORANGE_1) doSendMagicEffect(position, 49) else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") end else doPlayerSendTextMessage(cid,25,"Você não tem dinheiro suficiente. Você precisa de 65k!") end elseif getPlayerLevel(cid) >= 100 and getPlayerLevel(cid) <= 129 then if getPlayerMoney(cid) >= 80000 then if doPlayerRemoveMoney(cid, 80000) then for b=1, 5 do doPlayerAddBlessing(cid, b) end doPlayerSendTextMessage(cid, 27, "Você comprou 'All Blessings'.") doCreatureSay(cid, "Blessed!", TALKTYPE_ORANGE_1) doSendMagicEffect(position, 49) else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") end else doPlayerSendTextMessage(cid,25,"Você não tem dinheiro suficiente. Você precisa de 80k!") end elseif getPlayerLevel(cid) >= 130 and getPlayerLevel(cid) <= 199 then if getPlayerMoney(cid) >= 100000 then if doPlayerRemoveMoney(cid, 100000) then for b=1, 5 do doPlayerAddBlessing(cid, b) end doPlayerSendTextMessage(cid, 27, "Você comprou 'All Blessings'.") doCreatureSay(cid, "Blessed!", TALKTYPE_ORANGE_1) doSendMagicEffect(position, 49) else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") end else doPlayerSendTextMessage(cid,25,"Você não tem dinheiro suficiente. Você precisa de 100k!") end elseif getPlayerLevel(cid) >= 200 then if getPlayerMoney(cid) >= 150000 then if doPlayerRemoveMoney(cid, 150000) then for b=1, 5 do doPlayerAddBlessing(cid, b) end doPlayerSendTextMessage(cid, 27, "Você comprou 'All Blessings'.") doCreatureSay(cid, "Blessed!", TALKTYPE_ORANGE_1) doSendMagicEffect(position, 49) else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") end else doPlayerSendTextMessage(cid,25,"Você não tem dinheiro suficiente. Você precisa de 150k!") end end return true end Script da Bless usado no talkations!
  6. Boa noite. Tenho o script abaixo onde ao derrotar determinado boss uma parede é removida e no lugar dela nasce uma porta com id 9181. Essa porta fica ali por 60 segundos e depois disso some dando lugar a parede que estava novamente. Ate ai tudo certo. O que eu gostaria de saber é como fazer para que essa porta seja criada com uma actionid de level para poder passar por ela. Pois da forma que ela e criada não e possivel. Tentei algumas coisas com doSetItemActionId mas não obtive exito. Se alguem puder me ajudar agradeço. function onDeath(cid, corpse, killer) local M ={ ["Lord Apocalypse"] = {Pos = {x=1845,y=756,z=8},id= 1544 ,id2= 9181 ,time = 60}, } local x = M[getCreatureName(cid)] function criar() local porta = getTileItemById(x.Pos, x.id2) local parede = getTileItemById(x.Pos, x.id) doRemoveItem(porta.uid, 1) doCreateItem(x.id, 1, x.Pos) end if x then local parede = getTileItemById(x.Pos, x.id) local porta = getTileItemById(x.Pos, x.id2) if parede then doRemoveItem(parede.uid, 1) doCreateItem(x.id2, 1, x.Pos) doCreatureSay(cid, "Depressa! A porta ira sumir em "..x.time.." segundos.", TALKTYPE_ORANGE_1) addEvent(criar, x.time*1000) end end return TRUE end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  7. New Auto Loot Premium Version 1.0 Data de lançamento: 03/2020 Versões de Tibia compatível: 8.54 até 9.6 Versão de Distro’s testadas: TFS 0.3.6 TFS 4.0 OTX Funciona em servidores Derivados? Sim. Tibia normal DBO Tibia (Dragon ball Tibia) NTO Tibia(Naruto Tibia) Poketibia(Não testado pois todos poketibia que baixei estava com droploot bugado) Bugs Fixs: Clonar itens – Ao colocar vários slots do mesmo item clonava (removido) Backpack Full – Em alguns servidores quando a backpack estava full dava crash ou bugada. NEW FEATURES: [+] Funcionando para os mais diversos clientes de Tibia. [+] Acompanha a Versão pela DB totalmente de graça, podendo colocar quantos slots quiser. [+] Aviso quando o espaço da sua backpack estiver com “5” ou menos espaços disponíveis (configurável) [+] Auto Loot Mensagem – Quando o drop vem para a sua backpack os itens que você pegou agora são mostrados no chat. Exemplo a imagem na cor tipo: Orange (configurável) [+] Auto Loot Color Mensagem – Agora o jogador poderá escolher pelo comando !autoloot que tipo de cor irá receber a mensagem do Auto Loot quando dropar o item. [+] Jogador poderá ativar ou desativar as mensagens. [+] Jogador poderá ativar ou desativar as mensagens de aviso dos slots da backpack. [+] Jogador poderá ativar ou desativar o drop de gold somente. [+] Jogador poderá ativar ou desativar o Auto Loot sempre que quiser. Para comprar: Chamar em PM ou Discord vodkart#6090
  8. É possível fazer um script se o player do mesmo ip tiver x storage não ter acesso para passa na porta? Por que usei um script anti-mc por ip, mas os cara exit e consegue passa com outro MC.. local questArea = {from = {x = 31556, y = 32643, z = 8}, to = {x =32248, y = 31868, z = 8}} -- area do evento... local levelAccess = 180 local function isMC(uid) for _, pid in ipairs(getPlayersOnline()) do if uid ~= pid and getPlayerIp(uid) == getPlayerIp(pid) and getPlayerStorageValue(pid, 484950) > 0 then return true end end return false end function onUse(cid, item, fromPosition, itemEx, toPosition) local cidPosition = getCreaturePosition(cid) if getPlayerLevel(cid) >= levelAccess then if isMC(cid) then doPlayerSendCancel(cid, "É proibido a entrada de MCs nesta Quest.") else if cidPosition.x < toPosition.x then doTeleportThing(cid, {x=toPosition.x+1,y=toPosition.y,z=toPosition.z}, TRUE) else doTeleportThing(cid, {x=toPosition.x-1,y=toPosition.y,z=toPosition.z}, TRUE) setPlayerStorageValue(cid, 484950, 0) doCreatureSay(cid, "Welcome to Quest!!", TALKTYPE_ORANGE_1) setPlayerStorageValue(cid, 484950, 1) end end return true else doPlayerSendCancel(cid, "Seu level é menor que " .. levelAccess .. ".") end return true end
  9. Galera, bom dia, tudo bem? Ao enviar qualquer mensagem como "1234567890?!,<>{}[]" alguns desses caracteres, não vai, aparece uma mensagem de erro, o que pode ser? Já vi diversos tutoriais para mudar algumas informações na source como bloqueio de advertising mas não encontro, os arquivos não existem. Outra informação, o meu otserver não existe o comando !serverinfo, como consigo colocar? Obrigado!
  10. Fala galera, de boa? Então, estou tentando montar um OT e estou fazendo alguma alterações nele. Estou utilizando o "The OTX Server Version: (2.6)". Ao abrir, está dando 2 erros, 1 é no NPC Cassino que tentei colocar, e o outro é no SQLite. Veja os erros abaixo e se podem me ajudar por favor! Obrigado! Erros: Segue os códigos: Cassino.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Cassino" script="data/npc/scripts/cassino.lua" walkinterval="0" floorchange="0"> <health now="100" max="100" /> <look type="132" head="108" body="87" legs="4" feet="34" addons="3" /> </npc> Cassino.lua local config = { min = 5000, -- Valor Minimo da Aposta max = 1000000, -- Valor Máximo da Aposta multiplyby = 2, -- Quanto o valor será multiplicado caso o jogador ganhe automatic = true, -- O NPC irá falar com o player automáticamente delay = 2, -- Tempo em segundos em que o player poderá falar com o NPC novamente position = { player = Position(143, 54, 7), -- Posição que o player deve estar money = Position(142, 55, 7), -- Posição do dinheiro dice = Position(141, 54, 7) -- Posição de onde estará o dado }, effects = { win = CONST_ME_SOUND_RED, -- Efeito no player caso ele ganhe lose = CONST_ME_POFF -- Efeito no player caso ele perca }, direction = { talking = DIRECTION_WEST, -- Posição na qual estara o NPC caso esteja conversando stopped = DIRECTION_SOUTH -- Posição na qual estara o NPC caso esteja parado } } local dices = { [1] = 5792, -- Dado com número 1 [2] = 5793, -- Dado com número 2 [3] = 5794, -- Dado com número 3 [4] = 5795, -- Dado com número 4 [5] = 5796, -- Dado com número 5 [6] = 5797 -- Dado com número 6 } local coins = { [2148] = 1, -- Gold coin [2152] = 100, -- Platinum coin [2160] = 10000 -- Crystal coin } local player = nil local money = 0 local npc = nil 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) end function onThink(cid) npcHandler:onThink(cid) end local function greetCallback(cid) local player = Player(cid) if not playerIsInPosition(player) then return false end return true end local function creatureSayCallback(cid, type, msg) if not player then player = Player(cid) end if not npcHandler:isFocused(cid) or player:getStorageValue(7239) >= os.time() then return false end player:setStorageValue(7239, os.time() + 2) local sorted = math.random(1, 6) local tile = Tile(config.position.dice) local status = false if msg:lower() == "l" or msg:lower() == "low" then status = (sorted < 4 and true or false) elseif msg:lower() == "h" or msg:lower() == "high" then status = (sorted > 3 and true or false) else return false end if not removeMoney() then return false end if player then npcHandler:say((status and "YOU WIN!" or "YOU LOSE!"), cid) end for i = 1, 6 do if tile:getItemById(dices[i]) then local dice = tile:getItemById(dices[i]) dice:transform(dices[sorted]) config.position.dice:sendMagicEffect(CONST_ME_CRAPS) break end end addEvent(function() sendRolledMsg(sorted) end, 800) addEvent(function() if status then addMoney() config.position.player:sendMagicEffect(config.effects.win) else config.position.player:sendMagicEffect(config.effects.lose) end end, 1000) end local function onAddFocus(cid) npc = Creature(getNpcCid()) npc:setDirection(config.direction.talking) end local function onReleaseFocus(cid) npc:setDirection(config.direction.stopped) player = nil npc = nil end function onThink() if config.automatic and not player then players = Tile(config.position.player):getCreatures() for i = 1, #players do if players[i]:isPlayer() then npcHandler:addFocus(players[i].uid) npcHandler:greet(players[i].uid) player = players[i] break end end end if player then if not playerIsInPosition(player) then npcHandler:say("Good bye " .. player:getName(), player.uid) npcHandler:releaseFocus(player.uid) player = nil return true end end end function playerIsInPosition(player) local pos1 = player:getPosition() local pos2 = config.position.player if (pos1.x == pos2.x) and (pos1.y == pos2.y) and (pos1.z == pos2.z) then return true end return false end function removeMoney() money = 0 local tile = Tile(config.position.money) local items = tile:getItems() local torvm = {} for i = 1, #items do if coins[items[i]:getId()] then local coin = items[i] money = money + (coins[coin:getId()] * coin:getCount()) end end if money < config.min then npcHandler:say("You need " .. config.min .. " gold coins to use the cassino.", player.uid) return false elseif money > config.max then npcHandler:say("You can only use " .. config.max .. " gold coins in the casino", player.uid) return false end for i = 1, #items do if coins[items[i]:getId()] then items[i]:remove() end end return true end function addMoney() local moneywin = money * config.multiplyby local ccoin = 0 local pcoin = 0 local gcoin = 0 while moneywin > 0 do if (moneywin >= 10000) then ccoin = moneywin / 10000; moneywin = moneywin - 10000 * math.floor(ccoin); end if (moneywin >= 100) then pcoin = moneywin / 100; moneywin = moneywin - 100 * math.floor(pcoin); end if (moneywin >= 1) then gcoin = moneywin / 1; moneywin = moneywin - 1 * math.floor(gcoin); end end while gcoin > 0 do if gcoin >= 100 then Game.createItem(2148, 100, config.position.money) gcoin = gcoin - 100 else Game.createItem(2148, math.floor(gcoin), config.position.money) gcoin = 0 end end while pcoin > 0 do if pcoin >= 100 then Game.createItem(2152, 100, config.position.money) pcoin = pcoin - 100 else Game.createItem(2152, math.floor(pcoin), config.position.money) pcoin = 0 end end while ccoin > 0 do if ccoin >= 100 then Game.createItem(2160, 100, config.position.money) ccoin = ccoin - 100 else Game.createItem(2160, math.floor(ccoin), config.position.money) ccoin = 0 end end end function sendRolledMsg(sorted) local spectators = Game.getSpectators(config.position.dice, false, true, 3, 3) for _, spectator in ipairs(spectators) do npc:say("Rolled a " .. sorted .. ".", TALKTYPE_MONSTER_SAY, false, spectator, config.position.dice) end end npcHandler:setMessage(MESSAGE_GREET, 'Hello |PLAYERNAME|, you want to bet it cassino? Say L to 1-3, H to 4-6.') npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:setCallback(CALLBACK_ONADDFOCUS, onAddFocus) npcHandler:setCallback(CALLBACK_ONRELEASEFOCUS, onReleaseFocus) npcHandler:addModule(FocusModule:new()) Fico no aguardo! Muito obrigado!
  11. Então, esse erro não ocorria e do nada apareceu, não vi nada que interfira no jogo, porem me incomoda esse erro na distro, toda vez que abro o servidor kkkk alguem sabe como resolver ? Erro: [5:49:30.512] [Error - GlobalEvent Interface] [5:49:30.513] data/globalevents/scripts/start.lua:onStartup [5:49:30.513] Description: [5:49:30.513] data/globalevents/scripts/start.lua:58: attempt to perform arithmetic on local 'members' (a table value) [5:49:30.514] stack traceback: [5:49:30.514] data/globalevents/scripts/start.lua:58: in function <data/globalevents/scripts/start.lua:8> Meu Start.lua
  12. Uso Vip por storage. Gostaria que só soltasse essa magia quem estivercom a storage da vip 23569 Alguem pode ajudar pf ? ja tem usar todas as formas que tem aqui no fórum, porem sem sucesso =[ Spell: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HOLYAREA) setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 6, 6, 6, 20) local area = createCombatArea(AREA_CIRCLE3X3) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end
  13. .Qual servidor ou website você utiliza como base? Qual o motivo deste tópico? gostaria de saber a onde fica o script do account manager que ele se duplica pela acc 1/1 Estou construindo um pvp enf com 1/1 e queria copiar a base do script do account manager para criar todos as vocações para pvp enfo. Só preciso sabe aonde encontro o script ou se é na src mesmo isso ? estou sem mexer a 7 anos versão 8.6 Está surgindo algum erro? Se sim coloque-o aqui. Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  14. Olá amigos e amigas, esse script que uso no meu servidor para entrega addons aos player, porem hoje notei uma coisa confusa e difícil ( pra mim de ser arrumar ) ao tenta fazer o npc entrega a outfit e os 2 addons do Nightmare, depois a pessoa não consegue pega o shield, pois o pobre npc não responde ele pula a fala, aparentemente ele não checa! Segue o script, problema está nightmare e brotherhood. 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) end function onThink() npcHandler:onThink() end function onPlayerEndTrade(cid) npcHandler:onPlayerEndTrade(cid) end function onPlayerCloseChannel(cid) npcHandler:onPlayerCloseChannel(cid) end 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, "enchanted") or msgcontains(msg, "chicken wing") or msgcontains(msg, "enchanted chicken wing") then npcHandler:say("Você gostaria de trocar {1 boots of haste} por 1 Enchanted Chicken Wing?", cid) npcHandler.topic[cid] = 7 elseif msgcontains(msg, "magic sulphur") or msgcontains(msg, "sulphur") then npcHandler:say("Você gostaria de trocar {3 fire swords} por 1 Magic Sulphur?", cid) npcHandler.topic[cid] = 14 elseif msgcontains(msg, "spool of yarn") or msgcontains(msg, "spool") or msgcontains(msg, "spider silk yarn") then npcHandler:say("Você gostaria de trocar {10 Spider Silks} por 1 Spool of Yarn?", cid) npcHandler.topic[cid] = 15 elseif msgcontains(msg, "spirit container") or msgcontains(msg, "fighting spirit") then npcHandler:say("Você gostaria de trocar {2 Royal Helmets} por 1 Spirit Container?", cid) npcHandler.topic[cid] = 16 elseif msgcontains(msg, "flask of warriors sweat") or msgcontains(msg, "flask of warrior") or msgcontains(msg, "flask of warrior sweat") or msgcontains(msg, "warrior sweat") then npcHandler:say("Você gostaria de trocar {4 Warrior Helmets} por 1 Flask of Warrior's Sweat?", cid) npcHandler.topic[cid] = 17 elseif msgcontains(msg, "yoda's fanfare") or msgcontains(msg, "yoda fanfare") or msgcontains(msg, "yoda") or msgcontains(msg, "fanfare") then npcHandler:say("Você gostaria de trocar comprar Yoda's Fanfare por {250000gold (250k)}?", cid) npcHandler.topic[cid] = 58 elseif msgcontains(msg, "nightmare") and msgcontains(msg, "shield") then if getPlayerStorageValue(cid, 20045) <= 0 and getPlayerStorageValue(cid, 20046) <= 0 then npcHandler:say("Primeiro você precisa completar todos os addons da {Nightmare}.", cid) npcHandler.topic[cid] = 0 else npcHandler:say("Por {100 Demonic Essence} o Nightmare Shield pode ser seu. Aceita?", cid) npcHandler.topic[cid] = 78 end elseif msgcontains(msg, "necromancer") and msgcontains(msg, "shield") then if getPlayerStorageValue(cid, 20048) <= 0 and getPlayerStorageValue(cid, 20049) <= 0 then npcHandler:say("Primeiro você precisa completar todos os addons da {Nightmare}.", cid) npcHandler.topic[cid] = 0 else npcHandler:say("Por {100 Demonic Essence} o Necromancer Shield pode ser seu. Aceita?", cid) npcHandler.topic[cid] = 79 end end if msgcontains(msg, "citizen") then npcHandler:say("Você gostaria de fazer {first addon} ou {second addon}?", cid) npcHandler.topic[cid] = 1 elseif npcHandler.topic[cid] == 1 then -- CITIZEN if msgcontains(msg, "first") or msgcontains(msg, "first addon") then npcHandler:say("É necessário: {100 Minotaur Leathers}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 2 elseif msgcontains(msg, "second") or msgcontains(msg, "second addon") then npcHandler:say("É necessário: {100 Chicken Feathers}, {50 Honeycombs} e {1 Legion Helmet}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 3 end end if msgcontains(msg, "hunter") then npcHandler:say("Você gostaria de fazer {first addon} ou {second addon}?", cid) npcHandler.topic[cid] = 4 elseif npcHandler.topic[cid] == 4 then -- HUNTER if msgcontains(msg, "first") or msgcontains(msg, "first addon") then npcHandler:say("É necessário: {1 Elane's Crossbow}, {100 Lizard Leather}, {100 Red Dragon Leather}, {5 Enchanted Chicken Wings}, {1 Piece of Royal Steel}, {1 Piece of Draconian Steel} e {1 Piece of Hell Steel}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 5 elseif msgcontains(msg, "second") or msgcontains(msg, "second addon") then npcHandler:say("É necessário: {1 Sniper Gloves}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 6 end end if msgcontains(msg, "knight") then npcHandler:say("Você gostaria de fazer {first addon} ou {second addon}?", cid) npcHandler.topic[cid] = 8 elseif npcHandler.topic[cid] == 8 then -- KNIGHT if msgcontains(msg, "first") or msgcontains(msg, "first addon") then npcHandler:say("É necessário: {100 Iron Ore} e {1 Huge Chunk of Crude Iron}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 9 elseif msgcontains(msg, "second") or msgcontains(msg, "second addon") then npcHandler:say("É necessário: {100 Perfect Behemoth Fangs}, {1 Flask of Warrior's Sweat} e {1 Piece of Royal Steel}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 10 end end if msgcontains(msg, "mage") then npcHandler:say("Você gostaria de fazer {first addon} ou {second addon}?", cid) npcHandler.topic[cid] = 11 elseif npcHandler.topic[cid] == 11 then -- MAGE if msgcontains(msg, "first") or msgcontains(msg, "first addon") then if getPlayerSex(cid) == 0 then -- MULHER npcHandler:say("É necessário: {1 Winning Lottery Ticket}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 12 else -- HOMEM npcHandler:say("É necessário: {1 Snakebite Rod}, {1 Moonlight Rod}, {1 Necrotic Rod}, {1 Terra Rod}, {1 Hailstorm Rod}, {1 Wand of Vortex}, {1 Wand of Dragonbreath}, {1 Wand of Decay}, {1 Wand of Cosmic Energy}, {1 Wand of Inferno}, {10 Magic Sulphur}, {20 Ankhs} e {1 Soul Stone}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 12 end elseif msgcontains(msg, "second") or msgcontains(msg, "second addon") then if getPlayerSex(cid) == 0 then -- MULHER npcHandler:say("É necessário: {70 Bat Wings}, {20 Red Piece of Cloth}, {40 Ape Fur}, {35 Holy Orchids}, {10 Spool of Yarn}, {60 Lizard Scales}, {40 Red Dragon Scales}, {15 Magic Sulphur} e {30 Vampire Dust}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 13 else -- HOMEM npcHandler:say("É necessário: {1 Ferumbras' Hat}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 13 end end end if msgcontains(msg, "barbarian") then npcHandler:say("Você gostaria de fazer {first addon} ou {second addon}?", cid) npcHandler.topic[cid] = 18 elseif npcHandler.topic[cid] == 18 then -- BARBARIAN if msgcontains(msg, "first") or msgcontains(msg, "first addon") then npcHandler:say("É necessário: {1 Spirit Container}, {1 Flask of Warrior's Sweat}, {50 Red Pieces of Cloth}, {50 Green Pieces of Cloth} e {10 Spool of Yarns}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 19 elseif msgcontains(msg, "second") or msgcontains(msg, "second addon") then npcHandler:say("É necessário: {100 Iron Ores}, {1 Huge Chunk of Crude Iron}, {50 Perfect Behemoth Fangs} e {50 Lizard Leathers}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 20 end end if msgcontains(msg, "druid") then npcHandler:say("Você gostaria de fazer {first addon} ou {second addon}?", cid) npcHandler.topic[cid] = 21 elseif npcHandler.topic[cid] == 21 then -- DRUID if msgcontains(msg, "first") or msgcontains(msg, "first addon") then npcHandler:say("É necessário: {50 Bear Paws} e {50 Wolf Paws}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 22 elseif msgcontains(msg, "second") or msgcontains(msg, "second addon") then npcHandler:say("É necessário: {100 Demon Dusts} e {1 Ceiron's Wolf Tooth Chain}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 23 end end if msgcontains(msg, "nobleman") or msgcontains(msg, "noblewoman") then npcHandler:say("Você gostaria de fazer {first addon} ou {second addon}?", cid) npcHandler.topic[cid] = 24 elseif npcHandler.topic[cid] == 24 then -- NOBLEMAN if msgcontains(msg, "first") or msgcontains(msg, "first addon") then npcHandler:say("É necessário: {150000golds (150k)}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 25 elseif msgcontains(msg, "second") or msgcontains(msg, "second addon") then npcHandler:say("É necessário: {150000golds (150k)}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 26 end end if msgcontains(msg, "oriental") then npcHandler:say("Você gostaria de fazer {first addon} ou {second addon}?", cid) npcHandler.topic[cid] = 27 elseif npcHandler.topic[cid] == 27 then -- NOBLEMAN if msgcontains(msg, "first") or msgcontains(msg, "first addon") then npcHandler:say("É necessário: {1 Mermaid Comb}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 28 elseif msgcontains(msg, "second") or msgcontains(msg, "second addon") then npcHandler:say("É necessário: {100 Ape Fur}, {100 Fish Fins}, {2 Enchanted Chicken Wings} e {100 Blue Piece of Cloth}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 29 end end if msgcontains(msg, "summoner") then npcHandler:say("Você gostaria de fazer {first addon} ou {second addon}?", cid) npcHandler.topic[cid] = 30 elseif npcHandler.topic[cid] == 30 then -- SUMMONER if msgcontains(msg, "first") or msgcontains(msg, "first addon") then if getPlayerSex(cid) == 0 then -- MULHER npcHandler:say("É necessário: {1 Snakebite Rod}, {1 Moonlight Rod}, {1 Necrotic Rod}, {1 Terra Rod}, {1 Hailstorm Rod}, {1 Wand of Vortex}, {1 Wand of Dragonbreath}, {1 Wand of Decay}, {1 Wand of Cosmic Energy}, {1 Wand of Inferno}, {10 Magic Sulphur}, {20 Ankhs} e {1 Soul Stone}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 31 else -- HOMEM npcHandler:say("É necessário: {1 Winning Lottery Ticket}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 31 end elseif msgcontains(msg, "second") or msgcontains(msg, "second addon") then if getPlayerSex(cid) == 0 then -- MULHER npcHandler:say("É necessário: {1 Ferumbras' Hat}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 32 else -- HOMEM npcHandler:say("É necessário: {70 Bat Wings}, {20 Red Piece of Cloth}, {40 Ape Fur}, {35 Holy Orchids}, {10 Spool of Yarn}, {60 Lizard Scales}, {40 Red Dragon Scales}, {15 Magic Sulphur} e {30 Vampire Dust}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 32 end end end if msgcontains(msg, "warrior") then npcHandler:say("Você gostaria de fazer {first addon} ou {second addon}?", cid) npcHandler.topic[cid] = 33 elseif npcHandler.topic[cid] == 33 then -- WARRIOR if msgcontains(msg, "first") or msgcontains(msg, "first addon") then npcHandler:say("É necessário: {100 Hardened Bones}, {100 Turtle Shells}, {1 Spirit Container} e {1 Dragon Claw}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 34 elseif msgcontains(msg, "second") or msgcontains(msg, "second addon") then npcHandler:say("É necessário: {100 Iron Ores} e {1 Piece of Royal Steel}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 35 end end if msgcontains(msg, "wizard") then npcHandler:say("Você gostaria de fazer {first addon} ou {second addon}?", cid) npcHandler.topic[cid] = 36 elseif npcHandler.topic[cid] == 36 then -- WIZARD if msgcontains(msg, "first") or msgcontains(msg, "first addon") then npcHandler:say("É necessário: {1 Medusa Shield}, {1 Dragon Scale Mail}, {1 Crown Legs} e {1 Ring of the Sky}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 37 elseif msgcontains(msg, "second") or msgcontains(msg, "second addon") then npcHandler:say("É necessário: {50 Holy Orchids} e {ter completado o first addon (máscara de caveira/tiara de cobra)}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 38 end end if msgcontains(msg, "demon") or msgcontains(msg, "demonhunter") or msgcontains(msg, "demon hunter") then npcHandler:say("Você gostaria de fazer {outfit}, {first addon} ou {second addon}?", cid) npcHandler.topic[cid] = 39 elseif npcHandler.topic[cid] == 39 then -- DEMONHUNTER if msgcontains(msg, "outfit") then npcHandler:say("Você receberá este outfit após finalizar a {'Inquisition Quest'}.", cid) npcHandler.topic[cid] = 0 elseif msgcontains(msg, "first") or msgcontains(msg, "first addon") then npcHandler:say("É necessário: {30 Vampire Dust}, {40 Demon Dust}, {50 Demon Horn}, {50 Demonic Essence} e {100 Talon}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 40 elseif msgcontains(msg, "second") or msgcontains(msg, "second addon") then npcHandler:say("É necessário: {50 Demon Dust}, {200 Demonic Essence} e {100 Talon}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 41 end end if msgcontains(msg, "yalahar") or msgcontains(msg, "yalahari") or msgcontains(msg, "yalaharian") then npcHandler:say("Você receberá este outfit junto com seus addons após finalizar a {'Yalaharian Quest'}.", cid) npcHandler.topic[cid] = 0 end if msgcontains(msg, "wayfarer") or msgcontains(msg, "wayfare") then npcHandler:say("Você gostaria de fazer {outfit}, {first addon} ou {second addon}?", cid) npcHandler.topic[cid] = 42 elseif npcHandler.topic[cid] == 42 then -- WAYFARER if msgcontains(msg, "outfit") then npcHandler:say("Você receberá este outfit após finalizar a {'WOTE Quest'}.", cid) npcHandler.topic[cid] = 0 elseif msgcontains(msg, "first") or msgcontains(msg, "first addon") then npcHandler:say("É necessário: {100 White Piece of Cloth}, {100 Green Piece of Cloth}, {100 Red Piece of Cloth}, {100 Blue Piece of Cloth}, {100 Brown Piece of Cloth} e {100 Yellow Piece of Cloth}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 43 elseif msgcontains(msg, "second") or msgcontains(msg, "second addon") then npcHandler:say("É necessário: {5 Spool of Yarn} e {500 Demonic Essence}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 44 end end if msgcontains(msg, "warmaster") or msgcontains(msg, "war master") then npcHandler:say("Você gostaria de fazer {outfit}, {first addon} ou {second addon}?", cid) npcHandler.topic[cid] = 45 elseif npcHandler.topic[cid] == 45 then -- WARMASTER if msgcontains(msg, "outfit") then npcHandler:say("É necessário: {250000golds (250k)}. Você quer mesmo fazer esse outfit?", cid) npcHandler.topic[cid] = 46 elseif msgcontains(msg, "first") or msgcontains(msg, "first addon") then npcHandler:say("É necessário: {50 White Piece of Cloth}, {50 Green Piece of Cloth}, {50 Red Piece of Cloth}, {50 Blue Piece of Cloth}, {50 Brown Piece of Cloth}, {50 Yellow Piece of Cloth} e {10 Spool of Yarns}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 47 elseif msgcontains(msg, "second") or msgcontains(msg, "second addon") then npcHandler:say("É necessário: {15 Spool of Yarn}, {15 Magic Sulphur} e {1 Spirit Container}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 48 end end if msgcontains(msg, "assassin") then npcHandler:say("Você gostaria de fazer {outfit}, {first addon} ou {second addon}?", cid) npcHandler.topic[cid] = 49 elseif npcHandler.topic[cid] == 49 then -- ASSASSIN if msgcontains(msg, "outfit") then npcHandler:say("É necessário: {30 Bonelord Eyes}, {10 Red Dragon Scales}, {30 Lizard Scales}, {20 Fish Fins}, {20 Vampire Dust}, {10 Demon Dust} e {1 Flask of Warrior's Sweat}. Você quer mesmo fazer esse outfit?", cid) npcHandler.topic[cid] = 50 elseif msgcontains(msg, "first") or msgcontains(msg, "first addon") then npcHandler:say("É necessário: {}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 51 elseif msgcontains(msg, "second") or msgcontains(msg, "second addon") then npcHandler:say("É necessário: {1 Behemoth Claw} e {1 Nose Ring}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 52 end end if msgcontains(msg, "beggar") then npcHandler:say("Você gostaria de fazer {outfit}, {first addon} ou {second addon}?", cid) npcHandler.topic[cid] = 53 elseif npcHandler.topic[cid] == 53 then -- BEGGAR if msgcontains(msg, "outfit") then npcHandler:say("É necessário: {50 Minotaur Leathers}, {30 Heaven Blossoms}, {20 Brown Pieces of Cloth} e {10 Bat Wings}. Você quer mesmo fazer esse outfit?", cid) npcHandler.topic[cid] = 54 elseif msgcontains(msg, "first") or msgcontains(msg, "first addon") then npcHandler:say("É necessário: {100 Ape Fur} e {20000gold (20k)}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 55 elseif msgcontains(msg, "second") or msgcontains(msg, "second addon") then npcHandler:say("É necessário: {1 Simon The Beggar's Favorite Staff}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 56 end end if msgcontains(msg, "jester") then npcHandler:say("Você gostaria de fazer {outfit}, {first addon} ou {second addon}?", cid) npcHandler.topic[cid] = 57 elseif npcHandler.topic[cid] == 57 then -- JESTER if msgcontains(msg, "outfit") then npcHandler:say("Você precisa usar {Yoda's Fanfare} umas 100x para adquirir Jester Outfit. Eu posso te vender o {Yoda's Fanfare} por {250000golds (250k)}. Você quer?", cid) npcHandler.topic[cid] = 58 elseif msgcontains(msg, "first") or msgcontains(msg, "first addon") then npcHandler:say("É necessário: {10 Blue Pieces of Cloth}, {10 Brown Pieces of Cloth}, {10 Yellow Pieces of Cloth} e {10 White Pieces of Cloth}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 59 elseif msgcontains(msg, "second") or msgcontains(msg, "second addon") then npcHandler:say("É necessário: {10 Green Pieces of Cloth}, {10 Red Pieces of Cloth} e {10 Blue Pieces of Cloth}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 60 end end if msgcontains(msg, "shaman") then npcHandler:say("Você gostaria de fazer {first addon} ou {second addon}?", cid) npcHandler.topic[cid] = 61 elseif npcHandler.topic[cid] == 61 then -- SHAMAN if msgcontains(msg, "first") or msgcontains(msg, "first addon") then npcHandler:say("É necessário: {5 Banana Staffs} e {5 Tribal Masks}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 62 elseif msgcontains(msg, "second") or msgcontains(msg, "second addon") then npcHandler:say("É necessário: {5 Pirate Voodoo Doll}, {5 Voodoo Doll} e {1 Mandrake}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 63 end end if msgcontains(msg, "norseman") or msgcontains(msg, "norsewoman") then npcHandler:say("Você gostaria de fazer {first addon} ou {second addon}?", cid) npcHandler.topic[cid] = 64 elseif npcHandler.topic[cid] == 64 then -- NORSEMAN if msgcontains(msg, "first") or msgcontains(msg, "first addon") then npcHandler:say("É necessário: {5 Shards}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 65 elseif msgcontains(msg, "second") or msgcontains(msg, "second addon") then npcHandler:say("É necessário: {10 Shards}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 66 end end if msgcontains(msg, "pirate") then npcHandler:say("Você gostaria de fazer {first addon} ou {second addon}?", cid) npcHandler.topic[cid] = 67 elseif npcHandler.topic[cid] == 67 then -- PIRATE if msgcontains(msg, "first") or msgcontains(msg, "first addon") then npcHandler:say("É necessário: {100 Eye Patches}, {100 Peg Legs} e {100 Hooks}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 68 elseif msgcontains(msg, "second") or msgcontains(msg, "second addon") then npcHandler:say("É necessário: {1 Ron the Ripper's Sabre}, {1 Deadeye Devious' Eye Patch}, {1 Lethal Lissy's Shirt} e {1 Brutus Bloodbeard's Hat}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 69 end end if msgcontains(msg, "nightmare") then npcHandler:say("Você gostaria de fazer {outfit}, {first addon} ou {second addon}?", cid) npcHandler.topic[cid] = 70 elseif npcHandler.topic[cid] == 70 then -- NIGHTMARE if msgcontains(msg, "outfit") then npcHandler:say("É necessário: {500 Demonic Essence}. Você quer mesmo fazer esse outfit?", cid) npcHandler.topic[cid] = 71 elseif msgcontains(msg, "first") or msgcontains(msg, "first addon") then npcHandler:say("É necessário: {500 Demonic Essence}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 72 elseif msgcontains(msg, "second") or msgcontains(msg, "second addon") then npcHandler:say("É necessário: {1000 Demonic Essence}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 73 end end if msgcontains(msg, "brotherhood") or msgcontains(msg, "brother hood") then npcHandler:say("Você gostaria de fazer {outfit}, {first addon} ou {second addon}?", cid) npcHandler.topic[cid] = 74 elseif npcHandler.topic[cid] == 74 then -- NIGHTMARE if msgcontains(msg, "outfit") then npcHandler:say("É necessário: {500 Demonic Essence}. Você quer mesmo fazer esse outfit?", cid) npcHandler.topic[cid] = 75 elseif msgcontains(msg, "first") or msgcontains(msg, "first addon") then npcHandler:say("É necessário: {500 Demonic Essence}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 76 elseif msgcontains(msg, "second") or msgcontains(msg, "second addon") then npcHandler:say("É necessário: {1000 Demonic Essence}. Você quer mesmo fazer esse addon?", cid) npcHandler.topic[cid] = 77 end end ----------------------------------------------------------------------------------- if msgcontains(msg, "yes") or msgcontains(msg, "sim") then if npcHandler.topic[cid] == 2 then -- CITIZEN - FIRST ADDON if getPlayerStorageValue(cid, 20000) <= 0 then if getPlayerItemCount(cid, 5878) >= 100 then if doPlayerRemoveItem(cid, 5878, 100) then npcHandler:say("Na hora certa! Sua mochila está terminada. Aqui vai, espero que goste.", cid) doPlayerAddOutfit(cid, 136, 1) doPlayerAddOutfit(cid, 128, 1) setPlayerStorageValue(cid, 20000, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end elseif npcHandler.topic[cid] == 3 then -- CITIZEN - SECOND ADDON if getPlayerStorageValue(cid, 20001) <= 0 then if getPlayerItemCount(cid, 5890) >= 100 and getPlayerItemCount(cid, 5902) >= 50 and getPlayerItemCount(cid, 2480) >= 1 then if doPlayerRemoveItem(cid, 5890, 100) and doPlayerRemoveItem(cid, 5902, 50) and doPlayerRemoveItem(cid, 2480, 1) then npcHandler:say("Bom trabalho! Isso deve ter dado muito trabalho. Ok, você coloca assim ... então cola assim ... aqui!", cid) doPlayerAddOutfit(cid, 136, 2) doPlayerAddOutfit(cid, 128, 2) setPlayerStorageValue(cid, 20001, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 5 then -- HUNTER - FIRST ADDON if getPlayerStorageValue(cid, 20002) <= 0 then if getPlayerItemCount(cid, 5947) >= 1 and getPlayerItemCount(cid, 5876) >= 100 and getPlayerItemCount(cid, 5948) >= 100 and getPlayerItemCount(cid, 5891) >= 5 and getPlayerItemCount(cid, 5887) >= 1 and getPlayerItemCount(cid, 5889) >= 1 and getPlayerItemCount(cid, 5888) >= 1 then if doPlayerRemoveItem(cid, 5947, 1) and doPlayerRemoveItem(cid, 5876, 100) and doPlayerRemoveItem(cid, 5948, 100) and doPlayerRemoveItem(cid, 5891, 5) and doPlayerRemoveItem(cid, 5887, 1) and doPlayerRemoveItem(cid, 5889, 1) and doPlayerRemoveItem(cid, 5888, 1) then npcHandler:say("Nossa, estou impressionado, ".. getCreatureName(cid) ..". Você é realmente um membro valioso da nossa guilda de paladinos. Eu lhe concederei sua recompensa agora. Use-o com orgulho!", cid) doPlayerAddOutfit(cid, 137, 1) doPlayerAddOutfit(cid, 129, 1) setPlayerStorageValue(cid, 20002, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end elseif npcHandler.topic[cid] == 6 then -- HUNTER - SECOND ADDON if getPlayerStorageValue(cid, 20003) <= 0 then if getPlayerItemCount(cid, 5875) >= 1 then if doPlayerRemoveItem(cid, 5875, 1) then npcHandler:say("Ótimo! Eu concedo-lhe o direito de usar as luvas de atirador como acessório. Parabéns!", cid) doPlayerAddOutfit(cid, 137, 2) doPlayerAddOutfit(cid, 129, 2) setPlayerStorageValue(cid, 20003, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 7 then -- ENCHANTED CHICKEN WING if getPlayerItemCount(cid, 2195) >= 1 then if doPlayerRemoveItem(cid, 2195, 1) then npcHandler:say("Muito Bom! Um prazer negociar com você!", cid) doPlayerAddItem(cid, 5891, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 9 then -- KNIGHT - FIRST ADDON if getPlayerStorageValue(cid, 20004) <= 0 then if getPlayerItemCount(cid, 5880) >= 100 and getPlayerItemCount(cid, 5892) >= 1 then if doPlayerRemoveItem(cid, 5880, 100) and doPlayerRemoveItem(cid, 5892, 1) then npcHandler:say("Bem! De fato, tenho um na loja. Aqui está!", cid) doPlayerAddOutfit(cid, 139, 1) doPlayerAddOutfit(cid, 131, 1) setPlayerStorageValue(cid, 20004, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end elseif npcHandler.topic[cid] == 10 then -- KNIGHT - SECOND ADDON if getPlayerStorageValue(cid, 20005) <= 0 then if getPlayerItemCount(cid, 5893) >= 100 and getPlayerItemCount(cid, 5885) >= 1 and getPlayerItemCount(cid, 5887) >= 1 then if doPlayerRemoveItem(cid, 5893, 100) and doPlayerRemoveItem(cid, 5885, 1) and doPlayerRemoveItem(cid, 5887, 1) then npcHandler:say("Seu capacete está acabado, espero que você goste.", cid) doPlayerAddOutfit(cid, 139, 2) doPlayerAddOutfit(cid, 131, 2) setPlayerStorageValue(cid, 20005, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 12 then -- MAGE - FIRST ADDON if getPlayerSex(cid) == 0 then -- MULHER if getPlayerStorageValue(cid, 20006) <= 0 then if getPlayerItemCount(cid, 5958) >= 1 then if doPlayerRemoveItem(cid, 5958, 1) then npcHandler:say("Parabéns! Aqui, de agora em diante, você pode usar nosso adorável cinturão de poções como acessório.", cid) doPlayerAddOutfit(cid, 138, 1) doPlayerAddOutfit(cid, 130, 1) setPlayerStorageValue(cid, 20006, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end else -- HOMEM if getPlayerStorageValue(cid, 20006) <= 0 then if getPlayerItemCount(cid, 2187) >= 1 and getPlayerItemCount(cid, 2189) >= 1 and getPlayerItemCount(cid, 2188) >= 1 and getPlayerItemCount(cid, 2191) >= 1 and getPlayerItemCount(cid, 2190) >= 1 and getPlayerItemCount(cid, 2183) >= 1 and getPlayerItemCount(cid, 2181) >= 1 and getPlayerItemCount(cid, 2185) >= 1 and getPlayerItemCount(cid, 2186) >= 1 and getPlayerItemCount(cid, 2182) >= 1 and getPlayerItemCount(cid, 5904) >= 10 and getPlayerItemCount(cid, 2193) >= 20 and getPlayerItemCount(cid, 5809) >= 1 then if doPlayerRemoveItem(cid, 2187, 1) and doPlayerRemoveItem(cid, 2189, 1) and doPlayerRemoveItem(cid, 2188, 1) and doPlayerRemoveItem(cid, 2191, 1) and doPlayerRemoveItem(cid, 2190, 1) and doPlayerRemoveItem(cid, 2183, 1) and doPlayerRemoveItem(cid, 2181, 1) and doPlayerRemoveItem(cid, 2185, 1) and doPlayerRemoveItem(cid, 2186, 1) and doPlayerRemoveItem(cid, 2182, 1) and doPlayerRemoveItem(cid, 5904, 10) and doPlayerRemoveItem(cid, 2193, 20) and doPlayerRemoveItem(cid, 5809, 1) then npcHandler:say("Fico feliz em dizer que terminei o ritual, ".. getCreatureName(cid) ..". Aqui está sua nova varinha. Espero que você o carregue orgulhosamente para todo mundo ver.", cid) doPlayerAddOutfit(cid, 138, 1) doPlayerAddOutfit(cid, 130, 1) setPlayerStorageValue(cid, 20006, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end end elseif npcHandler.topic[cid] == 13 then -- MAGE - SECOND ADDON if getPlayerSex(cid) == 0 then -- MULHER if getPlayerStorageValue(cid, 20007) <= 0 then if getPlayerItemCount(cid, 5905) >= 30 and getPlayerItemCount(cid, 5904) >= 15 and getPlayerItemCount(cid, 5882) >= 40 and getPlayerItemCount(cid, 5881) >= 60 and getPlayerItemCount(cid, 5886) >= 10 and getPlayerItemCount(cid, 5922) >= 35 and getPlayerItemCount(cid, 5883) >= 40 and getPlayerItemCount(cid, 5911) >= 20 and getPlayerItemCount(cid, 5894) >= 70 then if doPlayerRemoveItem(cid, 5905, 30) and doPlayerRemoveItem(cid, 5904, 15) and doPlayerRemoveItem(cid, 5882, 40) and doPlayerRemoveItem(cid, 5881, 60) and doPlayerRemoveItem(cid, 5886, 10) and doPlayerRemoveItem(cid, 5922, 35) and doPlayerRemoveItem(cid, 5883, 40) and doPlayerRemoveItem(cid, 5911, 20) and doPlayerRemoveItem(cid, 5894, 70) then npcHandler:say("Eu concedo a você o direito de usar um sinal especial de honra. Desde que você é uma mulher, eu acho que você gosta de coisas bem brilhantes. Ai está.", cid) doPlayerAddOutfit(cid, 138, 2) doPlayerAddOutfit(cid, 130, 2) setPlayerStorageValue(cid, 20007, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end else -- HOMEM if getPlayerStorageValue(cid, 20007) <= 0 then if getPlayerItemCount(cid, 5903) >= 1 then if doPlayerRemoveItem(cid, 5903, 1) then npcHandler:say("Curvo-me a você, ".. getCreatureName(cid) ..",e concedo-lhe o direito de usar o chapéu de Ferumbras como acessório. Parabéns!", cid) doPlayerAddOutfit(cid, 138, 2) doPlayerAddOutfit(cid, 130, 2) setPlayerStorageValue(cid, 20007, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 14 then -- MAGIC SULPHUR if getPlayerItemCount(cid, 2392) >= 3 then if doPlayerRemoveItem(cid, 2392, 3) then npcHandler:say("Muito Bom! Um prazer negociar com você!", cid) doPlayerAddItem(cid, 5904, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 15 then -- SPOOL OF YARN if getPlayerItemCount(cid, 5879) >= 10 then if doPlayerRemoveItem(cid, 5879, 10) then npcHandler:say("Muito Bom! Um prazer negociar com você!", cid) doPlayerAddItem(cid, 5886, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 16 then -- SPIRIT CONTAINER if getPlayerItemCount(cid, 2498) >= 2 then if doPlayerRemoveItem(cid, 2498, 2) then npcHandler:say("Muito Bom! Um prazer negociar com você!", cid) doPlayerAddItem(cid, 5884, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 17 then -- FLASK OF WARRIOR SWEAT if getPlayerItemCount(cid, 2475) >= 4 then if doPlayerRemoveItem(cid, 2475, 4) then npcHandler:say("Muito Bom! Um prazer negociar com você!", cid) doPlayerAddItem(cid, 5885, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 19 then -- BARBARIAN - FIRST ADDON if getPlayerStorageValue(cid, 20008) <= 0 then if getPlayerItemCount(cid, 5884) >= 1 and getPlayerItemCount(cid, 5885) >= 1 and getPlayerItemCount(cid, 5911) >= 50 and getPlayerItemCount(cid, 5910) >= 50 and getPlayerItemCount(cid, 5886) >= 10 then if doPlayerRemoveItem(cid, 5884, 1) and doPlayerRemoveItem(cid, 5885, 1) and doPlayerRemoveItem(cid, 5911, 50) and doPlayerRemoveItem(cid, 5910, 50) and doPlayerRemoveItem(cid, 5886, 10) then npcHandler:say("Eu mantive esta tradicional peruca bárbara segura por muitos anos agora. Agora é seu! Espero que você a use com orgulho.", cid) doPlayerAddOutfit(cid, 147, 1) doPlayerAddOutfit(cid, 143, 1) setPlayerStorageValue(cid, 20008, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end elseif npcHandler.topic[cid] == 20 then -- BARBARIAN - SECOND ADDON if getPlayerStorageValue(cid, 20009) <= 0 then if getPlayerItemCount(cid, 5880) >= 100 and getPlayerItemCount(cid, 5892) >= 1 and getPlayerItemCount(cid, 5893) >= 50 and getPlayerItemCount(cid, 5876) >= 50 then if doPlayerRemoveItem(cid, 5880, 100) and doPlayerRemoveItem(cid, 5892, 1) and doPlayerRemoveItem(cid, 5893, 50) and doPlayerRemoveItem(cid, 5876, 50) then npcHandler:say("Seu machado está feito! Para você levar e vestir.", cid) doPlayerAddOutfit(cid, 147, 2) doPlayerAddOutfit(cid, 143, 2) setPlayerStorageValue(cid, 20009, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 22 then -- DRUID - FIRST ADDON if getPlayerStorageValue(cid, 20010) <= 0 then if getPlayerItemCount(cid, 5896) >= 50 and getPlayerItemCount(cid, 5897) >= 50 then if doPlayerRemoveItem(cid, 5896, 50) and doPlayerRemoveItem(cid, 5897, 50) then npcHandler:say("Excelente! Como prometido, aqui estão suas patas de urso.", cid) doPlayerAddOutfit(cid, 148, 1) doPlayerAddOutfit(cid, 144, 1) setPlayerStorageValue(cid, 20010, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end elseif npcHandler.topic[cid] == 23 then -- DRUID - SECOND ADDON if getPlayerStorageValue(cid, 20011) <= 0 then if getPlayerItemCount(cid, 5906) >= 100 and getPlayerItemCount(cid, 5940) >= 1 then if doPlayerRemoveItem(cid, 5906, 100) and doPlayerRemoveItem(cid, 5940, 1) then npcHandler:say("De agora em diante, você será conhecido como ".. getCreatureName(cid) ..", o guerreiro urso. Você será forte e orgulhoso como Angros, o grande urso escuro. Ele guiará seu caminho.", cid) doPlayerAddOutfit(cid, 148, 2) doPlayerAddOutfit(cid, 144, 2) setPlayerStorageValue(cid, 20011, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 25 then -- NOBLEMAN - FIRST ADDON if getPlayerStorageValue(cid, 20012) <= 0 then if getPlayerMoney(cid) >= 150000 then -- gold coin if doPlayerRemoveMoney(cid, 150000) then -- gold coin npcHandler:say("Parabéns! Aqui está o seu novo acessório, espero que goste. Por favor, visite-me novamente!", cid) doPlayerAddOutfit(cid, 140, 1) doPlayerAddOutfit(cid, 132, 1) setPlayerStorageValue(cid, 20012, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem dinheiro suficiente.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end elseif npcHandler.topic[cid] == 26 then -- NOBLEMAN - SECOND ADDON if getPlayerStorageValue(cid, 20013) <= 0 then if getPlayerMoney(cid) >= 150000 then -- gold coin if doPlayerRemoveMoney(cid, 150000) then -- gold coin npcHandler:say("Parabéns! Aqui está o seu novo acessório, espero que goste. Por favor, visite-me novamente!", cid) doPlayerAddOutfit(cid, 140, 2) doPlayerAddOutfit(cid, 132, 2) setPlayerStorageValue(cid, 20013, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem dinheiro suficiente.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 28 then -- ORIENTAL - FIRST ADDON if getPlayerStorageValue(cid, 20014) <= 0 then if getPlayerItemCount(cid, 5945) >= 1 then if doPlayerRemoveItem(cid, 5945, 1) then npcHandler:say("Sim! É isso aí! Cumprirei minha promessa: Aqui está sua cimitarra! Obrigado novamente!", cid) doPlayerAddOutfit(cid, 150, 1) doPlayerAddOutfit(cid, 146, 1) setPlayerStorageValue(cid, 20014, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end elseif npcHandler.topic[cid] == 29 then -- ORIENTAL - SECOND ADDON if getPlayerStorageValue(cid, 20015) <= 0 then if getPlayerItemCount(cid, 5883) >= 100 and getPlayerItemCount(cid, 5895) >= 100 and getPlayerItemCount(cid, 5891) >= 2 and getPlayerItemCount(cid, 5912) >= 100 then if doPlayerRemoveItem(cid, 5883, 100) and doPlayerRemoveItem(cid, 5895, 100) and doPlayerRemoveItem(cid, 5891, 2) and doPlayerRemoveItem(cid, 5912, 100) then npcHandler:say("Ótimo! Eu concedo-lhe o direito de usar as luvas de atirador como acessório. Parabéns!", cid) doPlayerAddOutfit(cid, 150, 2) doPlayerAddOutfit(cid, 146, 2) setPlayerStorageValue(cid, 20015, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 31 then -- SUMMONER - FIRST ADDON if getPlayerSex(cid) == 0 then -- MULHER if getPlayerStorageValue(cid, 20016) <= 0 then if getPlayerItemCount(cid, 2187) >= 1 and getPlayerItemCount(cid, 2189) >= 1 and getPlayerItemCount(cid, 2188) >= 1 and getPlayerItemCount(cid, 2191) >= 1 and getPlayerItemCount(cid, 2190) >= 1 and getPlayerItemCount(cid, 2183) >= 1 and getPlayerItemCount(cid, 2181) >= 1 and getPlayerItemCount(cid, 2185) >= 1 and getPlayerItemCount(cid, 2186) >= 1 and getPlayerItemCount(cid, 2182) >= 1 and getPlayerItemCount(cid, 5904) >= 10 and getPlayerItemCount(cid, 2193) >= 20 and getPlayerItemCount(cid, 5809) >= 1 then if doPlayerRemoveItem(cid, 2187, 1) and doPlayerRemoveItem(cid, 2189, 1) and doPlayerRemoveItem(cid, 2188, 1) and doPlayerRemoveItem(cid, 2191, 1) and doPlayerRemoveItem(cid, 2190, 1) and doPlayerRemoveItem(cid, 2183, 1) and doPlayerRemoveItem(cid, 2181, 1) and doPlayerRemoveItem(cid, 2185, 1) and doPlayerRemoveItem(cid, 2186, 1) and doPlayerRemoveItem(cid, 2182, 1) and doPlayerRemoveItem(cid, 5904, 10) and doPlayerRemoveItem(cid, 2193, 20) and doPlayerRemoveItem(cid, 5809, 1) then npcHandler:say("Fico feliz em dizer que terminei o ritual, ".. getCreatureName(cid) ..". Aqui está sua nova varinha. Espero que você o carregue orgulhosamente para todo mundo ver.", cid) doPlayerAddOutfit(cid, 141, 1) doPlayerAddOutfit(cid, 133, 1) setPlayerStorageValue(cid, 20016, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end else -- HOMEM if getPlayerStorageValue(cid, 20016) <= 0 then if getPlayerItemCount(cid, 5958) >= 1 then if doPlayerRemoveItem(cid, 5958, 1) then npcHandler:say("Parabéns! Aqui, de agora em diante, você pode usar nosso adorável cinturão de poções como acessório.", cid) doPlayerAddOutfit(cid, 141, 1) doPlayerAddOutfit(cid, 133, 1) setPlayerStorageValue(cid, 20016, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end end elseif npcHandler.topic[cid] == 32 then -- SUMMONER - SECOND ADDON if getPlayerSex(cid) == 0 then -- MULHER if getPlayerStorageValue(cid, 20017) <= 0 then if getPlayerItemCount(cid, 5903) >= 1 then if doPlayerRemoveItem(cid, 5903, 1) then npcHandler:say("Curvo-me a você, ".. getCreatureName(cid) ..",e concedo-lhe o direito de usar o chapéu de Ferumbras como acessório. Parabéns!", cid) doPlayerAddOutfit(cid, 141, 2) doPlayerAddOutfit(cid, 133, 2) setPlayerStorageValue(cid, 20017, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end else -- HOMEM if getPlayerStorageValue(cid, 20017) <= 0 then if getPlayerItemCount(cid, 5905) >= 30 and getPlayerItemCount(cid, 5904) >= 15 and getPlayerItemCount(cid, 5882) >= 40 and getPlayerItemCount(cid, 5881) >= 60 and getPlayerItemCount(cid, 5886) >= 10 and getPlayerItemCount(cid, 5922) >= 35 and getPlayerItemCount(cid, 5883) >= 40 and getPlayerItemCount(cid, 5911) >= 20 and getPlayerItemCount(cid, 5894) >= 70 then if doPlayerRemoveItem(cid, 5905, 30) and doPlayerRemoveItem(cid, 5904, 15) and doPlayerRemoveItem(cid, 5882, 40) and doPlayerRemoveItem(cid, 5881, 60) and doPlayerRemoveItem(cid, 5886, 10) and doPlayerRemoveItem(cid, 5922, 35) and doPlayerRemoveItem(cid, 5883, 40) and doPlayerRemoveItem(cid, 5911, 20) and doPlayerRemoveItem(cid, 5894, 70) then npcHandler:say("Eu concedo a você o direito de usar um sinal especial de honra. Desde que você é um homem, eu acho que você não quer coisas de menina. Ai está.", cid) doPlayerAddOutfit(cid, 141, 2) doPlayerAddOutfit(cid, 133, 2) setPlayerStorageValue(cid, 20017, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 34 then -- WARRIOR - FIRST ADDON if getPlayerStorageValue(cid, 20018) <= 0 then if getPlayerItemCount(cid, 5925) >= 100 and getPlayerItemCount(cid, 5899) >= 100 and getPlayerItemCount(cid, 5884) >= 1 and getPlayerItemCount(cid, 10020) >= 1 then if doPlayerRemoveItem(cid, 5925, 100) and doPlayerRemoveItem(cid, 5899, 100) and doPlayerRemoveItem(cid, 5884, 1) and doPlayerRemoveItem(cid, 10020, 1) then if getPlayerSex(cid) == 0 then -- MULHER npcHandler:say("Acabado! Você ficou muito linda. Esta armadura com este pequeno símbolo nos ombros realmente realçam a cor de seus olhos.", cid) else -- HOMEM npcHandler:say("Acabado! Desde que você é um homem, eu pensei que você provavelmente queria dois. Os homens sempre querem aquele pequeno símbolo de status extra. <risos>", cid) end doPlayerAddOutfit(cid, 142, 1) doPlayerAddOutfit(cid, 134, 1) setPlayerStorageValue(cid, 20018, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end elseif npcHandler.topic[cid] == 35 then -- WARRIOR - SECOND ADDON if getPlayerStorageValue(cid, 20019) <= 0 then if getPlayerItemCount(cid, 5880) >= 100 and getPlayerItemCount(cid, 5887) >= 1 then if doPlayerRemoveItem(cid, 5880, 100) and doPlayerRemoveItem(cid, 5887, 1) then npcHandler:say("Bem! De fato, tenho um na loja. Aqui está!", cid) doPlayerAddOutfit(cid, 142, 2) doPlayerAddOutfit(cid, 134, 2) setPlayerStorageValue(cid, 20019, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 37 then -- WIZARD - FIRST ADDON if getPlayerStorageValue(cid, 20020) <= 0 then if getPlayerItemCount(cid, 2536) >= 1 and getPlayerItemCount(cid, 2492) >= 1 and getPlayerItemCount(cid, 2488) >= 1 and getPlayerItemCount(cid, 2123) >= 1 then if doPlayerRemoveItem(cid, 2536, 1) and doPlayerRemoveItem(cid, 2492, 1) and doPlayerRemoveItem(cid, 2488, 1) and doPlayerRemoveItem(cid, 2123, 1) then if getPlayerSex(cid) == 0 then -- MULHER npcHandler:say("Boa. Eu aceito seu sacrifício. Você provou que é um verdadeiro seguidor de Zathroth e não hesita em sacrificar os bens mundanos. Assim, eu recompensarei você com esta tiara.", cid) else -- HOMEM npcHandler:say("Boa. Eu aceito seu sacrifício. Você provou que é um verdadeiro seguidor de Zathroth e não hesita em sacrificar os bens mundanos. Assim, eu recompensarei você com este capacete.", cid) end doPlayerAddOutfit(cid, 149, 1) doPlayerAddOutfit(cid, 145, 1) setPlayerStorageValue(cid, 20020, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end elseif npcHandler.topic[cid] == 38 then -- WIZARD - SECOND ADDON if getPlayerStorageValue(cid, 20021) <= 0 then if getPlayerStorageValue(cid, 20020) == 1 then -- CHECAR FIRST ADDON if getPlayerItemCount(cid, 5922) >= 50 then if doPlayerRemoveItem(cid, 5922, 50) then npcHandler:say("Ótimo! Eu concedo-lhe o direito de usar as luvas de atirador como acessório. Parabéns!", cid) doPlayerAddOutfit(cid, 149, 2) doPlayerAddOutfit(cid, 145, 2) setPlayerStorageValue(cid, 20021, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você deve completar o {first addon} de Wizard antes de fazer o second addon.", cid) end else npcHandler:say("Você já possui esse addon.", cid) end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 40 then -- DEMONHUNTER - FIRST ADDON if getPlayerStorageValue(cid, 45252) == 1 then -- CHECAR INQ FINAL if getPlayerStorageValue(cid, 20022) <= 0 then if getPlayerItemCount(cid, 5905) >= 30 and getPlayerItemCount(cid, 5906) >= 40 and getPlayerItemCount(cid, 5954) >= 50 and getPlayerItemCount(cid, 6500) >= 50 and getPlayerItemCount(cid, 2151) >= 100 then if doPlayerRemoveItem(cid, 5905, 30) and doPlayerRemoveItem(cid, 5906, 40) and doPlayerRemoveItem(cid, 5954, 50) and doPlayerRemoveItem(cid, 6500, 50) and doPlayerRemoveItem(cid, 2151, 100) then npcHandler:say("Acabado!", cid) doPlayerAddOutfit(cid, 288, 1) doPlayerAddOutfit(cid, 289, 1) setPlayerStorageValue(cid, 20022, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end else npcHandler:say("Primeiro você precisa finalizar a {'Inquisition Quest'}.", cid) end elseif npcHandler.topic[cid] == 41 then -- DEMONHUNTER - SECOND ADDON if getPlayerStorageValue(cid, 45252) == 1 then -- CHECAR INQ FINAL if getPlayerStorageValue(cid, 20023) <= 0 then if getPlayerItemCount(cid, 5906) >= 50 and getPlayerItemCount(cid, 6500) >= 200 and getPlayerItemCount(cid, 2151) >= 100 then if doPlayerRemoveItem(cid, 5906, 50) and doPlayerRemoveItem(cid, 6500, 200) and doPlayerRemoveItem(cid, 2151, 100) then npcHandler:say("Parabéns!", cid) doPlayerAddOutfit(cid, 288, 2) doPlayerAddOutfit(cid, 289, 2) setPlayerStorageValue(cid, 20023, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end else npcHandler:say("Primeiro você precisa finalizar a {'Inquisition Quest'}.", cid) end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 43 then -- WAYFARER - FIRST ADDON if getPlayerStorageValue(cid, 45262) == 1 then -- CHECAR WOTE FINAL if getPlayerStorageValue(cid, 20024) <= 0 then if getPlayerItemCount(cid, 5909) >= 100 and getPlayerItemCount(cid, 5910) >= 100 and getPlayerItemCount(cid, 5911) >= 100 and getPlayerItemCount(cid, 5912) >= 100 and getPlayerItemCount(cid, 5913) >= 100 and getPlayerItemCount(cid, 5914) >= 100 then if doPlayerRemoveItem(cid, 5909, 100) and doPlayerRemoveItem(cid, 5910, 100) and doPlayerRemoveItem(cid, 5911, 100) and doPlayerRemoveItem(cid, 5912, 100) and doPlayerRemoveItem(cid, 5913, 100) and doPlayerRemoveItem(cid, 5914, 100) then npcHandler:say("Parabéns!", cid) doPlayerAddOutfit(cid, 366, 1) doPlayerAddOutfit(cid, 367, 1) setPlayerStorageValue(cid, 20024, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end else npcHandler:say("Primeiro você precisa finalizar a {'WOTE Quest'}.", cid) end elseif npcHandler.topic[cid] == 44 then -- WAYFARER - SECOND ADDON if getPlayerStorageValue(cid, 45262) == 1 then -- CHECAR WOTE FINAL if getPlayerStorageValue(cid, 20025) <= 0 then if getPlayerItemCount(cid, 5886) >= 5 and getPlayerItemCount(cid, 6500) >= 500 then if doPlayerRemoveItem(cid, 5886, 5) and doPlayerRemoveItem(cid, 6500, 500) then npcHandler:say("Muito bom. finalizado!", cid) doPlayerAddOutfit(cid, 366, 2) doPlayerAddOutfit(cid, 367, 2) setPlayerStorageValue(cid, 20025, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end else npcHandler:say("Primeiro você precisa finalizar a {'WOTE Quest'}.", cid) end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 46 then -- WARMASTER - OUTFIT if getPlayerStorageValue(cid, 20026) <= 0 then if getPlayerMoney(cid) >= 250000 then -- gold coin if doPlayerRemoveMoney(cid, 250000) then -- gold coin npcHandler:say("Parabéns!", cid) doPlayerAddOutfit(cid, 336, 0) doPlayerAddOutfit(cid, 335, 0) setPlayerStorageValue(cid, 20026, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse outfit.", cid) end elseif npcHandler.topic[cid] == 47 then -- WARMASTER - FIRST ADDON if getPlayerStorageValue(cid, 20026) == 1 then -- CHECAR WARMASTER OUTFIT if getPlayerStorageValue(cid, 20027) <= 0 then if getPlayerItemCount(cid, 5886) >= 15 and getPlayerItemCount(cid, 5904) >= 15 and getPlayerItemCount(cid, 5884) >= 1 then if doPlayerRemoveItem(cid, 5886, 15) and doPlayerRemoveItem(cid, 5904, 15) and doPlayerRemoveItem(cid, 5884, 1) then npcHandler:say("Parabéns!", cid) doPlayerAddOutfit(cid, 336, 1) doPlayerAddOutfit(cid, 335, 1) setPlayerStorageValue(cid, 20027, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end else npcHandler:say("Primeiro você precisa possuir a outfit.", cid) end elseif npcHandler.topic[cid] == 48 then -- WARMASTER - SECOND ADDON if getPlayerStorageValue(cid, 20026) == 1 then -- CHECAR WARMASTER OUTFIT if getPlayerStorageValue(cid, 20028) <= 0 then if getPlayerItemCount(cid, 5886) >= 15 and getPlayerItemCount(cid, 5904) >= 15 and getPlayerItemCount(cid, 5884) >= 1 then if doPlayerRemoveItem(cid, 5886, 15) and doPlayerRemoveItem(cid, 5904, 15) and doPlayerRemoveItem(cid, 5884, 1) then npcHandler:say("Muito bom. finalizado!", cid) doPlayerAddOutfit(cid, 336, 2) doPlayerAddOutfit(cid, 335, 2) setPlayerStorageValue(cid, 20028, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end else npcHandler:say("Primeiro você precisa possuir a outfit.", cid) end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 50 then -- ASSASIN - OUTFIT if getPlayerStorageValue(cid, 20029) <= 0 then if getPlayerItemCount(cid, 5898) >= 30 and getPlayerItemCount(cid, 5882) >= 10 and getPlayerItemCount(cid, 5881) >= 30 and getPlayerItemCount(cid, 5895) >= 20 and getPlayerItemCount(cid, 5905) >= 20 and getPlayerItemCount(cid, 5906) >= 10 and getPlayerItemCount(cid, 5885) >= 1 then if doPlayerRemoveItem(cid, 5898, 30) and doPlayerRemoveItem(cid, 5882, 10) and doPlayerRemoveItem(cid, 5881, 30) and doPlayerRemoveItem(cid, 5895, 20) and doPlayerRemoveItem(cid, 5905, 20) and doPlayerRemoveItem(cid, 5906, 10) and doPlayerRemoveItem(cid, 5885, 1) then npcHandler:say("Desde que você me ajudou a preparar essa roupa e assim garantiu a alta qualidade do meu trabalho. Eu lhe darei essa fantasia de assassino. Falta a parte da cabeça, mas é quase como novo. Não finja ser eu, ok?", cid) doPlayerAddOutfit(cid, 156, 0) doPlayerAddOutfit(cid, 152, 0) setPlayerStorageValue(cid, 20029, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse outfit.", cid) end elseif npcHandler.topic[cid] == 51 then -- ASSASIN - FIRST ADDON if getPlayerStorageValue(cid, 20029) == 1 then -- CHECAR ASSASIN OUTFIT if getPlayerStorageValue(cid, 20030) <= 0 then if getPlayerItemCount(cid, 5909) >= 50 and getPlayerItemCount(cid, 5910) >= 50 and getPlayerItemCount(cid, 5911) >= 50 and getPlayerItemCount(cid, 5912) >= 50 and getPlayerItemCount(cid, 5913) >= 50 and getPlayerItemCount(cid, 5914) >= 50 and getPlayerItemCount(cid, 5886) >= 10 then if doPlayerRemoveItem(cid, 5909, 50) and doPlayerRemoveItem(cid, 5910, 50) and doPlayerRemoveItem(cid, 5911, 50) and doPlayerRemoveItem(cid, 5912, 50) and doPlayerRemoveItem(cid, 5913, 50) and doPlayerRemoveItem(cid, 5914, 50) and doPlayerRemoveItem(cid, 5886, 10) then npcHandler:say("Obrigado! É isso aí, está feito. Bom trabalho, ".. getCreatureName(cid) ..". Eu mantenho minha promessa. Aqui está o pedaço de pano da cabeça de assassino.", cid) doPlayerAddOutfit(cid, 156, 1) doPlayerAddOutfit(cid, 152, 1) setPlayerStorageValue(cid, 20030, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end else npcHandler:say("Primeiro você precisa possuir a outfit.", cid) end elseif npcHandler.topic[cid] == 52 then -- ASSASIN - SECOND ADDON if getPlayerStorageValue(cid, 20029) == 1 then -- CHECAR ASSASIN OUTFIT if getPlayerStorageValue(cid, 20031) <= 0 then if getPlayerItemCount(cid, 5930) >= 1 and getPlayerItemCount(cid, 5804) >= 1 then if doPlayerRemoveItem(cid, 5930, 1) and doPlayerRemoveItem(cid, 5804, 1) then npcHandler:say("Eu vejo que você trouxe minhas coisas. Boa. Eu vou manter minha promessa: Aqui está a Katana em troca.", cid) doPlayerAddOutfit(cid, 156, 2) doPlayerAddOutfit(cid, 152, 2) setPlayerStorageValue(cid, 20031, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end else npcHandler:say("Primeiro você precisa possuir a outfit.", cid) end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 54 then -- BEGGAR - OUTFIT if getPlayerStorageValue(cid, 20032) <= 0 then if getPlayerItemCount(cid, 5878) >= 50 and getPlayerItemCount(cid, 5921) >= 30 and getPlayerItemCount(cid, 5913) >= 20 and getPlayerItemCount(cid, 5894) >= 70 then if doPlayerRemoveItem(cid, 5878, 50) and doPlayerRemoveItem(cid, 5921, 30) and doPlayerRemoveItem(cid, 5913, 20) and doPlayerRemoveItem(cid, 5894, 70) then npcHandler:say("Aqui está. Talvez você goste depois de tudo.", cid) doPlayerAddOutfit(cid, 157, 0) doPlayerAddOutfit(cid, 153, 0) setPlayerStorageValue(cid, 20032, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse outfit.", cid) end elseif npcHandler.topic[cid] == 55 then -- BEGGAR - FIRST ADDON if getPlayerStorageValue(cid, 20032) == 1 then -- CHECAR BEGGAR OUTFIT if getPlayerStorageValue(cid, 20033) <= 0 then if getPlayerItemCount(cid, 5883) >= 100 and getPlayerMoney(cid) >= 20000 then if doPlayerRemoveItem(cid, 5883, 100) and doPlayerRemoveMoney(cid, 20000) then if getPlayerSex(cid) == 0 then -- MULHER npcHandler:say("Ok, ok ... aqui está o seu vestido prometido. Tenho certeza que vai parecer muito melhor em você do que em mim - quero dizer, meu, err, irmã.", cid) else -- HOMEM npcHandler:say("Ah! Eu posso ver isso! Sua barba é perfeita! Tudo graças ao meu, err, potion. Sim. Adeus!", cid) end doPlayerAddOutfit(cid, 157, 1) doPlayerAddOutfit(cid, 153, 1) setPlayerStorageValue(cid, 20033, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end else npcHandler:say("Primeiro você precisa possuir a outfit.", cid) end elseif npcHandler.topic[cid] == 56 then -- BEGGAR - SECOND ADDON if getPlayerStorageValue(cid, 20032) == 1 then -- CHECAR BEGGAR OUTFIT if getPlayerStorageValue(cid, 20034) <= 0 then if getPlayerItemCount(cid, 6107) >= 1 then if doPlayerRemoveItem(cid, 6107, 1) then npcHandler:say("Sim!! É isso aí! Estou tão feliz! Agora você pode ter uma staff na mão. Obrigado!", cid) doPlayerAddOutfit(cid, 157, 2) doPlayerAddOutfit(cid, 153, 2) setPlayerStorageValue(cid, 20034, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end else npcHandler:say("Primeiro você precisa possuir a outfit.", cid) end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 58 then -- YODA FANFARE if getPlayerMoney(cid) >= 250000 then if doPlayerRemoveMoney(cid, 250000) then doPlayerAddItem(cid, 12683, 1) npcHandler:say("Aqui está. Para receber Jester Outfit você precisa utilizar esse item umas 100x. Caso perca o item, eu posso lhe vender por {250k}.", cid) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem dinheiro.", cid) npcHandler.topic[cid] = 0 end elseif npcHandler.topic[cid] == 59 then -- JESTER - FIRST ADDON if getPlayerStorageValue(cid, 20035) == 101 then -- CHECAR JESTER OUTFIT if getPlayerStorageValue(cid, 20036) <= 0 then if getPlayerItemCount(cid, 5912) >= 10 and getPlayerItemCount(cid, 5913) >= 10 and getPlayerItemCount(cid, 5914) >= 10 and getPlayerItemCount(cid, 5909) >= 10 then if doPlayerRemoveItem(cid, 5912, 10) and doPlayerRemoveItem(cid, 5913, 10) and doPlayerRemoveItem(cid, 5914, 10) and doPlayerRemoveItem(cid, 5909, 10) then npcHandler:say("FON... EOQ MALUCOO, conseguiu finalmente a first addon do Jester. Parabéns!", cid) doPlayerAddOutfit(cid, 270, 1) doPlayerAddOutfit(cid, 273, 1) setPlayerStorageValue(cid, 20036, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end else npcHandler:say("Primeiro você precisa possuir a outfit.", cid) end elseif npcHandler.topic[cid] == 60 then -- JESTER - SECOND ADDON if getPlayerStorageValue(cid, 20035) == 101 then -- CHECAR JESTER OUTFIT if getPlayerStorageValue(cid, 20037) <= 0 then if getPlayerItemCount(cid, 5910) >= 10 and getPlayerItemCount(cid, 5911) >= 10 and getPlayerItemCount(cid, 5912) >= 10 then if doPlayerRemoveItem(cid, 5910, 10) and doPlayerRemoveItem(cid, 5911, 10) and doPlayerRemoveItem(cid, 5912, 10) then npcHandler:say("KAPPA! Dale dale DOLE.", cid) doPlayerAddOutfit(cid, 270, 2) doPlayerAddOutfit(cid, 273, 2) setPlayerStorageValue(cid, 20037, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end else npcHandler:say("Primeiro você precisa possuir a outfit.", cid) end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 62 then -- SHAMAN - FIRST ADDON if getPlayerStorageValue(cid, 20038) <= 0 then if getPlayerItemCount(cid, 3966) >= 5 and getPlayerItemCount(cid, 3967) >= 5 then if doPlayerRemoveItem(cid, 3966, 5) and doPlayerRemoveItem(cid, 3967, 5) then npcHandler:say("Estou orgulhoso de você, meu filho, excelente trabalho. Esta staff será sua a partir de agora!", cid) doPlayerAddOutfit(cid, 158, 1) doPlayerAddOutfit(cid, 154, 1) setPlayerStorageValue(cid, 20038, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end elseif npcHandler.topic[cid] == 63 then -- SHAMAN - SECOND ADDON if getPlayerStorageValue(cid, 20039) <= 0 then if getPlayerItemCount(cid, 5810) >= 5 and getPlayerItemCount(cid, 3955) >= 5 and getPlayerItemCount(cid, 5015) >= 1 then if doPlayerRemoveItem(cid, 5810, 5) and doPlayerRemoveItem(cid, 3955, 5) and doPlayerRemoveItem(cid, 5015, 5) then npcHandler:say("Muito bem, meu filho! Eu concedo a você o direito de usar uma máscara xamânica. Faça isso com orgulho.", cid) doPlayerAddOutfit(cid, 158, 2) doPlayerAddOutfit(cid, 154, 2) setPlayerStorageValue(cid, 20039, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 65 then -- NORSEMAN - FIRST ADDON if getPlayerStorageValue(cid, 20040) <= 0 then if getPlayerItemCount(cid, 7290) >= 5 then if doPlayerRemoveItem(cid, 7290, 5) then npcHandler:say("Excelente, você coletou 5 fragmentos de frostheart. Pegue isso. Pode se adequar à sua roupa nórdica.", cid) doPlayerAddOutfit(cid, 252, 1) doPlayerAddOutfit(cid, 251, 1) setPlayerStorageValue(cid, 20040, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end elseif npcHandler.topic[cid] == 66 then -- NORSEMAN - SECOND ADDON if getPlayerStorageValue(cid, 20041) <= 0 then if getPlayerItemCount(cid, 7290) >= 10 then if doPlayerRemoveItem(cid, 7290, 10) then npcHandler:say("Excelente, você coletou 10 fragmentos de frostheart. Pegue isso.", cid) doPlayerAddOutfit(cid, 252, 2) doPlayerAddOutfit(cid, 251, 2) setPlayerStorageValue(cid, 20041, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 68 then -- PIRATE - FIRST ADDON if getPlayerStorageValue(cid, 20042) <= 0 then if getPlayerItemCount(cid, 6098) >= 100 and getPlayerItemCount(cid, 6126) >= 100 and getPlayerItemCount(cid, 6097) >= 100 then if doPlayerRemoveItem(cid, 6098, 100) and doPlayerRemoveItem(cid, 6126, 100) and doPlayerRemoveItem(cid, 6097, 100) then npcHandler:say("Ok! Pegue este sabre de mim, companheiro.", cid) doPlayerAddOutfit(cid, 155, 1) doPlayerAddOutfit(cid, 151, 1) setPlayerStorageValue(cid, 20042, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end elseif npcHandler.topic[cid] == 69 then -- PIRATE - SECOND ADDON if getPlayerStorageValue(cid, 20043) <= 0 then if getPlayerItemCount(cid, 6101) >= 1 and getPlayerItemCount(cid, 6102) >= 1 and getPlayerItemCount(cid, 6100) >= 1 and getPlayerItemCount(cid, 6099) >= 1 then if doPlayerRemoveItem(cid, 6101, 1) and doPlayerRemoveItem(cid, 6102, 1) and doPlayerRemoveItem(cid, 6100, 1) and doPlayerRemoveItem(cid, 6099, 1) then npcHandler:say("INCRÍVEL! Você encontrou todos os quatro! você tem o meu respeito. Você mais do que merece esse chapéu. Ai está.", cid) doPlayerAddOutfit(cid, 155, 2) doPlayerAddOutfit(cid, 151, 2) setPlayerStorageValue(cid, 20043, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 71 then -- NIGHTMARE - OUTFIT if getPlayerStorageValue(cid, 20044) <= 0 then if getPlayerItemCount(cid, 6500) >= 500 then if doPlayerRemoveItem(cid, 6500, 500) then npcHandler:say("Parabéns! Quando finalizar todos os addons da Nightmare, fale comigo sobre {Nightmare Shield}.", cid) doPlayerAddOutfit(cid, 269, 0) doPlayerAddOutfit(cid, 268, 0) setPlayerStorageValue(cid, 20044, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse outfit.", cid) end elseif npcHandler.topic[cid] == 72 then -- NIGHTMARE - FIRST ADDON if getPlayerStorageValue(cid, 20044) == 1 then -- CHECAR NIGHTMARE OUTFIT if getPlayerStorageValue(cid, 20045) <= 0 then if getPlayerItemCount(cid, 6500) >= 500 then if doPlayerRemoveItem(cid, 6500, 500) then npcHandler:say("Parabéns! Quando finalizar todos os addons da Nightmare, fale comigo sobre {Nightmare Shield}.", cid) doPlayerAddOutfit(cid, 269, 1) doPlayerAddOutfit(cid, 268, 1) setPlayerStorageValue(cid, 20045, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end else npcHandler:say("Primeiro você precisa possuir a outfit.", cid) end elseif npcHandler.topic[cid] == 73 then -- NIGHTMARE - SECOND ADDON if getPlayerStorageValue(cid, 20044) == 1 then -- CHECAR NIGHTMARE OUTFIT if getPlayerStorageValue(cid, 20046) <= 0 then if getPlayerItemCount(cid, 6500) >= 1000 then if doPlayerRemoveItem(cid, 6500, 1000) then npcHandler:say("Parabéns! Quando finalizar todos os addons da Nightmare, fale comigo sobre {Nightmare Shield}.", cid) doPlayerAddOutfit(cid, 269, 2) doPlayerAddOutfit(cid, 268, 2) setPlayerStorageValue(cid, 20046, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end else npcHandler:say("Primeiro você precisa possuir a outfit.", cid) end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 75 then -- BROTHERHOOD - OUTFIT if getPlayerStorageValue(cid, 20047) <= 0 then if getPlayerItemCount(cid, 6500) >= 500 then if doPlayerRemoveItem(cid, 6500, 500) then npcHandler:say("Parabéns! Quando finalizar todos os addons da Brotherhood, fale comigo sobre {Necromancer Shield}.", cid) doPlayerAddOutfit(cid, 279, 0) doPlayerAddOutfit(cid, 278, 0) setPlayerStorageValue(cid, 20047, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse outfit.", cid) end elseif npcHandler.topic[cid] == 76 then -- BROTHERHOOD - FIRST ADDON if getPlayerStorageValue(cid, 20047) == 1 then -- CHECAR BROTHERHOOD OUTFIT if getPlayerStorageValue(cid, 20048) <= 0 then if getPlayerItemCount(cid, 6500) >= 500 then if doPlayerRemoveItem(cid, 6500, 500) then npcHandler:say("Parabéns! Quando finalizar todos os addons da Brotherhood, fale comigo sobre {Necromancer Shield}.", cid) doPlayerAddOutfit(cid, 279, 1) doPlayerAddOutfit(cid, 278, 1) setPlayerStorageValue(cid, 20048, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end else npcHandler:say("Primeiro você precisa possuir a outfit.", cid) end elseif npcHandler.topic[cid] == 77 then -- BROTHERHOOD - SECOND ADDON if getPlayerStorageValue(cid, 20047) == 1 then -- CHECAR BROTHERHOOD OUTFIT if getPlayerStorageValue(cid, 20049) <= 0 then if getPlayerItemCount(cid, 6500) >= 1000 then if doPlayerRemoveItem(cid, 6500, 1000) then npcHandler:say("Parabéns! Quando finalizar todos os addons da Brotherhood, fale comigo sobre {Necromancer Shield}.", cid) doPlayerAddOutfit(cid, 279, 2) doPlayerAddOutfit(cid, 278, 2) setPlayerStorageValue(cid, 20049, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já possui esse addon.", cid) end else npcHandler:say("Primeiro você precisa possuir a outfit.", cid) end -------------------------------------- -------------------------------------- elseif npcHandler.topic[cid] == 78 then -- NIGHTMARE SHIELD if getPlayerStorageValue(cid, 20050) <= 0 then if getPlayerItemCount(cid, 6500) >= 100 then if doPlayerRemoveItem(cid, 6500, 100) then npcHandler:say("Muito Bom! Nightmare Shield. Item excelente.", cid) doPlayerAddItem(cid, 6391, 1) setPlayerStorageValue(cid, 20050, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já pegou o item.", cid) npcHandler.topic[cid] = 0 end elseif npcHandler.topic[cid] == 79 then -- NECROMANCER SHIELD if getPlayerStorageValue(cid, 20051) <= 0 then if getPlayerItemCount(cid, 6500) >= 100 then if doPlayerRemoveItem(cid, 6500, 100) then npcHandler:say("Muito Bom! Necromancer Shield. Item excelente.", cid) doPlayerAddItem(cid, 6433, 1) setPlayerStorageValue(cid, 20051, 1) npcHandler.topic[cid] = 0 else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") npcHandler.topic[cid] = 0 end else npcHandler:say("Você não tem todos os itens.", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Você já pegou o item.", cid) npcHandler.topic[cid] = 0 end end elseif(msgcontains(msg, "no") and isInArray({1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79}, npcHandler.topic[cid])) then npcHandler:say("Ok then.", cid) npcHandler.topic[cid] = 0 end return true end npcHandler:setMessage(MESSAGE_GREET, "Olá, |PLAYERNAME|. Eu posso te oferecer addons ou outfits, basta ter os itens necessários para isto. Para começar, {digite o nome da outfit}!") npcHandler:setMessage(MESSAGE_WALKAWAY, "Volte logo!") npcHandler:setMessage(MESSAGE_FAREWELL, "Volte logo!") keywordHandler:addKeyword({"legion helmet"}, StdModule.say, {npcHandler = npcHandler, text = "Você precisa esperar uma invasão de 'Rotworm Queen' para tentar a sorte e dropar esse item. Também é possível obtê-lo do 'Rotworm' mas a chance é muito pequena."}) keywordHandler:addKeyword({"elane's crossbow"}, StdModule.say, {npcHandler = npcHandler, text = "Você pode fazer a quest desse item na HUNT dos {'cults'}."}) keywordHandler:addAliasKeyword({"elane crossbow"}) keywordHandler:addAliasKeyword({"elanes crossbow"}) keywordHandler:addAliasKeyword({"elane"}) keywordHandler:addAliasKeyword({"elanes"}) keywordHandler:addAliasKeyword({"crossbow"}) keywordHandler:addKeyword({"mermaid comb"}, StdModule.say, {npcHandler = npcHandler, text = "Você pode fazer a quest desse item na HUNT das {'Sea Serpents'}."}) keywordHandler:addAliasKeyword({"mermaid"}) keywordHandler:addAliasKeyword({"comb"}) keywordHandler:addKeyword({"piece of royal steel"}, StdModule.say, {npcHandler = npcHandler, text = "Você precisa falar com o NPC {'A Sweaty Cyclops'} que fica localizado na sala de mineração."}) keywordHandler:addAliasKeyword({"piece of draconian steel"}) keywordHandler:addAliasKeyword({"piece of hell steel"}) keywordHandler:addAliasKeyword({"hell steel"}) keywordHandler:addAliasKeyword({"draconian steel"}) keywordHandler:addAliasKeyword({"royal steel"}) keywordHandler:addAliasKeyword({"huge chunk of crude iron"}) keywordHandler:addAliasKeyword({"huge chunk"}) keywordHandler:addAliasKeyword({"crude iron"}) keywordHandler:addKeyword({"empty vials"}, StdModule.say, {npcHandler = npcHandler, text = "Você pode obter {Lottery Ticket} com o NPC {'Dark Rodo'} em troca de vials ou flasks."}) keywordHandler:addAliasKeyword({"empty vial"}) keywordHandler:addAliasKeyword({"empty potion flask"}) keywordHandler:addAliasKeyword({"empty potion flasks"}) keywordHandler:addAliasKeyword({"lottery ticket"}) keywordHandler:addAliasKeyword({"winning lottery ticket"}) keywordHandler:addKeyword({"soul stone"}, StdModule.say, {npcHandler = npcHandler, text = "É possível obter esse item por meio de uma task especial: {'Necropharus'}"}) keywordHandler:addKeyword({"ferumbras' hat"}, StdModule.say, {npcHandler = npcHandler, text = "Você precisa esperar uma invasão de 'Ferumbras' para tentar a sorte e dropar esse item."}) keywordHandler:addAliasKeyword({"ferumbras hat"}) keywordHandler:addAliasKeyword({"ferumbras"}) keywordHandler:addAliasKeyword({"hat"}) keywordHandler:addKeyword({"ceiron's wolf tooth chain"}, StdModule.say, {npcHandler = npcHandler, text = "Você pode obter {ceiron's wolf tooth chain} em uma quest no acampamento dos ORC'S ao SUL da cidade."}) keywordHandler:addAliasKeyword({"ceirons wolf tooth chain"}) keywordHandler:addAliasKeyword({"wolf tooth chain"}) keywordHandler:addAliasKeyword({"wolf tooth"}) keywordHandler:addAliasKeyword({"ceirons wolf tooth"}) keywordHandler:addKeyword({"dragon claw"}, StdModule.say, {npcHandler = npcHandler, text = "É possível obter esse item por meio de uma task especial: {'Demodras'}"}) keywordHandler:addKeyword({"simon"}, StdModule.say, {npcHandler = npcHandler, text = "É possível obter esse item por meio de uma quest: Ao sul da cidade, na hunt de hero."}) keywordHandler:addAliasKeyword({"simon the beggar's staff"}) keywordHandler:addAliasKeyword({"simon the beggar"}) keywordHandler:addAliasKeyword({"beggar staff"}) keywordHandler:addAliasKeyword({"beggar's staff"}) keywordHandler:addKeyword({"nose ring"}, StdModule.say, {npcHandler = npcHandler, text = "É possível obter esse item por meio de uma task especial: {'The Horned Fox'}"}) keywordHandler:addKeyword({"heaven blossom"}, StdModule.say, {npcHandler = npcHandler, text = "É possível dropar esse item de {'elf's'}."}) keywordHandler:addKeyword({"mandrake"}, StdModule.say, {npcHandler = npcHandler, text = "É possível obter esse item por meio de uma task especial: {'Tiquandas Revenge'}"}) keywordHandler:addKeyword({"Ron the Ripper's Sabre"}, StdModule.say, {npcHandler = npcHandler, text = "É possível obter esse item por meio de uma task especial: {'Pirates'}. Essa task pode vir um dos quatro bosses (aleatório)."}) keywordHandler:addKeyword({"Deadeye Deviou's Eye Patch"}, StdModule.say, {npcHandler = npcHandler, text = "É possível obter esse item por meio de uma task especial: {'Pirates'}. Essa task pode vir um dos quatro bosses (aleatório)."}) keywordHandler:addKeyword({"Lethal Lissy's Shirt"}, StdModule.say, {npcHandler = npcHandler, text = "É possível obter esse item por meio de uma task especial: {'Pirates'}. Essa task pode vir um dos quatro bosses (aleatório)."}) keywordHandler:addKeyword({"Brutus Bloodbeard's Hat"}, StdModule.say, {npcHandler = npcHandler, text = "É possível obter esse item por meio de uma task especial: {'Pirates'}. Essa task pode vir um dos quatro bosses (aleatório)."}) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  15. Bom dia! Decidi criar um boss room onde os monstros nascem de 1 em 1 hora, porém eu preciso de um script que retire o boss sumonado antes do outro script "que funciona 100%" sumonar outro boss... Se alguém souber algum script que remove todos o monstros da area superior esquerda, até a area inferior direita, ficarei muito grato! Eu tenho este abaixo, porém ele só funciona uma vez, ou seja ele não remove todos os bosses, só o primeiro. Creio que seja por causa da storage, sem certeza. for j=1, #positionsCheck do for i = 0, 255 do positionsCheck[j].stackpos = i Utilizo TFS 1.3 Script que remove o boss. local config = { fromPos = {x=556,y=451,z=6}, -- posição superior esquerda do mapa, da area em que esta mapeado a area. toPos = {x=566,y=456,z=6}, -- posição inferior direita do mapa, da area em que esta mapeado a area. boss = "Nomedomonstroaqui" -- Aqui você bota o nome do monstro que você quer remover } function onTimer() removeMonsterInArea(fromPos, toPos) return true end function removeMonsterInArea() -- by Daaniel Gay local positionsCheck = {} for i = config.fromPos.x, config.toPos.x do positionsCheck[#positionsCheck+1] = {x=i, y = config.fromPos.y, z = config.fromPos.z, stackpos = 0} for j = config.fromPos.y+1, config.toPos.y do positionsCheck[#positionsCheck+1] = {x=i, y = j, z = config.fromPos.z, stackpos = 0} end end for j=1, #positionsCheck do for i = 0, 255 do positionsCheck[j].stackpos = i local tile = getTileThingByPos(positionsCheck[j]) if isMonster(tile.uid) then if getCreatureName(tile.uid) == config.boss then doRemoveCreature(tile.uid) end end end end end
  16. Diga em poucas palavras a base utilizada (Nome do servidor ou nome do website). Ex. TFS 1.3; Base: TFS 1.2 Qual erro está surgindo/O que você procura? Um script em que o player use o vial VAZIO nesse item no caso ID> 15638, e encher de potion, o vial sumir, e de der pra usar tipo 200 vezes e o item sumir, será incrivel. Eu peguei o scrip de skinning e consegui fazer algumas coisas, vial sumir etc.. porém peguei um script e fz uma bagunça só. Você tem o código disponível? Se tiver publique-o aqui: local config = { [7636] = { -- Health Potion [15638] = {value = 100000, newItem = 7618}, }, [5942] = { [2916] = {value = 25000, newItem = 5906}, } } function onUse(player, item, fromPosition, target, toPosition, isHotkey) local skin = config[item.itemid][target.itemid] if not skin then player:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE) return true end local random, effect, transform = math.random(1, 100000), CONST_ME_MAGIC_GREEN, true if type(skin[1]) == 'table' then local added = false local _skin for i = 1, #skin do _skin = skin[i] if random <= _skin.value then if target.itemid == 11343 then effect = CONST_ME_ICEAREA local gobletItem = player:addItem(_skin.newItem, _skin.amount or 1) if gobletItem then gobletItem:setDescription(_skin.desc:gsub('|PLAYERNAME|', player:getName())) end added = true elseif isInArray({7441, 7442, 7444, 7445}, target.itemid) then player:addItem(_skin.newItem, _skin.amount or 1) effect = CONST_ME_HITAREA added = true else player:addItem(_skin.newItem, _skin.amount or 1) added = true end break end end if not added and target.itemid == 8961 then effect = CONST_ME_POFF transform = false end elseif random <= skin.value then if target.itemid == 11343 then effect = CONST_ME_ICEAREA local gobletItem = player:addItem(skin.newItem, skin.amount or 1) if gobletItem then gobletItem:setDescription(skin.desc:gsub('|PLAYERNAME|', player:getName())) end elseif isInArray({7441, 7442, 7444, 7445}, target.itemid) then if skin.newItem == 7446 then player:addAchievement('Ice Sculptor') end player:addItem(skin.newItem, skin.amount or 1) effect = CONST_ME_HITAREA else player:addItem(skin.newItem, skin.amount or 1) end else if isInArray({7441, 7442, 7444, 7445}, target.itemid) then player:say('The attempt of sculpting failed miserably.', TALKTYPE_MONSTER_SAY) effect = CONST_ME_HITAREA else effect = CONST_ME_POFF end end toPosition:sendMagicEffect(effect) if transform then Item(item.uid):remove(1) player:addSoul(-1) end return true end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  17. opa, preciso de uma força se possivel. possuo um script de EXP potion, que quando eu clico, recebo um "Addevent" com o bonus de exp porem, quando dou /reload actions, todos os players perdem esse efeito e a storage fica (junto com o bonus de exp da exp food) isso vem me causando alguns problemas com alguns players, pois preciso atualizar o server/remover bugs teria alguma forma de converter esse action, pra creaturescript e remover esse "addevent"? queria que se o player deslogasse, continuasse contando a exp potion (como se fosse uma storage os.time) que quando chegasse em 0 do seu tempo os.time, a exp voltasse ao normal e eu pudesse dar /reload creaturescript que nao interferisse no tempo dos players alguem sabe fazer isso? a action que uso: grato
  18. Quando clico na porta diz " Não é permitido a entrada de chars com o level menor de 180 neste evento!" mas o player fica no meio da porta e assim mesmo consegue acesso a quest. Como eu faço pra não ficar no meio da porta? local eventArea = {from = {x = 402, y = 3, z = 7}, to = {x = 493, y = 121, z = 7}} -- area do evento... local levelAccess = 180 function onUse(cid, item, fromPosition, itemEx, toPosition) for _, pid in pairs(getPlayersOnline()) do if getPlayerLevel(cid) >= levelAccess then if(cid ~= pid and getPlayerIp(cid) == getPlayerIp(pid) and isInRange(getThingPos(pid), eventArea.from, eventArea.to)) then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, 25, "[ANTI-MC] \n \n Não é permitido a entrada de 2 chars com o mesmo IP neste evento!") return true end else doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, 25, "Não é permitido a entrada de chars com o level menor de " .. levelAccess .. " neste evento!") return true end end return true end
  19. .Qual servidor ou website você utiliza como base? Qual o motivo deste tópico? Está surgindo algum erro? Se sim coloque-o aqui. [1:31:47.854] [Error - LuaInterface::loadFile] cannot open data/globalevents/scr ipts/my_script.lua: No such file or directory [1:31:47.861] [Warning - Event::loadScript] Cannot load script (data/globalevent s/scripts/my_script.lua) [1:31:47.867] cannot open data/globalevents/scripts/my_script.lua: No such file or directory SE PUDEREM AJUDAR.... SCRIPT ABAIXO \/ Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. NO GLOBAL EVENTS USO ISSO <globalevent name="ZombieGlobalStartup" type="startup" event="script" value="zombie/onstartup.lua"/> <globalevent name="ZombieGlobalThink" interval="10000" event="script" value="zombie/onthink.lua"/> <globalevent name="ZombieOnTime" time="23:00:00" event="script" value="zombie/ontime.lua"/> E NOS SCRIPT DO GLOBAL EVENTS ONSTARTUP \/ function onStartup() resetaStorageZombieEvent() return true end ONTHINK \/ function onThink(interval, lastExecution, thinkInterval) local statusZombieEvent = getStatusZombieEvent() if(statusZombieEvent == 2) then local totalZombiesSummonar = getTotalZombiesSummonar()+1 setTotalZombiesSummonar(totalZombiesSummonar) for i=1,totalZombiesSummonar do summonaZombie() end end return true end ONTIME \/ function onTime() local statusZombieEvent = getStatusZombieEvent() if(statusZombieEvent < 1) then local estagio = 1 local totalParticipantes = ZB_TOTAL_PARTICIPANTES iniciarZombieEvent(estagio, totalParticipantes) print("["..os.date("%H:%M:%S:000", os.time()).."] > Zombie Event foi iniciado com sucesso.") else print("["..os.date("%H:%M:%S:000", os.time()).."] > Zombie Event nao foi iniciado pois ja esta ativo.") end return true end
  20. Quando um player morre no meu servidor, ele está recuperando toda a stamina. Alguém pode me ajudar com isso?
  21. Se alguem puder disponibiliza rum evento boss que funcione da seguinte maneira. O boss nasce em 1 em 1 hora. e ele tem tempo pra ficar la, no caso 20 min. Queria que funcionasse assim, com tempo. para nao ficar nascendo 1 em 1 e ficar varios boses. se alguem puder ajudar, agradeço desde de ja
  22. qual a tag que eu boto, pra mostrar o tempo restante de uma storage? exemplo: 08:46 [Fast Regen Boost]: You have 28 days, 13 hours, 51 minutes e 14 seconds. EDIT: resolvido, achei um topico do vodkart que funcionou quem quiser:
  23. recentemente joguei um servidor, onde o player falava no help e um bot(script) checa a palavra que ele tenha falado e responde: exemplo: 1. o player abre o help channel 2. o player faz uma pergunta "quando tempo o pk sai?" 3. o bot (que seria o script) checa a frase, e encontra a palavra PK 4. o bot responde com uma mensagem pre-definida pra palavra "PK" no help channel resumo: o bot checa a palavra que o player vai falar e responde de acordo com a palavra-chave que tenha na frase alguem sabe fazer isso pra tfs 0.4?
  24. Boa noite então, eu tava procurando esse script, e todos que eu testava dava algum erro, e achei esse script do jeito que eu queria.. porem está dando um erro no script quando eu piso no tile, ai não tá adicionando a stamina alguem pode me ajudar ? Uso Tfs 0.4 8.60 Erro [1:15:44.787] [Error - MoveEvents Interface] [1:15:44.789] data/movements/scripts/treinertile.lua:onStepIn [1:15:44.790] Description: [1:15:44.791] (luaAddEvent) Callback parameter should be a function. Script -- Script by LekoDS local configuration = { storage = 263696, -- storage loltime = 2 * 1000, -- tempo stamina = 60, -- minutos ganhos de Stamina } function onStepIn(cid, item, position, fromPosition) if (isPlayer(cid)) == false then elseif getPlayerStorageValue(cid, configuration.storage) >= 0 then doPlayerSendTextMessage(cid, 27, "You entered an area of regeneration of Stamina. In 10 seconds you regenerate 60 minutes of Stamina.") addEvent(doPlayerAddExp, configuration.time, cid, 10) addEvent(doSendMagicEffect, configuration.time, getThingPos(cid),21) return false elseif getPlayerStorageValue(cid, configuration.storage) == -1 then doPlayerSendTextMessage(cid, 27, "You entered an area of regeneration of Stamina. In 10 seconds you regenerate 60 minutes of Stamina.") setPlayerStorageValue(cid,configuration.storage,0) stam = addEvent(doPlayerAddStamina, configuration.time, cid, configuration.stamina) effect = addEvent(doSendMagicEffect, configuration.time, getThingPos(cid),12) return false end end function onStepOut(cid, item, position, fromPosition) doPlayerSendTextMessage(cid, 27, "You failed to regenerate stamina.") setPlayerStorageValue(cid,configuration.storage,-1) stopEvent(stam) stopEvent(effect) end
  25. Olá amigos, uso sistema bacana de !autoloot, porem fica as vezes aparecendo isso! No console, não me agrada isso... Gostaria de deixa limpo. Autooloot do talkations! function onSay(cid, words, param) if(not checkExhausted(cid, 666, 2)) then return true end if param == "" then local String = "" local Slot_Count = 1 for i = 1, #AutoLoot.Storages.Slots do if getPlayerStorageValue(cid, AutoLoot.Storages.Slots[i]) ~= -1 then String = String.."{Auto-Loot} --- Slot "..Slot_Count..": "..getItemNameById(getPlayerStorageValue(cid, AutoLoot.Storages.Slots[i])).."\n" else String = String.."{Auto-Loot} --- Slot "..Slot_Count..": Empty\n" end Slot_Count = Slot_Count + 1 end local Gold_Status = getPlayerStorageValue(cid, AutoLoot.Storage_On_Gold) == 1 and "on" or "off" local Items_Status = getPlayerStorageValue(cid, AutoLoot.Storage_On_Items) == 1 and "on" or "off" doPlayerPopupFYI(cid," [+] Auto Loot Money [+]\n # Todo dinheiro é coletado automaticamente # \n # Loot vai para as BP até que tenha cap depois ele cai no chão # \n # Comandos são !autoloot add, (nome do item) # \n # !autoloot remove, ( nome do item) \n # !autoloot clear ( apaga a lista toda) \n # !autoloot power ( liga o sistema e desliga catar os loots) \n # !autoloot list (lista sua autoloot) \n # !autoloot desbug (remove eventual bug's que possa acontecer) \n # Todo dinheiro é enviado para o banco NPC Bankerman #\nSystem: "..(getPlayerStorageValue(cid, AutoLoot.Storage_On_Gold) <= 0 and "Disabled" or "Activated")..".\nBalance: ["..doNumberFormat(getPlayerBalance(cid)).."] gp's.") return true end local CommandParam = string.explode(param, ",") if getPlayerLevel(cid) >= AutoLoot.Min_Level then if CommandParam[1] == "power" then local get_Items = getPlayerStorageValue(cid, AutoLoot.Storage_On_Items) == -1 and "ligou" or "desligou" doPlayerSetStorageValue(cid, AutoLoot.Storage_On_Items, getPlayerStorageValue(cid, AutoLoot.Storage_On_Items) == -1 and 1 or -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você "..get_Items.." o auto loot.") elseif CommandParam[1] == "gold" then local get_Gold = getPlayerStorageValue(cid, AutoLoot.Storage_On_Gold) == -1 and "ligou" or "desligou" doPlayerSetStorageValue(cid, AutoLoot.Storage_On_Gold, getPlayerStorageValue(cid, AutoLoot.Storage_On_Gold) == -1 and 1 or -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você "..get_Gold.." a coleta de dinheiro.") doPlayerSetStorageValue(cid, AutoLoot.Storages.Count_Gold, 0) elseif CommandParam[1] == "goldinfo" then local Check_Gold_Info = getPlayerStorageValue(cid, AutoLoot.Storage_On_Gold) == -1 and "O sistema de coleta de dinheiro está desligado" or "O sistema já coletou "..AutoLoot.getPlayerStorageZero(cid, AutoLoot.Storages.Count_Gold).." gold coins" doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, Check_Gold_Info) elseif CommandParam[1] == "add" then if CommandParam[2] ~= nil and CommandParam[2] ~= "" and AutoLoot.ExistItemByName(CommandParam[2]) then local Item = getItemIdByName(CommandParam[2]) if isInArray({2160, 2148, 2152}, Item) then return doPlayerSendCancel(cid, "Você não pode adicionar moedas no autoloot. Para coletar dinheiro use !autoloot gold") end if getPlayerStorageValue(cid, AutoLoot.Storages.Count_Items) < (AutoLoot.Max_Slots - 1) then if AutoLoot.addToList(cid, CommandParam[2]) then doPlayerSetStorageValue(cid, AutoLoot.Storages.Count_Items, getPlayerStorageValue(cid, AutoLoot.Storages.Count_Items) + 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, CommandParam[2].." adicionado à sua lista do auto loot! Para ver sua lista diga !autoloot list") else doPlayerSendCancel(cid, CommandParam[2].." já está em sua lista!") end else doPlayerSendCancel(cid, "Sua lista já tem ".. AutoLoot.Max_Slots .." itens! Você deve remover algum antes de adicionar outro.") end else doPlayerSendCancel(cid, "Este item não existe!") end elseif CommandParam[1] == "remove" then if CommandParam[2] ~= nil and CommandParam[2] ~= "" and AutoLoot.ExistItemByName(CommandParam[2]) then if AutoLoot.removeFromList(cid, CommandParam[2]) then doPlayerSetStorageValue(cid, AutoLoot.Storages.Count_Items, getPlayerStorageValue(cid, AutoLoot.Storages.Count_Items) - 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, CommandParam[2].." removido da sua lista do auto loot!") else doPlayerSendCancel(cid, "Este item não está na sua lista!") end else doPlayerSendCancel(cid, "Este item não existe!") end elseif CommandParam[1] == "clear" then if getPlayerStorageValue(cid, AutoLoot.Storages.Count_Items) > -1 then doPlayerSetStorageValue(cid, AutoLoot.Storages.Count_Items, -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Lista limpa!") for i = 1, #AutoLoot.Storages.Slots do doPlayerSetStorageValue(cid, AutoLoot.Storages.Slots[i], -1) end else doPlayerSendCancel(cid, "Sua lista ja esta limpa!") end elseif CommandParam[1] == "desbug" or CommandParam[1] == "desbugar" then doPlayerSetStorageValue(cid, AutoLoot.Storages.Count_Items, -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Desbugado!") for i = 1, #AutoLoot.Storages.Slots do doPlayerSetStorageValue(cid, AutoLoot.Storages.Slots[i], -1) end elseif CommandParam[1] == "list" then local String = "" local Slot_Count = 1 for i = 1, #AutoLoot.Storages.Slots do if getPlayerStorageValue(cid, AutoLoot.Storages.Slots[i]) ~= -1 then String = String.."Slot "..Slot_Count..": "..getItemNameById(getPlayerStorageValue(cid, AutoLoot.Storages.Slots[i])).."\n" else String = String.."Slot "..Slot_Count..": Empty\n" end Slot_Count = Slot_Count + 1 end doPlayerPopupFYI(cid, [[ ---------{Auto-Loot}--------- --O sistema auto loot está coletando: --]].. String ..[[ --]]) end else doPlayerSendCancel(cid, "Você não é level maior que "..AutoLoot.Min_Level.." para utilizar este comando.") end return true end Partezinha do creature scripts! function onLogin(cid) registerCreatureEvent(cid, "Auto_Loot_Login") registerCreatureEvent(cid, "Auto_Loot_Kill") return true end function onKill(cid, target, lastHit) if isPlayer(cid) and isMonster(target) then if getPlayerStorageValue(cid, AutoLoot.Storage_On_Items) == 1 and #AutoLoot.getPlayerList(cid) > 0 then addEvent(AutoLoot.Items, 500, cid, getCreaturePosition(target)) end if getPlayerStorageValue(cid, AutoLoot.Storage_On_Gold) == 1 then addEvent(AutoLoot.Gold, 500, cid, getCreaturePosition(target)) end if getPlayerStorageValue(cid, AutoLoot.Storage_On_Items) == 1 or getPlayerStorageValue(cid, AutoLoot.Storage_On_Gold) == 1 then addEvent(AutoLoot.Message, 500, cid) end end return true end

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!

×
×
  • Create New...