Postado Novembro 18, 2020 4 anos e quem estiver na area matando o boss? fica lá? é teleportado? o boss some? me chama discord [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Novembro 18, 2020 4 anos 10 minutos atrás, Vodkart disse: e quem estiver na area matando o boss? fica lá? é teleportado? o boss some? me chama discord Vou deixar o like pq eu sei que você consegue resolver
Postado Novembro 19, 2020 4 anos Autor @Vodkart Passa seu discord pois nao tenho. 14 horas atrás, Vodkart disse: e quem estiver na area matando o boss? fica lá? é teleportado? o boss some? me chama discord @Vodkarta ideia e de um castle que estou fazendo, queria que tivesse 2 geradores 1 na esquerda e outro na direita e assim que DESTRUIR os 2, nao importa qual for destruido primeiro, mas somente aparecer o TELEPORT no meio do castle quando os 2 forem destruidos. E esse teleporte duraria 10m aberto e depois fechar, e as guild que for morrendo dentro do TP vai ter q voltar e destruir de novo os geradores. Editado Novembro 19, 2020 4 anos por daniel.braga989 (veja o histórico de edições)
Postado Novembro 21, 2020 4 anos Solução Estou sem internet, por isso só consegui olhar hoje auhauha Caso não tenha conseguido ainda, eu fiz uma Action (acredito que seja melhor). O jogador irá dar USE no item que tiver a actionid, se não tiver bosses vivos um portal será aberto, senão, uma mensagem aparecerá informando que ainda estão vivos. Eu coloquei alguns comentários no script, pra facilitar o entendimento. As posições você vai pegar uma da ponta superior esquerda, e uma da ponta inferior direita. Utilizando sua imagem de exemplo: https://i.imgur.com/OT8wbks.png Crie um arquivo .lua dentro da pasta (Data > Actions > Scripts) , copie todo o código e cole no arquivo criado. Spoiler local monsters = {"Hero", "Apolo"} -- Nomes dos monstros para fazer a checagem se estão vivos. local area = { -- Do menor pro maior, assim como no exemplo abaixo: {x = 568, y = 525, z = 6}, -- Ponta superior Esquerda do mapa. (Primeira POS) {x = 577, y = 531, z = 6} -- Ponta inferior Direita do mapa. (Segunda POS) } local config = { messages = { [1] = "O portal já está aberto, corra enquanto há tempo.", [2] = "Derrote todos os bosses para que o portal seja aberto." }, toCreate = {x = 571, y = 526, z = 6}, -- Lugar que será criado o portal. toGo = {x = 573, y = 526, z = 5}, -- Lugar que o portal irá levar o jogador. id = 1387, -- ID do portal. eff = 10, -- Efeito ao criar o portal. time = 10 -- Tempo que o portal será fechado (em minutos). } local function getMonstersInArea(area, monsters) for x = area[1].x - 1, area[2].x + 1 do for y = area[1].y - 1, area[2].y + 1 do local pos = {x=x, y=y, z=area[1].z} local m = getTopCreature(pos).uid if m ~= 0 and isMonster(m) and isInArray(monsters, getCreatureName(m)) then return true end end end return false end local function doRemoveTeleport() local effect = 10 -- Efeito ao remover o portal. local teleport = getTileItemById(config.toCreate, config.id) doSendMagicEffect(config.toCreate, effect) doRemoveItem(teleport.uid, 1) end function onUse(cid, item, frompos, item2, topos) if getTileItemById(config.toCreate, config.id).uid < 1 then if not getMonstersInArea(area, monsters) then doSendMagicEffect(config.toCreate, config.eff) doCreateTeleport(config.id, config.toGo, config.toCreate) addEvent(doRemoveTeleport, config.time * 60 * 1000) else doPlayerSendTextMessage(cid, 21, config.messages[2]) end else doPlayerSendTextMessage(cid, 21, config.messages[1]) end return true end Agora em actions.xml, adicione esta tag: <action actionid="2683" event="script" value="nome do arquivo criado.lua"/> -- Em actionid="2683" coloque um valor que não esteja sendo utilizado Após adicionar, este deve ser o resultado (RIP qualidade): Portal.mp4 Editado Novembro 21, 2020 4 anos por Pisces (veja o histórico de edições)
Postado Novembro 21, 2020 4 anos Autor 1 hora atrás, Pisces disse: Estou sem internet, por isso só consegui olhar hoje auhauha Caso não tenha conseguido ainda, eu fiz uma Action (acredito que seja melhor). O jogador irá dar USE no item que tiver a actionid, se não tiver bosses vivos um portal será aberto, senão, uma mensagem aparecerá informando que ainda estão vivos. Eu coloquei alguns comentários no script, pra facilitar o entendimento. As posições você vai pegar uma da ponta superior esquerda, e uma da ponta inferior direita. Utilizando sua imagem de exemplo: https://i.imgur.com/OT8wbks.png Crie um arquivo .lua dentro da pasta (Data > Actions > Scripts) , copie todo o código e cole no arquivo criado. Mostrar conteúdo oculto local monsters = {"Hero", "Apolo"} -- Nomes dos monstros para fazer a checagem se estão vivos. local area = { -- Do menor pro maior, assim como no exemplo abaixo: {x = 568, y = 525, z = 6}, -- Ponta superior Esquerda do mapa. (Primeira POS) {x = 577, y = 531, z = 6} -- Ponta inferior Direita do mapa. (Segunda POS) } local config = { messages = { [1] = "O portal já está aberto, corra enquanto há tempo.", [2] = "Derrote todos os bosses para que o portal seja aberto." }, toCreate = {x = 571, y = 526, z = 6}, -- Lugar que será criado o portal. toGo = {x = 573, y = 526, z = 5}, -- Lugar que o portal irá levar o jogador. id = 1387, -- ID do portal. eff = 10, -- Efeito ao criar o portal. time = 10 -- Tempo que o portal será fechado (em minutos). } local function getMonstersInArea(area, monsters) for x = area[1].x - 1, area[2].x + 1 do for y = area[1].y - 1, area[2].y + 1 do local pos = {x=x, y=y, z=area[1].z} local m = getTopCreature(pos).uid if m ~= 0 and isMonster(m) and isInArray(monsters, getCreatureName(m)) then return true end end end return false end local function doRemoveTeleport() local effect = 10 -- Efeito ao remover o portal. local teleport = getTileItemById(config.toCreate, config.id) doSendMagicEffect(config.toCreate, effect) doRemoveItem(teleport.uid, 1) end function onUse(cid, item, frompos, item2, topos) if getTileItemById(config.toCreate, config.id).uid < 1 then if not getMonstersInArea(area, monsters) then doSendMagicEffect(config.toCreate, config.eff) doCreateTeleport(config.id, config.toGo, config.toCreate) addEvent(doRemoveTeleport, config.time * 60 * 1000) else doPlayerSendTextMessage(cid, 21, config.messages[2]) end else doPlayerSendTextMessage(cid, 21, config.messages[1]) end return true end Agora em actions.xml, adicione esta tag: <action actionid="2683" event="script" value="nome do arquivo criado.lua"/> -- Em actionid="2683" coloque um valor que não esteja sendo utilizado Após adicionar, este deve ser o resultado (RIP qualidade): Portal.mp4 287 kB · 0 downloads Testei aqui brother e está 100% funcionando, Fico muito grato por ter tirado um tempinho e vindo aqui da essa força, pois sei que o dia de voces e corrido. Obrigado Sucesso pra tu. (OBRIGADO A TODOS QUE TENTOU AJUDAR AMO VOCES ) Editado Novembro 21, 2020 4 anos por daniel.braga989 (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.