Tudo que Weslley Kiyo postou
-
AMULETO AOL INFINITO
<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
-
(Resolvido)Atualização de script
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
-
Servidor Global (o 8.60 mais completo)
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!
-
Clicar na arvore e sai mostros(Só isso)
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
- (Resolvido)Porta que abre só para Premium Account
-
Clicar na arvore e sai mostros(Só isso)
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.
-
Clicar na arvore e sai mostros(Só isso)
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
-
Clicar na arvore e sai mostros(Só isso)
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...
-
Clicar na arvore e sai mostros(Só isso)
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.
-
Clicar na arvore e sai mostros(Só isso)
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
-
(Resolvido)Ajuda com code de baú personalizado (action, por vocation)
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
-
Servidor Global (o 8.60 mais completo)
Começo da Trainning Room - TOP !!
-
Servidor Global (o 8.60 mais completo)
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.
-
o tempo passa..
Ta parecendo o mini davy jones! jkEWKEOPWKEPOWKo
-
Bug de clonagem de dinheiro/itens
Eu não vou mentir. Estava fazendo do primeiro modo porém ainda da tempo de corrigir Muito obrigado @Comedinha pelas dicas
-
Bug de clonagem de dinheiro/itens
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
-
Bug de clonagem de dinheiro/itens
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!
-
Bug de clonagem de dinheiro/itens
+ um motivo que eu estou fazendo meu servidor limpo, script por script
-
Servidor Global (o 8.60 mais completo)
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.
-
Servidor Global (o 8.60 mais completo)
Annihilator Quest 100% completa!
-
[ENQUETE] POT trapando player versão 8.60
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!
-
Servidor Global (o 8.60 mais completo)
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...
-
Servidor Global (o 8.60 mais completo)
Muito obrigado por gostar do projeto! E agradeço muito o incentivo :D
-
Servidor Global (o 8.60 mais completo)
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 =/
-
Servidor Global (o 8.60 mais completo)
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).