Ir para conteúdo

Featured Replies

Postado
  • Autor
  • Solução

Um amigo conseguiu arrumar, vou está deixando aqui caso outra pessoa tbm precise. Abraço @Fabi Marzan obrigado por tentar ajudar mano, por mais gente assim na comunidade.

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_TEAL)
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 42)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -35.0, 0, -40.5, 0)
 
local function onCastSpell1(parameters)
if isCreature(parameters.cid) and getCreatureTarget(parameters.cid) then
return isCreature(parameters.cid) and doCombat(parameters.cid, parameters.combat1, parameters.var)
end
end
 
function rk1(cid)
    if isCreature(cid) and isCreature(getCreatureTarget(cid)) then
        local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+0, y=getThingPosition(getCreatureTarget(cid)).y+0, z=getThingPosition(getCreatureTarget(cid)).z}
        doSendMagicEffect(position1, 32)
    end
end
 
function onCastSpell(cid, var)
local parameters = {cid = cid, var = var, combat1 = combat1}
 
for k = 1, 10 do
    addEvent(function()
        if isCreature(cid) then
            addEvent(onCastSpell1, 1, parameters)
        end
    end, 1 + ((k-1) * 225))
end
for i = 1, 10 do
    addEvent(function()
        if isCreature(cid) then
            addEvent(rk1,1,cid)
        end
    end, 1 + ((i-1) * 225))
end
return true
end

  • Respostas 6
  • Visualizações 863
  • Created
  • Última resposta

Top Posters In This Topic

Posted Images

Postado

@daniel.braga989 Se você notar, quando você parar de atacar o efeito para, não dá erro, mas para quando perde o alvo.

@daniel.braga989 Os scripts que eu te passo, resolvem todos esses problemas apenas usando essas funções.

 

function effect_1(cid, target) -- NOME DO FUCTION (EFFECT_1)
  if isCreature(cid) and isCreature(target) then
		local pos = getCreaturePosition(target)
		doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 32) -- Effect
	end
end

Abaixo do function onCastSpell(cid, var)
Você coloca isso:
 

local config = {
hit = 1, -- Hits que vai dar
time = 500, -- Delay (time for effect)
configtarget = getCreatureTarget(cid),
}
for a = 1, config.hit do
addEvent(effect_1, config.time * a, cid, config.configtarget) -- Se você olhar, você obterá o nome da função (effect_1)   
end

Você deseja obter outra função com outros hits e tempo?

O mesmo

function effect_2(cid, target) -- NOME DO FUCTION (EFFECT_2) agr e 2.
  if isCreature(cid) and isCreature(target) then
		local pos = getCreaturePosition(target)
		doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 32) -- Effect
	end
end

O mesmo adiciona outro hit e tempo

local config = {
hit = 1, -- Hits que vai dar
hit2 = 2, -- Hits que vai dar (Outro Hit para funcao do Effect_2)
time = 500, -- Delay (time for effect)
time2 = 500, -- Delay (time for effect) -- (Tempo para funcao do Effect_2)
configtarget = getCreatureTarget(cid),
}

Então o final seria assim

for a = 1, config.hit do
addEvent(effect_1, config.time * a, cid, config.configtarget)	
for a = 1, config.hit2 do -- (Hit2 pra funcao Effect_2)
addEvent(effect_2, config.time2 * a, cid, config.configtarget)	 
	end
end

A partir daqui é uma questão de saber ler os scripts.

Editado por Fabi Marzan (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.

Visitante
Responder

Quem Está Navegando 0

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

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo