Ir para conteúdo

Weslley Kiyo

Membro
  • Registro em

  • Última visita

Tudo que Weslley Kiyo postou

  1. <item id="2173" article="an" name="amulet of loss"> <attribute key="weight" value="420"/> <attribute key="slotType" value="necklace"/> <attribute key="preventDrop" value="1"/> <attribute key="absorbPercentPhysical" value="5"/> <attribute key="absorbPercentFire" value="5"/> <attribute key="absorbPercentIce" value="5"/> <attribute key="absorbPercentEarth" value="5"/> <attribute key="absorbPercentDeath" value="5"/> <attribute key="absorbPercentHoly" value="5"/> <attribute key="absorbPercentEnergy" value="5"/> </item> Onde value="5" é 5% que vai absorver de dano
  2. Tenta ae function onUse(cid, item, fromPosition, itemEx, toPosition) local z = { wall1 = {x=191, y=371, z=8, stackpos=1}, -- Pos da wall 1. wall2 = {x=192, y=371, z=8, stackpos=1}, -- Pos da wall 2. npcName = "lord", -- Nome do Npc que sera sumonado. npcPos = {x=191, y=370, z=8}, -- Pos onde o NPC será sumonado. storage = 15000, -- Storage da quest ou sla o quê. cama1 = 1756, -- Id da nova cama, parte de superior(parte com a cabeça). cama2 = 1757 -- Id da nova cama, parte inferior(parte dos pés). } getwall1 = getThingfromPos(z.wall1) getwall2 = getThingfromPos(z.wall2) queststatus = getPlayerStorageValue(cid,z.storage) if queststatus == -1 then doPlayerSendTextMessage(cid,25,"Você encontrou uma chave escondida.") key_uid = doPlayerAddItem(cid,2160,1) doItemSetAttribute(key_uid, 'aid', 133) doSendMagicEffect(getPlayerPosition(cid),CONST_ME_MAGIC_BLUE) setPlayerStorageValue(cid,z.storage,1) else quest = getPlayerStorageValue(cid,1530) if quest == -1 then local camaa1 = doTransformItem(getwall1.uid,1756) local camaa2 = doTransformItem(getwall2.uid,1757) doItemSetAttribute(camaa1, "aid", 0) doItemSetAttribute(camaa2, "aid", 0) doPlayerSendTextMessage(cid,22,"Voce despertou o lord.") doSummonCreature(z.npcName, z.npcPos) setPlayerStorageValue(cid,1530,1) end end return true end
  3. Adicionado um sistema em todos os npcs para que os jogadores tenham conhecimento de quais são as perguntas que se podem fazer para tal npc (não aparece falas de quests). Basta dizer: keywords Se vocês perceberem, todas as falas dos npcs são únicas. Tudo retirado do TibiaRoyal e TibiaWiki!
  4. function onUse(cid, item, item2, topos, frompos) local config = { time = 1, -- Tempo em minutos para usar novamente level = 1, -- Level minimo para dar USE storage = 42007, -- Não Altere Isso efeito = 28 -- Efeito que vai fazer } local monsters = {{"Demon", 3}, {"Minotaur", 3}, {"orc", 3}} -- Adicionar monstros aqui. O ultimo não pode ter virgula! local array = {} -- não mecha aqui if getPlayerLevel(cid) <= config.level then return doPlayerSendCancel(cid, "You do not have enough level to use this.") end if getPlayerStorageValue(cid, config.storage) > os.time() then local minutes = (math.ceil((getPlayerStorageValue(cid, config.storage) - os.time())/60)) local s = (math.ceil(((getPlayerStorageValue(cid, config.storage) - os.time())/60)) == 1 and "" or "s") return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Wait ".. minutes .." minute".. s .." to use again.") end pos = getThingPos(cid) doSendMagicEffect(pos, config.efeito) --setPlayerStorageValue(cid, config.storage, config.time * 60 + os.time()) local rand = array[math.random(#array)] for k, rand in ipairs(monsters[1]) do doCreateMonster(rand, getClosestFreeTile(cid, frompos)) end return true end
  5. http://www.tibiaking.com/forum/forums/topic/73388-help-porta-premium-account-ot-server-800/
  6. function onUse(cid, item, item2, topos, frompos) local config = { time = 2, -- Tempo em minutos para usar novamente level = 1, -- Level minimo para dar USE storage = 42007, -- Não Altere Isso efeito = 28 -- Efeito que vai fazer } local monsters = {{"Demon", 3}, {"Minotaur", 3}, {"orc", 3}} -- Adicionar monstros aqui. O ultimo não pode ter virgula! local array = {} -- não mecha aqui if getPlayerLevel(cid) <= config.level then return doPlayerSendCancel(cid, "You do not have enough level to use this.") end if getPlayerStorageValue(cid, config.storage) > os.time() then local minutes = (math.ceil((getPlayerStorageValue(cid, config.storage) - os.time())/60)) local s = (math.ceil(((getPlayerStorageValue(cid, config.storage) - os.time())/60)) == 1 and "" or "s") return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Wait ".. minutes .." minute".. s .." to use again.") end pos = getThingPos(cid) doSendMagicEffect(pos, config.efeito) setPlayerStorageValue(cid, config.storage, config.time * 60 + os.time()) local rand = array[math.random(#array)] for j = 1, rand[2] do doCreateMonster(rand[1], getClosestFreeTile(cid, frompos)) end return true end Agora vai, eu confio no coração das cartas huewhuehwu OBS: desculpa, é pq ontem e hoje ando ocupado por isso não tenho como testa-los aqui.
  7. function onUse(cid, item, item2, topos, frompos) local config = { time = 2, -- Tempo em minutos para usar novamente level = 1, -- Level minimo para dar USE storage = 42007, -- Não Altere Isso efeito = 28 -- Efeito que vai fazer } local monsters = {"Demon", "Minotaur", "orc"} -- Adicionar monstros aqui. O ultimo não pode ter virgula! if getPlayerLevel(cid) <= config.level then return doPlayerSendCancel(cid, "You do not have enough level to use this.") end if getPlayerStorageValue(cid, config.storage) > os.time() then local minutes = (math.ceil((getPlayerStorageValue(cid, config.storage) - os.time())/60)) local s = (math.ceil(((getPlayerStorageValue(cid, config.storage) - os.time())/60)) == 1 and "" or "s") return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Wait ".. minutes .." minute".. s .." to use again.") end pos = getThingPos(cid) doSendMagicEffect(pos, config.efeito) setPlayerStorageValue(cid, config.storage, config.time * 60 + os.time()) for i=1, math.random(1, 3) do doSummonMonster(monsters[math.random(1,#monsters)], getThingPos(cid)) end return true end Ou function onUse(cid, item, item2, topos, frompos) local config = { time = 2, -- Tempo em minutos para usar novamente level = 1, -- Level minimo para dar USE storage = 42007, -- Não Altere Isso efeito = 28 -- Efeito que vai fazer } local monsters = {"Demon", "Minotaur", "orc"} -- Adicionar monstros aqui. O ultimo não pode ter virgula! if getPlayerLevel(cid) <= config.level then return doPlayerSendCancel(cid, "You do not have enough level to use this.") end if getPlayerStorageValue(cid, config.storage) > os.time() then local minutes = (math.ceil((getPlayerStorageValue(cid, config.storage) - os.time())/60)) local s = (math.ceil(((getPlayerStorageValue(cid, config.storage) - os.time())/60)) == 1 and "" or "s") return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Wait ".. minutes .." minute".. s .." to use again.") end pos = getThingPos(cid) doSendMagicEffect(pos, config.efeito) setPlayerStorageValue(cid, config.storage, config.time * 60 + os.time()) for i=1, math.random(1, 3) do doCreateMonster(monsters[math.random(1,#monsters)], topos) end return true end ou function onUse(cid, item, item2, topos, frompos) local config = { time = 2, -- Tempo em minutos para usar novamente level = 1, -- Level minimo para dar USE storage = 42007, -- Não Altere Isso efeito = 28 -- Efeito que vai fazer } local monsters = {"Demon", "Minotaur", "orc"} -- Adicionar monstros aqui. O ultimo não pode ter virgula! if getPlayerLevel(cid) <= config.level then return doPlayerSendCancel(cid, "You do not have enough level to use this.") end if getPlayerStorageValue(cid, config.storage) > os.time() then local minutes = (math.ceil((getPlayerStorageValue(cid, config.storage) - os.time())/60)) local s = (math.ceil(((getPlayerStorageValue(cid, config.storage) - os.time())/60)) == 1 and "" or "s") return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Wait ".. minutes .." minute".. s .." to use again.") end pos = getThingPos(cid) doSendMagicEffect(pos, config.efeito) setPlayerStorageValue(cid, config.storage, config.time * 60 + os.time()) for i=1, math.random(1, 3) do doSummonMonster(monsters[math.random(1,#monsters)], topos) end return true end
  8. function onUse(cid, item, item2, topos, frompos) local config = { time = 2, -- Tempo em minutos para usar novamente level = 1, -- Level minimo para dar USE storage = 42007, -- Não Altere Isso efeito = 28 -- Efeito que vai fazer } local monsters = {"Demon", "Minotaur", "orc"} -- Adicionar monstros aqui. O ultimo não pode ter virgula! if getPlayerLevel(cid) <= config.level then return doPlayerSendCancel(cid, "You do not have enough level to use this.") end if getPlayerStorageValue(cid, config.storage) > os.time() then local minutes = (math.ceil((getPlayerStorageValue(cid, config.storage) - os.time())/60)) local s = (math.ceil(((getPlayerStorageValue(cid, config.storage) - os.time())/60)) == 1 and "" or "s") return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Wait ".. minutes .." minute".. s .." to use again.") end pos = getThingPos(cid) doSendMagicEffect(pos, config.efeito) setPlayerStorageValue(cid, config.storage, config.time * 60 + os.time()) for i=1, math.random(1, 3) do doCreateMonster(monsters[math.random(1,#monsters)], getThingPos(cid)) end return true end Vê se funfa...
  9. function onUse(cid, item, item2, topos, frompos) local config = { time = 2, -- Tempo em minutos para usar novamente level = 1, -- Level minimo para dar USE storage = 42007, -- Não Altere Isso efeito = 28 -- Efeito que vai fazer } if getPlayerLevel(cid) <= config.level then return doPlayerSendCancel(cid, "You do not have enough level to use this.") end if getPlayerStorageValue(cid, config.storage) > os.time() then local minutes = (math.ceil((getPlayerStorageValue(cid, config.storage) - os.time())/60)) local s = (math.ceil(((getPlayerStorageValue(cid, config.storage) - os.time())/60)) == 1 and "" or "s") return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Wait ".. minutes .." minute".. s .." to use again.") end pos = getThingPos(cid) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You summon a Demon.") -- Editar o nome do monstro doSendMagicEffect(pos, config.efeito) setPlayerStorageValue(cid, config.storage, config.time * 60 + os.time()) doCreateMonster("Demon", topos) return true end Retirei o for! Caso precise que sumone mais de um monstro, você avisa q adiciono o for no 'CreateMonster' OBS: Por favor, não use letras tão grandes para comentar.
  10. function onUse(cid, item, item2, topos, frompos) local config = { time = 2, -- Tempo em minutos para usar novamente level = 1, -- Level minimo para dar USE storage = 42007, -- Não Altere Isso efeito = 28 -- Efeito que vai fazer } local positions = { { x = 1000, y = 1000, z = 7 } -- Monster Position } if getPlayerLevel(cid) <= config.level then return doPlayerSendCancel(cid, "You do not have enough level to use this.") end if getPlayerStorageValue(cid, config.storage) > os.time() then local minutes = (math.ceil((getPlayerStorageValue(cid, config.storage) - os.time())/60)) local s = (math.ceil(((getPlayerStorageValue(cid, config.storage) - os.time())/60)) == 1 and "" or "s") return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Wait ".. minutes .." minute".. s .." to use again.") end pos = getThingPos(cid) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You summon a Demon.") -- Editar o nome do monstro doSendMagicEffect(pos, config.efeito) setPlayerStorageValue(cid, config.storage, config.time * 60 + os.time()) for i = 1, 1 do doCreateMonster("Demon", positions[i]) end return true end <action actionid="42007" event="script" value="other/banana.lua"/> OBS: Ele adiciona um storagevalue no player... Então vai ser 2 minutos (por player). Caso você queira mais de 1 monstro, só adicicionar... local position = { { x = 1000, y = 1000, z = 7 }, -- Monster Position { x = 1001, y = 1000, z = 7 }, -- Monster Position { x = 1002, y = 1000, z = 7 } -- Monster Position } Lembrando que, o ultimo não pode ter , E mudar o ultimo valor no for. Exemplo, 3 monstros; for i = 1, 3 do Sendo o ultimo número, a quantidade total de monstros
  11. local cfg = { knight = {2430}, paladin = {2173}, sorcerer = {2189}, druid = {8857}, } function onUse(cid, item) if getPlayerStorageValue(cid, 38493) < 1 then if getPlayerVocation(cid) == 4 or getPlayerVocation(cid) == 8 then if doPlayerAddItem(cid, cfg.knight[1], 1) then doPlayerSendTextMessage(cid, 25, "Congratulations!!") doPlayerSetStorageValue(cid, 38493, 1) else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") end elseif getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 5 then if doPlayerAddItem(cid, cfg.sorcerer[1], 1) then doPlayerSendTextMessage(cid, 25, "Congratulations!!") doPlayerSetStorageValue(cid, 38493, 1) else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") end elseif getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 6 then if doPlayerAddItem(cid, cfg.druid[1], 1) then doPlayerSendTextMessage(cid, 25, "Congratulations!!") doPlayerSetStorageValue(cid, 38493, 1) else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") end elseif getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 7 then if doPlayerAddItem(cid, cfg.paladin[1], 1) then doPlayerSendTextMessage(cid, 25, "Congratulations!!") doPlayerSetStorageValue(cid, 38493, 1) else doPlayerSendTextMessage(cid,25,"ERROR! Please contact the administrator.") end end elseif getPlayerStorageValue(cid, 38493) >= 1 then doPlayerSendCancel(cid, "It's empty.") end return true end
  12. Começo da Trainning Room - TOP !!
  13. Bem, visto que alguns servidores estão copiando ideias nossas para seus servidores, resolvi dar uma pausa nas atualizações aqui mas fiquem tranquilos pois o projeto está em andamento com toda sua força. Uma foto, uma breve visão sobre a área de treino do servidor LEMBRANDO: A área de treino ainda não está concluída. Faltam detalhes e algumas partes para finalizar. Bem, por hoje é só! Anteciosadamente, Weslley.
  14. Weslley Kiyo postou uma resposta no tópico em Playground (Off-topic)
    Ta parecendo o mini davy jones! jkEWKEOPWKEPOWKo
  15. Eu não vou mentir. Estava fazendo do primeiro modo porém ainda da tempo de corrigir Muito obrigado @Comedinha pelas dicas
  16. Nesse caso, qual seria o correto? elseif msgcontains(msg, "yes") then if npcHandler.topic[cid] == 1 then if getPlayerItemCount(cid, 2677) >= 5 then -- blueberries npcHandler:say("It was a great help! If you have more you can come.", cid) doPlayerRemoveItem(cid, 2677, 5) -- honey flower doPlayerAddMoney(cid, 1) -- dinheiro (1 gold) npcHandler.topic[cid] = 0 else npcHandler:say("You don't have it... Buy from 5 blueberries.", cid) end end elseif msgcontains(msg, "yes") then if npcHandler.topic[cid] == 1 then if getPlayerItemCount(cid, 2677) >= 5 then -- blueberries if doPlayerRemoveItem(cid, 2677, 5) then -- honey flower npcHandler:say("It was a great help! If you have more you can come.", cid) doPlayerAddMoney(cid, 1) -- dinheiro (1 gold) npcHandler.topic[cid] = 0 else npcHandler:say("Error 404! Contact the administrator.", cid) npcHandler:releaseFocus(cid) end else npcHandler:say("You don't have it... Buy from 5 blueberries.", cid) end end
  17. Tem do npc bank também. Você precisa fazer um que sempre use check no valor para saber se é verdadeiro. Vejo muitos scritps de bank que nem possui check. E o shopsystem é bom deixa-lo para enviar o item sempre para o depot. Assim, evitando possíveis bugs!
  18. + um motivo que eu estou fazendo meu servidor limpo, script por script
  19. NPC's Estão com todas as falas completas originais do Global! (deu trabalho, mas é algo que completa o servidor) Falas de textos grandes, estão com um tempo de 4seg (evitar spam). Você vai cancelar o texto caso feche a aba 'npc', caso fale bye,caso saia de perto ou se falar com outro npc OBS: Npc Grizzly Adams está localizado nas principais cidades (carlin, thais, ab'dendriel e venore), sempre perto do Depot! Estou desenvolvendo um sistema para os npc's de viagens cobrarem pelo bank caso o player não esteja com dinheiro na mochila (função ativada apenas para player VIP). Essa ideia ainda não foi implementada. Por favor, postem o'que acharam dessa ideia.
  20. Annihilator Quest 100% completa!
  21. Então, todo mundo conhece o famoso POT= que nas versões antigas eram exelentes em guerras e PVP trapando players... Vocês acham que devo por este item como blocking(trap player) na versão 8.60? Pf, comentem! Acompanhe também meu projeto Global clicando aqui!
  22. Draconia tem um npc chamado 'an old dragonlord'. Acabei criando e colocando a função dele. TODAS AS QUESTS DO SERVIDOR, FINALIZADAS (todas que não envolvem NPC's). Agora, vem a parte chata do projeto, criar todas as quests que envolvem npc...
  23. Muito obrigado por gostar do projeto! E agradeço muito o incentivo :D
  24. Obrigado! Ainda não temos uma data exata mas estou postando sempre que posso atualizações aqui. Ainda faltam quests e missões de NPC's para finalizar, isso leva um tempo =/
  25. Bright Sword Quest 100% SEM BARRIL COM BARRIL OBS: A alavanca pode ser usada várias vezes podendo abrir e fechar está área da quest (porém, é necessário o Power Ring na parte 1 da quest).

Informação Importante

Confirmação de Termo