Postado Outubro 25, 2017 7 anos Ola pessoal, meu pedido é o seguinte. preciso que fique saindo magia das 4 direções < Esqueda | > Direita | \/ Baixo | /\ Cima. do lugar que eu colocar tal ActionID. Que a magia saia de 3 em 3 segundos, E que em cada direção saia 5 SQMS de magia. TFS 0.4 Agradeço desde já ! Editado Outubro 25, 2017 7 anos por OutSider Server (veja o histórico de edições)
Postado Outubro 25, 2017 7 anos Se entendi bem, é para os efeitos ficarem saindo de 3 em 3 segundos numa posição do mapa, certo? Não testei, qualquer coisa só falar. Em globalevents/scripts crie um arquivo.lua: local center = {x=1,y=1,z=1} -- posição central local varX, varY = 5,5 -- quantos sqms em X, quantos sqms em Y a partir do centro local effect = CONST_ME_TELEPORT -- efeito function onThink(interval, lastExecution) for i, v in ipairs(getArea(center, varX, varY)) do if (v.x == center.x or v.y == center.y) and (not doComparePositions(center, v)) then doSendMagicEffect(v, effect) end end return true end Em globalevents.xml, adicione a tag: <globalevent name="EfeitoChao" interval="3000" event="script" value="NOMEDOARQUIVO.lua"/> Aqui em interval="3000", você edita para o tempo que desejar, coloquei 3 segundos como exemplo. Contato: Email: [email protected] Discord: Dwarfer#2715
Postado Outubro 25, 2017 7 anos Autor 3 horas atrás, Dwarfer disse: Se entendi bem, é para os efeitos ficarem saindo de 3 em 3 segundos numa posição do mapa, certo? Não testei, qualquer coisa só falar. Em globalevents/scripts crie um arquivo.lua: local center = {x=1,y=1,z=1} -- posição central local varX, varY = 5,5 -- quantos sqms em X, quantos sqms em Y a partir do centro local effect = CONST_ME_TELEPORT -- efeito function onThink(interval, lastExecution) for i, v in ipairs(getArea(center, varX, varY)) do if (v.x == center.x or v.y == center.y) and (not doComparePositions(center, v)) then doSendMagicEffect(v, effect) end end return true end Em globalevents.xml, adicione a tag: <globalevent name="EfeitoChao" interval="3000" event="script" value="NOMEDOARQUIVO.lua"/> Aqui em interval="3000", você edita para o tempo que desejar, coloquei 3 segundos como exemplo. Bom ele não está dando Dano, eu quero que alem de sair os efeitos, toda vez que o efeito sair de um dano tbm, como se fosse realmente uma magia ! Editado Outubro 25, 2017 7 anos por OutSider Server (veja o histórico de edições)
Postado Outubro 25, 2017 7 anos Solução Não tirou dano porque você não tinha dito que era pra tirar. Enfim: Spoiler local center = {x=1,y=1,z=1} -- posição central local varX, varY = 5,5 -- quantos sqms em X, quantos sqms em Y a partir do centro local effect = CONST_ME_TELEPORT -- efeito local min, max = 100, 200 -- dano mínimo, dano máximo function onThink(interval, lastExecution) for i, v in ipairs(getArea(center, varX, varY)) do if (v.x == center.x or v.y == center.y) and (not doComparePositions(center, v)) then doSendMagicEffect(v, effect) local player = getTopCreature(v).uid if isPlayer(player) then local value = -math.random(min,max) doCreatureAddHealth(player, value) doSendAnimatedText(v, value, COLOR_RED) end end end return true end Contato: Email: [email protected] Discord: Dwarfer#2715
Postado Outubro 25, 2017 7 anos Autor 10 minutos atrás, Dwarfer disse: Não tirou dano porque você não tinha dito que era pra tirar. Enfim: Ocultar conteúdo local center = {x=1,y=1,z=1} -- posição central local varX, varY = 5,5 -- quantos sqms em X, quantos sqms em Y a partir do centro local effect = CONST_ME_TELEPORT -- efeito local min, max = 100, 200 -- dano mínimo, dano máximo function onThink(interval, lastExecution) for i, v in ipairs(getArea(center, varX, varY)) do if (v.x == center.x or v.y == center.y) and (not doComparePositions(center, v)) then doSendMagicEffect(v, effect) local player = getTopCreature(v).uid if isPlayer(player) then local value = -math.random(min,max) doCreatureAddHealth(player, value) doSendAnimatedText(v, value, COLOR_RED) end end end return true end Agradeço !
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.