Ir para conteúdo
  • 0

Cancelar spell ao entrar no pz


212121

Pergunta

Estou com esta spell de bomba relogio do Mkalo e queria que após eu usasse a spell, ao entrar no protection zone enquanto está na contagem de explodir, a spell cancelasse para que a explosão não atingisse o player que ficaria do lado de fora do pz.

 

 

 

 

function getTime(s) -- função by : mkalo
local n = math.floor(s / 60)
s = s - (60 * n)
return n, s
end
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 3)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 6)
setAttackFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 0, 4.8)
arr1 = {
{0, 0, 0},
{0, 3, 0},
{0, 0, 0},
}
arr2 = {
{0, 1, 1, 1, 0},
{1, 1, 1, 1, 1},
{1, 1, 3, 1, 1},
{1, 1, 1, 1, 1},
{0, 1, 1, 1, 0},
}
local area1 = createCombatArea(arr1)
setCombatArea(combat1, area1)
local area2 = createCombatArea(arr2)
setCombatArea(combat2, area2)
local function onCastSpell1(parameters)
doCombat(parameters.cid, combat1, parameters.var)
end
local function onCastSpell2(parameters)
doCombat(parameters.cid, combat2, parameters.var)
end
local exhaustion = {}
function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
local pos = getPlayerPosition(cid)
local tempo = 3 -- tempo em segundos para acontecer a explosão.
local cd = 0 -- tempo em segundos para usar a explosão.
local i = 0
local tempo2 = 0
addEvent(onCastSpell1, 100, parameters)
addEvent(onCastSpell2, 1000*tempo, parameters)
addEvent(onCastSpell3, 1000*tempo, parameters)
addEvent(doSendAnimatedText, 300*tempo, pos, "3", TEXTCOLOR_RED)
addEvent(doSendAnimatedText, 550*tempo, pos, "2", TEXTCOLOR_RED)
addEvent(doSendAnimatedText, 850*tempo, pos, "1", TEXTCOLOR_RED)
return true
end

 

 

 

 

No aguardo, agradeço.

 

Editado por 0BoM
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Essa spell nao foi feita por mim apenas a funçao getTime, w/e usa esse:


function getTime(s) -- função by : mkalo
        local n = math.floor(s / 60)
        s = s - (60 * n)
        return n, s
end

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 3)

local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, 6)
setAttackFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 0, 4.8)

arr1 = {
{0, 0, 0},
{0, 3, 0},
{0, 0, 0},
}

arr2 = {
{0, 1, 1, 1, 0},
{1, 1, 1, 1, 1},
{1, 1, 3, 1, 1},
{1, 1, 1, 1, 1},
{0, 1, 1, 1, 0},
}

local area1 = createCombatArea(arr1)
setCombatArea(combat1, area1)
local area2 = createCombatArea(arr2)
setCombatArea(combat2, area2)

local function onCastSpell1(parameters)
doCombat(parameters.cid, combat1, parameters.var)
end

local function onCastSpell2(parameters)
	if isCreature(parameters.cid) then
		if not getTilePzInfo(getPlayerPosition(parameters.cid)) then
			doCombat(parameters.cid, combat2, parameters.var)
		end
	end
end

local exhaustion = {}
function onCastSpell(cid, var)
local parameters = { cid = cid, var = var}
local pos = getPlayerPosition(cid)

local tempo = 3 -- tempo em segundos para acontecer a explosão.
local cd = 0 -- tempo em segundos para usar a explosão.
local i = 0
local tempo2 = 0
addEvent(onCastSpell1, 100, parameters)
addEvent(onCastSpell2, 1000*tempo, parameters)
addEvent(doSendAnimatedText, 300*tempo, pos, "3", TEXTCOLOR_RED)
addEvent(doSendAnimatedText, 550*tempo, pos, "2", TEXTCOLOR_RED)
addEvent(doSendAnimatedText, 850*tempo, pos, "1", TEXTCOLOR_RED)
return true
end

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...