Ir para conteúdo

[Encerrado] Como executar vários addEvent sem erro?


gabriel28

Posts Recomendados

Como diz o título, minha dúvida é em como executar mais de um addEvent sem retornar erro no console.
Uso script de spells com mais de um attack, e pro efeito sair certinho em cima do target eu pego a pos dele, e, como é de se esperar, se o target morrer antes da spell terminar, retorna erro no console.

Script de uma das spells:

Spoiler

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
function onGetFormulaValues(cid, level, maglevel)
	min = -(level * 9 + maglevel * 12) * 1.5
	max = -(level * 12 + maglevel * 15) * 2.5

	return min, max
end

setCombatCallback(combat1, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
function onGetFormulaValues(cid, level, maglevel)
	min = -(level * 9 + maglevel * 12) * 1.5
	max = -(level * 12 + maglevel * 15) * 2.5

	return min, max
end

setCombatCallback(combat2, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
function onGetFormulaValues(cid, level, maglevel)
	min = -(level * 9 + maglevel * 12) * 1.5
	max = -(level * 12 + maglevel * 15) * 2.5

	return min, max
end

setCombatCallback(combat3, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local combat4 = createCombatObject()
setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
function onGetFormulaValues(cid, level, maglevel)
	min = -(level * 9 + maglevel * 12) * 1.5
	max = -(level * 12 + maglevel * 15) * 2.5

	return min, max
end

setCombatCallback(combat4, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local combat5 = createCombatObject()
setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
function onGetFormulaValues(cid, level, maglevel)
	min = -(level * 9 + maglevel * 12) * 1.5
	max = -(level * 12 + maglevel * 15) * 2.5

	return min, max
end

setCombatCallback(combat5, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local combat6 = createCombatObject()
setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
function onGetFormulaValues(cid, level, maglevel)
	min = -(level * 9 + maglevel * 12) * 1.5
	max = -(level * 12 + maglevel * 15) * 2.5

	return min, max
end

setCombatCallback(combat6, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local function onCastSpell1(cid, var)
local fromPos = getCreaturePosition(cid)
local target = getCreatureTarget(cid)
local monsterpos = getCreaturePosition(target)
local position = {x=monsterpos.x+1, y=monsterpos.y+1, z=monsterpos.z}
	doSendDistanceShoot(fromPos, position, 9)
	doSendMagicEffect(position, 15)
    return doCombat(cid, combat1, var)
end

local function onCastSpell2(cid, var)
local fromPos1 = getCreaturePosition(cid)
local target = getCreatureTarget(cid)
local monsterpos = getCreaturePosition(target)
local position1 = {x=monsterpos.x, y=monsterpos.y+1, z=monsterpos.z}
	doSendDistanceShoot(fromPos1, position1, 9)
	doSendMagicEffect(position1, 15)
    return doCombat(cid, combat2, var)
end

local function onCastSpell3(cid, var)
local fromPos2 = getCreaturePosition(cid)
local target = getCreatureTarget(cid)
local monsterpos = getCreaturePosition(target)
local position2 = {x=monsterpos.x+1, y=monsterpos.y-1, z=monsterpos.z}
	doSendDistanceShoot(fromPos2, position2, 9)
	doSendMagicEffect(position2, 15)
    return doCombat(cid, combat3, var)
end

local function onCastSpell4(cid, var)
local fromPos3 = getCreaturePosition(cid)
local target = getCreatureTarget(cid)
local monsterpos = getCreaturePosition(target)
local position3 = {x=monsterpos.x+1, y=monsterpos.y, z=monsterpos.z}
	doSendDistanceShoot(fromPos3, position3, 9)
	doSendMagicEffect(position3, 15)
     return doCombat(cid, combat4, var)
end

local function onCastSpell5(cid, var)
local fromPos4 = getCreaturePosition(cid)
local target = getCreatureTarget(cid)
local monsterpos = getCreaturePosition(target)
local position4 = {x=monsterpos.x, y=monsterpos.y, z=monsterpos.z}
	doSendDistanceShoot(fromPos4, position4, 9)
	doSendMagicEffect(position4, 15)
     return doCombat(cid, combat5, var)
end

local function onCastSpell6(cid, var)
local fromPos5 = getCreaturePosition(cid)
local target = getCreatureTarget(cid)
local monsterpos = getCreaturePosition(target)
local position5 = {x=monsterpos.x, y=monsterpos.y, z=monsterpos.z}
	doSendDistanceShoot(fromPos5, position5, 9)
	doSendMagicEffect(position5, 15)
     return doCombat(cid, combat6, var)
end

function onCastSpell(cid, var)
local waittime = 2
local storage = 5870

if exhaustion.check(cid, storage) then
return false
end
addEvent(onCastSpell1, 0, cid, var)    
addEvent(onCastSpell2, 400, cid, var)       
addEvent(onCastSpell3, 800, cid, var)       
addEvent(onCastSpell4, 1200, cid, var)
addEvent(onCastSpell5, 1600, cid, var)
addEvent(onCastSpell6, 2000, cid, var)

exhaustion.set(cid, storage, waittime)
return true       
   
end

 

 

Agradeço desde já.

Link para o comentário
Compartilhar em outros sites

A questão neste suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...