Ir para conteúdo

Featured Replies

Postado

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á.
 

Postado

local function onCastSpell4(parameters)
local target = getCreatureTarget(cid)
if isCreature(target) == TRUE then   -- adiciona isso para verificar se o alvo é valido
addEvent(fear, 0, target)
doCombat(parameters.cid, parameters.combat4, parameters.var)
addEvent(onCastSpell3, 800, parameters)
end
end

Toda terça-feira um tópico novo:

Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/

Peça sua spell (Suporte):                https://tibiaking.com/forums/topic/84162-peça-sua-spell/                        

Chuva de flechas (Spell):                https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/

Doom (Spell):                                https://tibiaking.com/forums/topic/51622-doom-spell/

Utilização do VS Code (Infra)       https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/

SD com Combo (Spell):                 https://tibiaking.com/forums/topic/94520-sd-modificada/

Alteração attack speed (C++):        https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/  

Bônus de Speed (NPC)                  https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
 

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