Ir para conteúdo
  • 0

[Amaterasu] spell com dano condition


diarmaint

Pergunta

Olá, gostaria de ajuda em uma spell, o Amaterasu.  Ao castar aparece um efeito passageiro em min(109) e aparece o fogo do target (effect80), após esse hit o target fica com a condition dazzled, cada dazzled (effect 79) o player vai receber 5( de dano com um intervalo de 2 segundos durando 10 hits.  E teria outra magia (stop Amaterasu)  que so poderia castar se o target estiver com condition dazzled, ao castar  apareceria um effect em min (109) retiraria 1k de dano em min e removeria a condition dazzled do target..  Uffa,complicada kk. 

Eu peguei o spell maker e tentei fazer a spell, ela até funciona só que fica dando erro na distro (condition not found.

Amaterasu

 

 

-- SpellCreator generated.

-- =============== COMBAT VARS ===============
-- Areas/Combat for 2000ms
local combat20_Brush = createCombatObject()
setCombatParam(combat20_Brush, COMBAT_PARAM_EFFECT, 80)
setCombatParam(combat20_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat20_Brush, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat20_Brush, COMBAT_PARAM_BLOCKSHIELD, true)
setCombatArea(combat20_Brush,createCombatArea({{3}}))
function getDmg_Brush(cid, level, maglevel)
return (10)*-1,(20)*-1 
end
setCombatCallback(combat20_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

local con___combat20_Brush = createConditionObject(0)
setCombatCondition(combat20_Brush, con___combat20_Brush)

local con_fogo2__combat20_Brush = createConditionObject(0+CONDITION_DAZZLED)
addDamageCondition(con_fogo2__combat20_Brush, 1, 1000, -5000)
setCombatCondition(combat20_Brush, con_fogo2__combat20_Brush)

-- Areas/Combat for 0ms
local combat0_Fogo = createCombatObject()
setCombatParam(combat0_Fogo, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatFormula(combat0_Fogo, COMBAT_FORMULA_LEVELMAGIC, -6.0, 0, -6.1, 0)

-- Areas/Combat for 40000ms
local combat40_Brush = createCombatObject()
setCombatParam(combat40_Brush, COMBAT_PARAM_EFFECT, 80)
setCombatParam(combat40_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat40_Brush, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat40_Brush, COMBAT_PARAM_BLOCKSHIELD, true)
setCombatArea(combat40_Brush,createCombatArea({{3}}))
function getDmg_Brush(cid, level, maglevel)
return (10)*-1,(20)*-1 
end
setCombatCallback(combat40_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

local con___combat40_Brush = createConditionObject(0)
setCombatCondition(combat40_Brush, con___combat40_Brush)

local con_fogo2__combat40_Brush = createConditionObject(0+CONDITION_DAZZLED)
addDamageCondition(con_fogo2__combat40_Brush, 1, 1000, -5000)
setCombatCondition(combat40_Brush, con_fogo2__combat40_Brush)

-- Areas/Combat for 6000ms
local combat60_Brush = createCombatObject()
setCombatParam(combat60_Brush, COMBAT_PARAM_EFFECT, 80)
setCombatParam(combat60_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat60_Brush, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat60_Brush, COMBAT_PARAM_BLOCKSHIELD, true)
setCombatArea(combat60_Brush,createCombatArea({{3}}))
function getDmg_Brush(cid, level, maglevel)
return (10)*-1,(20)*-1 
end
setCombatCallback(combat60_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

local con___combat60_Brush = createConditionObject(0)
setCombatCondition(combat60_Brush, con___combat60_Brush)

local con_fogo2__combat60_Brush = createConditionObject(0+CONDITION_DAZZLED)
addDamageCondition(con_fogo2__combat60_Brush, 1, 1000, -5000)
setCombatCondition(combat60_Brush, con_fogo2__combat60_Brush)

-- Areas/Combat for 8000ms
local combat80_Brush = createCombatObject()
setCombatParam(combat80_Brush, COMBAT_PARAM_EFFECT, 80)
setCombatParam(combat80_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat80_Brush, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat80_Brush, COMBAT_PARAM_BLOCKSHIELD, true)
setCombatArea(combat80_Brush,createCombatArea({{3}}))
function getDmg_Brush(cid, level, maglevel)
return (10)*-1,(20)*-1 
end
setCombatCallback(combat80_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

local con___combat80_Brush = createConditionObject(0)
setCombatCondition(combat80_Brush, con___combat80_Brush)

local con_fogo2__combat80_Brush = createConditionObject(0+CONDITION_DAZZLED)
addDamageCondition(con_fogo2__combat80_Brush, 1, 1000, -5000)
setCombatCondition(combat80_Brush, con_fogo2__combat80_Brush)

-- Areas/Combat for 10000ms
local combat100_Brush = createCombatObject()
setCombatParam(combat100_Brush, COMBAT_PARAM_EFFECT, 80)
setCombatParam(combat100_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat100_Brush, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat100_Brush, COMBAT_PARAM_BLOCKSHIELD, true)
setCombatArea(combat100_Brush,createCombatArea({{3}}))
function getDmg_Brush(cid, level, maglevel)
return (10)*-1,(20)*-1 
end
setCombatCallback(combat100_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

local con___combat100_Brush = createConditionObject(0)
setCombatCondition(combat100_Brush, con___combat100_Brush)

local con_fogo2__combat100_Brush = createConditionObject(0+CONDITION_DAZZLED)
addDamageCondition(con_fogo2__combat100_Brush, 1, 1000, -5000)
setCombatCondition(combat100_Brush, con_fogo2__combat100_Brush)

-- Areas/Combat for 12000ms
local combat120_Brush = createCombatObject()
setCombatParam(combat120_Brush, COMBAT_PARAM_EFFECT, 80)
setCombatParam(combat120_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat120_Brush, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat120_Brush, COMBAT_PARAM_BLOCKSHIELD, true)
setCombatArea(combat120_Brush,createCombatArea({{3}}))
function getDmg_Brush(cid, level, maglevel)
return (10)*-1,(20)*-1 
end
setCombatCallback(combat120_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

local con___combat120_Brush = createConditionObject(0)
setCombatCondition(combat120_Brush, con___combat120_Brush)

local con_fogo2__combat120_Brush = createConditionObject(0+CONDITION_DAZZLED)
addDamageCondition(con_fogo2__combat120_Brush, 1, 1000, -5000)
setCombatCondition(combat120_Brush, con_fogo2__combat120_Brush)

-- Areas/Combat for 14000ms
local combat140_Brush = createCombatObject()
setCombatParam(combat140_Brush, COMBAT_PARAM_EFFECT, 80)
setCombatParam(combat140_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat140_Brush, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat140_Brush, COMBAT_PARAM_BLOCKSHIELD, true)
setCombatArea(combat140_Brush,createCombatArea({{3}}))
function getDmg_Brush(cid, level, maglevel)
return (10)*-1,(20)*-1 
end
setCombatCallback(combat140_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

local con___combat140_Brush = createConditionObject(0)
setCombatCondition(combat140_Brush, con___combat140_Brush)

local con_fogo2__combat140_Brush = createConditionObject(0+CONDITION_DAZZLED)
addDamageCondition(con_fogo2__combat140_Brush, 1, 1000, -5000)
setCombatCondition(combat140_Brush, con_fogo2__combat140_Brush)

-- Areas/Combat for 16000ms
local combat160_Brush = createCombatObject()
setCombatParam(combat160_Brush, COMBAT_PARAM_EFFECT, 80)
setCombatParam(combat160_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat160_Brush, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat160_Brush, COMBAT_PARAM_BLOCKSHIELD, true)
setCombatArea(combat160_Brush,createCombatArea({{3}}))
function getDmg_Brush(cid, level, maglevel)
return (10)*-1,(20)*-1 
end
setCombatCallback(combat160_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

local con___combat160_Brush = createConditionObject(0)
setCombatCondition(combat160_Brush, con___combat160_Brush)

local con_fogo2__combat160_Brush = createConditionObject(0+CONDITION_DAZZLED)
addDamageCondition(con_fogo2__combat160_Brush, 1, 1000, -5000)
setCombatCondition(combat160_Brush, con_fogo2__combat160_Brush)

-- Areas/Combat for 18000ms
local combat180_Brush = createCombatObject()
setCombatParam(combat180_Brush, COMBAT_PARAM_EFFECT, 80)
setCombatParam(combat180_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat180_Brush, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat180_Brush, COMBAT_PARAM_BLOCKSHIELD, true)
setCombatArea(combat180_Brush,createCombatArea({{3}}))
function getDmg_Brush(cid, level, maglevel)
return (10)*-1,(20)*-1 
end
setCombatCallback(combat180_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

local con___combat180_Brush = createConditionObject(0)
setCombatCondition(combat180_Brush, con___combat180_Brush)

local con_fogo2__combat180_Brush = createConditionObject(0+CONDITION_DAZZLED)
addDamageCondition(con_fogo2__combat180_Brush, 1, 1000, -5000)
setCombatCondition(combat180_Brush, con_fogo2__combat180_Brush)

-- Areas/Combat for 20000ms
local combat200_Brush = createCombatObject()
setCombatParam(combat200_Brush, COMBAT_PARAM_EFFECT, 80)
setCombatParam(combat200_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat200_Brush, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat200_Brush, COMBAT_PARAM_BLOCKSHIELD, true)
setCombatArea(combat200_Brush,createCombatArea({{3}}))
function getDmg_Brush(cid, level, maglevel)
return (10)*-1,(20)*-1 
end
setCombatCallback(combat200_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

local con___combat200_Brush = createConditionObject(0)
setCombatCondition(combat200_Brush, con___combat200_Brush)

local con_fogo2__combat200_Brush = createConditionObject(0+CONDITION_DAZZLED)
addDamageCondition(con_fogo2__combat200_Brush, 1, 1000, -5000)
setCombatCondition(combat200_Brush, con_fogo2__combat200_Brush)

-- =============== CORE FUNCTIONS ===============
local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part
if (isCreature(cid)) then
doCombat(cid, c, var)
if (dirList ~= nil) then -- Emit distance effects
local i = 2;
while (i < #dirList) do
doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList,y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1])
i = i + 2
end        
end
end
end

function onCastSpell(cid, var)
local pos = getPlayerPosition(cid) 
local target = getCreatureTarget(cid)
local pos2 = getPlayerPosition(target) 
doSendMagicEffect(pos,109)
pos2.x=pos2.x+1
doSendMagicEffect(pos2,79)
local startPos = getCreaturePosition(cid)
addEvent(RunPart,2000,combat20_Brush,cid,var)
RunPart(combat0_Fogo,cid,var)
addEvent(RunPart,4000,combat100_Brush,cid,var)
addEvent(RunPart,6000,combat60_Brush,cid,var)
addEvent(RunPart,8000,combat80_Brush,cid,var)
addEvent(RunPart,10000,combat100_Brush,cid,var)
addEvent(RunPart,12000,combat120_Brush,cid,var)
addEvent(RunPart,14000,combat140_Brush,cid,var)
addEvent(RunPart,16000,combat160_Brush,cid,var)
addEvent(RunPart,18000,combat180_Brush,cid,var)
addEvent(RunPart,20000,combat200_Brush,cid,var)
return true
end

[spoiler/] 

É, tá bem complicada kk. 

Stop Amaterasu

 

function onCastSpell(cid, var)
local target = getCreatureTarget(cid)
doRemoveCondition(target,CONDITION_DAZZLED)
doCreatureAddHealth(cid,-1000)
local pos = getPlayerPosition(cid) 
doSendMagicEffect(pos,110)
return true
end

[spoiler/] 

Espero que alguém tenha entendido e possa me ajudar. =):

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

eu tenho um amaterasu aqui que funciona da seguinte forma, tu ataca alguém no caso seleciona o target, usa o amaterasu e ele corre atrás do player e quando pega no oponente fica queimando até que ele saia da visão do usuário ou até que o efeito acabe, tudo nele é de fácil configuração, o efeito que sai no usuário(ex: o manguekyu sharingan ao usar), a velocidade com que o amaterasu se movimenta, e o dano obviamente, se servir pra você te passo agora.

Link para o comentário
Compartilhar em outros sites

  • 0
Em 02/08/2016 em 2:35 PM, nbb147 disse:

eu tenho um amaterasu aqui que funciona da seguinte forma, tu ataca alguém no caso seleciona o target, usa o amaterasu e ele corre atrás do player e quando pega no oponente fica queimando até que ele saia da visão do usuário ou até que o efeito acabe, tudo nele é de fácil configuração, o efeito que sai no usuário(ex: o manguekyu sharingan ao usar), a velocidade com que o amaterasu se movimenta, e o dano obviamente, se servir pra você te passo agora.

Desculpe ressuscitar o post, mas teria como me passar?

 

Link para o comentário
Compartilhar em outros sites

  • 0

function onCastSpell(cid, var)
 
local duration = 20 -- tempo em segundos
local exhaust = 2 -- cooldown da magia
local target = getCreatureTarget(cid)
local storage = 3001
 
if not isCreature(target) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Escolha um alvo antes.")
        return false
end
 
if exhaustion.check(cid, storage) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.")
        return false
end
 
exhaustion.set(cid, storage, exhaust)
doSendMagicEffect(getCreaturePosition(cid), 31) --31 é o efeito que sai em cima de quem usou, ou seja, o sharingan
addEvent(goToTarget, 100, cid, target, duration-1)
return true
end
 
function goToTarget(cid, target, duration, pos)
 
if not isCreature(target) then
        return false
end
 
local pos = pos or getCreaturePosition(cid)
local target = getCreatureTarget(cid) > 0 and getCreatureTarget(cid) or target
local tpos = getCreaturePosition(target)
 
if pos.x == tpos.x and pos.y == tpos.y then
        nextPos = pos
else
        nextPos = getPosByDir(pos, getDirectionTo(pos, tpos))
end
 
doAreaCombatHealth(cid, storage, 1, nextPos, 0, -100, -200, 42) -- 42 é o efeito do amaterasu
 
if duration > 0 then
        addEvent(goToTarget, 100, cid, target, duration-1, nextPos)
end
 
end

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...