Ir para conteúdo

[creaturescript] Como diminuir a velocidade do distance effect?

Featured Replies

Postado
10 horas atrás, poko360 disse:

eu tentei ja, esse tempo é outra coisa, é tipo o tempo de execução do {x=p.x-1, y=p.y+1, z=p.z}  --para---> {x=p.x-1, y=p.y-1, z=p.z}


tipo assim, o tempo de intervalo de cada linha

^    --------> |
|                  |                 
|    PLAYER   |
|                 \/
<--------------

se eu boto time= 1000
ele executa uma linha em 1 segundo, dps no outro segundo ele executa outra....


 dps no outro segundo ele executa outra....


 dps no outro segundo ele executa outra....


 dps no ULTIMO segundo ele executa outra....


até a quarta linha ser completa
(o problema é o intervalo de tempo em uma linha, que parece um fast atk)

@Vodkart @mateusmoretti @tirso

Deixei 500 de delay, não sei se vai funcionar, mas qualquer coisa da pra alterar o valor.

function onThink(cid, interval)
local tempo = 300
local distance_effect = 18
local function getPosDirs(p, dir)
    return dir == 1 and {x=p.x-1, y=p.y+1, z=p.z} or dir == 2 and {x=p.x-1, y=p.y-1, z=p.z} or dir == 3 and {x=p.x+1, y=p.y-1, z=p.z} or dir == 4 and {x=p.x+1, y=p.y+1, z=p.z} or dir == 5 and {x=p.x-1, y=p.y+1, z=p.z}
end
local f = 1
local function executeEffect(cid)
    if isCreature(cid) then
        addEvent(doSendDistanceShoot, 500, (getPosDirs(getThingPos(cid), f), getPosDirs(getThingPos(cid), f+1), distance_effect))
        if f == 4 then
            f = 1
        else
            f = f + 1
        end
        addEvent(executeEffect, tempo, cid)
    end
end
if getPlayerPremiumDays(cid) >= 1 and getPlayerGroupId(cid) < 4 then
executeEffect(cid)
end
    return true
end

 

asdukeeh.jpg

  • Respostas 12
  • Visualizações 1.1k
  • Created
  • Última resposta

Top Posters In This Topic

Posted Images

Postado
8 minutos atrás, poko360 disse:
function onThink(cid, interval)
local tempo = 300
local distance_effect = 18
local function getPosDirs(p, dir)
    return dir == 1 and {x=p.x-1, y=p.y+1, z=p.z} or dir == 2 and {x=p.x-1, y=p.y-1, z=p.z} or dir == 3 and {x=p.x+1, y=p.y-1, z=p.z} or dir == 4 and {x=p.x+1, y=p.y+1, z=p.z} or dir == 5 and {x=p.x-1, y=p.y+1, z=p.z}
end
local f = 1
local function executeEffect(cid)
    if isCreature(cid) then
		addEvent(doSendDistanceShoot, 500, getPosDirs(getThingPos(cid), f), getPosDirs(getThingPos(cid), f+1), distance_effect)
        if f == 4 then
            f = 1
        else
            f = f + 1
        end
        addEvent(executeEffect, tempo, cid)
    end
end
if getPlayerPremiumDays(cid) >= 1 and getPlayerGroupId(cid) < 4 then
executeEffect(cid)
end
    return true
end
 

Testa ai.

asdukeeh.jpg

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo