Ir para conteúdo

Posts Recomendados

Ae gente tem como vcs me ajudarem quero criar uma spell que tipo fa fazendo "ondas", por exemplo ela vai aumentando so que a parte da magia que ja passo some, eu ja consegui fazer uma dela mas com esse script

 

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -5.4, -37, -5.9, 0)

setCombatParam(combat1, COMBAT_PARAM_EFFECT,6)

 

local combat2 = createCombatObject()

setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)

setCombatParam(combat2, COMBAT_PARAM_EFFECT, 6)

setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -5.4, -37, -5.9, 0)

 

local combat3 = createCombatObject()

setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)

setCombatParam(combat3, COMBAT_PARAM_EFFECT, 6)

setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -5.4, -37, -5.9, 0)

 

 

local combat4 = createCombatObject()

setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)

setCombatParam(combat4, COMBAT_PARAM_EFFECT, 6)

setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -5.4, -37, -5.9, 0)

 

 

 

 

arr1 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}

 

 

arr2 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

{0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0},

{0, 0, 0, 1, 0, 3, 0, 1, 0, 0, 0},

{0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0},

{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}

 

 

arr3 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0},

{0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},

{0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},

{0, 0, 1, 0, 0, 3, 0, 0, 1, 0, 0},

{0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},

{0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},

{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}

 

arr4 = {

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},

{0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0},

{0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0},

{0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0},

{0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0},

{0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0},

{0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0},

{0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0},

{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

}

 

 

local area1 = createCombatArea(arr1)

local area2 = createCombatArea(arr2)

local area3 = createCombatArea(arr3)

local area4 = createCombatArea(arr4)

setCombatArea(combat1, area1)

setCombatArea(combat2, area2)

setCombatArea(combat3, area3)

setCombatArea(combat4, area4)

 

local function onCastSpell1(parameters)

doCombat(parameters.cid, parameters.combat1, parameters.var)

end

 

local function onCastSpell2(parameters)

doCombat(parameters.cid, parameters.combat2, parameters.var)

end

 

local function onCastSpell3(parameters)

doCombat(parameters.cid, parameters.combat3, parameters.var)

end

 

local function onCastSpell4(parameters)

doCombat(parameters.cid, parameters.combat4, parameters.var)

end

 

 

 

 

function onCastSpell(cid, var)

local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3, combat4 = combat4, combat5 = combat5 }

addEvent(onCastSpell1, 100, parameters)

addEvent(onCastSpell2, 200, parameters)

addEvent(onCastSpell3, 300, parameters)

addEvent(onCastSpell4, 400, parameters)

addEvent(onCastSpell5, 500, parameters)

end

e esse script o meu ot nao consegue ler ele fazendo dele sem mana exausted e etc...

 

eu queria uma area que seria igual no formato desse script

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)

setCombatParam(combat, COMBAT_PARAM_EFFECT, 6)

function getCombatFormulas(cid, lv, maglv)

local formula_min = -((lv*0.25 + maglv*3) * 5.6)

local formula_max = -((lv*0.25 + maglv*3) * 6.0)

 

if(formula_max < formula_min) then

local tmp = formula_max

formula_max = formula_min

formula_min = tmp

end

return formula_min, formula_max

end

 

local area = createCombatArea(AREA_CROSS1X1)

setCombatArea(combat, area)

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)

setCombatParam(combat, COMBAT_PARAM_EFFECT, 6)

function getCombatFormulas(cid, lv, maglv)

local formula_min = -((lv*0.25 + maglv*3) * 5.6)

local formula_max = -((lv*0.25 + maglv*3) * 6.0)

 

if(formula_max < formula_min) then

local tmp = formula_max

formula_max = formula_min

formula_min = tmp

end

return formula_min, formula_max

end

 

local area = createCombatArea(AREA_CROSS2X2)

setCombatArea(combat, area)

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)

setCombatParam(combat, COMBAT_PARAM_EFFECT, 6)

function getCombatFormulas(cid, lv, maglv)

local formula_min = -((lv*0.25 + maglv*3) * 5.6)

local formula_max = -((lv*0.25 + maglv*3) * 6.0)

 

if(formula_max < formula_min) then

local tmp = formula_max

formula_max = formula_min

formula_min = tmp

end

return formula_min, formula_max

end

 

local area = createCombatArea(AREA_CROSS3X3)

setCombatArea(combat, area)

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)

setCombatParam(combat, COMBAT_PARAM_EFFECT, 6)

function getCombatFormulas(cid, lv, maglv)

local formula_min = -((lv*0.25 + maglv*3) * 5.6)

local formula_max = -((lv*0.25 + maglv*3) * 6.0)

 

if(formula_max < formula_min) then

local tmp = formula_max

formula_max = formula_min

formula_min = tmp

end

return formula_min, formula_max

end

 

local area = createCombatArea(AREA_CROSS4X5)

setCombatArea(combat, area)

 

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "getCombatFormulas")

 

function onCastSpell(cid, var)

return doCombat(cid, combat, var)

end

mas esse script diz que a area e invalida tem como vcs me ajudarem a acharem uma area valida?

Link para o comentário
https://xtibia.com/forum/topic/117565-ajuda-com-area-de-efeito-de-spell/
Compartilhar em outros sites

Black-

Criar varios tópicos com o mesmo conteúdo no seu caso uma dúvida é considerado (mass-flood) e é uma infração no caso quem comete uma infração normalmente é punido, mais eu nunca vi você fazer isto e você é um membro antigo na comunidade, peço a você que tome mais cuidado da próxima vez ou terei que tomar providencias, este tópico será fechado e o outro continuara aberto para que alguém sane sua dúvida.

 

Tópico Fechado :button_cancel:

Link para o comentário
https://xtibia.com/forum/topic/117565-ajuda-com-area-de-efeito-de-spell/#findComment-772250
Compartilhar em outros sites

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