Ir para conteúdo

Posts Recomendados

vai em

data\globalevents\scripts

cria um arquivo com nome parede_que_atira.lua

coloca isso

-- config by uotl£
-- distancia contando os quadros no chao ate chegar a parede resumo tamanho do raio
-- lado_raio 1 ->> 2 <<-- 3 / \  4  |
--                           |     \ /   effect = efeito pos = posição dano = porcentagem do dano
local config = {
    {effect = 30,pos = {x = 143, y = 120, z = 7},distancia = 7,dano = 34,lado_raio = 3},
    --{effect = 29,pos = {x = 131, y = 47, z = 7},distancia = 3,dano = 34,lado_raio = 2},
    --{effect = 28,pos = {x = 131, y = 48, z = 7},distancia = 5,dano = 34,lado_raio = 3},
    --{effect = 28,pos = {x = 131, y = 48, z = 7},distancia = 6,dano = 34,lado_raio = 4}
}
-- config by uotl£
function onThink(cid, interval, lastExecution)
    atirador ()
    return true
end


function atirador ()
    for sinal, valor in pairs(config) do
        for i = 1,valor.distancia do
            if valor.lado_raio == 1 then
                doSendMagicEffect({x = valor.pos.x+i, y = valor.pos.y, z = valor.pos.z},valor.effect)
                check = {x = valor.pos.x+i, y = valor.pos.y, z = valor.pos.z,stackpos=255}
            elseif valor.lado_raio == 2 then
                doSendMagicEffect({x = valor.pos.x-i, y = valor.pos.y, z = valor.pos.z},valor.effect)
                check = {x = valor.pos.x-i, y = valor.pos.y, z = valor.pos.z,stackpos=255}
            elseif valor.lado_raio == 3 then
                doSendMagicEffect({x = valor.pos.x, y = valor.pos.y-i, z = valor.pos.z},valor.effect)
                check = {x = valor.pos.x, y = valor.pos.y-i, z = valor.pos.z,stackpos=255}
            elseif valor.lado_raio == 4 then
                doSendMagicEffect({x = valor.pos.x, y = valor.pos.y+i, z = valor.pos.z},valor.effect)
                check = {x = valor.pos.x, y = valor.pos.y+i, z = valor.pos.z,stackpos=255}
            end
            tmp = getThingFromPos(check)
            if(tmp.uid ~= 0) then
                if isPlayer(tmp.uid) then -- se quer que attack os bichos usa esse "if isCreature(tmp.uid) then"
                    p = (getCreatureMaxHealth(tmp.uid)/100)*valor.dano
                    doCreatureAddHealth(tmp.uid, -p)
                    doSendAnimatedText(getCreaturePosition(tmp.uid), math.ceil (p),145)
                end
            end
        end
    end
end

TAG

em

data\globalevents\globalevents.xml

coloca isso

<globalevent name="parede_que_atira" interval="5" event="script" value="parede_que_atira.lua"/> 

uma demostração em video

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...
  • 1 month later...
×
×
  • Criar Novo...