Ir para conteúdo

Posts Recomendados

Galera eu acho que há algum erro no script da minha uh dêem uma olhada:

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)

setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)

setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)

setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)

setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, -10, 0, -10)

 

function onGetFormulaValues(cid, level, maglevel)

min = (level * 2 + maglevel * 3) * 2.3 - 25

max = (level * 2 + maglevel * 3) * 2.1

 

if min < 3000 then

min = 3000

end

 

return min, max

end

 

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

 

function onCastSpell(cid, var)

return doCombat(cid, combat, var)

end

 

 

local combat2 = createCombatObject()

setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_HEALING)

setCombatParam(combat2, COMBAT_PARAM_EFFECT, 1)

setCombatParam(combat2, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)

setCombatParam(combat2, COMBAT_PARAM_AGGRESSIVE, 0)

setCombatParam(combat2, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 0, 10, 0, 10)

 

function onGetFormulaValues(cid, level, maglevel)

min = (level * 2 + maglevel * 3) * 2.4 - 25

max = (level * 2 + maglevel * 3) * 2.1

 

if min < 3000 then

min = 3000

end

 

return min, max

end

 

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

 

 

function onCastSpell(cid, var)

rand = math.random(90,100)

if rand == 99 then

doPlayerAddHealth(cid,100000)

doSendAnimatedText(getPlayerPosition(cid), "Healing!", TEXTCOLOR_LIGHTGREEN)

doCombat(cid, combat2, var)

else

doCombat(cid, combat, var)

end

end

 

Aqui vai a ss do erro:

 

errop.th.png

 

É isso ae galera conto com vcs....

:smile_positivo:

 

EDIT:

Galera esse erro aparece qdo eu entro no GM e ataco alguma coisa, como um treiner por exemplo(players,monsters enfim tudo que é atacável xD)

Editado por Xaulim12
Link para o comentário
https://xtibia.com/forum/topic/115178-spellproblema-com-script/
Compartilhar em outros sites

o script esta duplicado e com a mesma funçao nao entendi o porque ter duplicado o script.

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)

setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)

setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)

setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)

setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, -10, 0, -10)

 

function onGetFormulaValues(cid, level, maglevel)

min = (level * 2 + maglevel * 3) * 2.3 - 25

max = (level * 2 + maglevel * 3) * 2.1

 

if min < 3000 then

min = 3000

end

 

return min, max

end

 

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

 

function onCastSpell(cid, var)

return doCombat(cid, combat, var)

end

 

local combat2 = createCombatObject()

setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_HEALING)

setCombatParam(combat2, COMBAT_PARAM_EFFECT, 1)

setCombatParam(combat2, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)

setCombatParam(combat2, COMBAT_PARAM_AGGRESSIVE, 0)

setCombatParam(combat2, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 0, 10, 0, 10)

 

function onGetFormulaValues(cid, level, maglevel)

min = (level * 2 + maglevel * 3) * 2.4 - 25

max = (level * 2 + maglevel * 3) * 2.1

 

if min < 3000 then

min = 3000

end

 

return min, max

end

 

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

 

 

function onCastSpell(cid, var)

rand = math.random(90,100)

if rand == 99 then

doPlayerAddHealth(cid,100000)

doSendAnimatedText(getPlayerPosition(cid), "Healing!", TEXTCOLOR_LIGHTGREEN)

doCombat(cid, combat2, var)

else

doCombat(cid, combat, var)

end

end

 

outra se voce usar isso:

setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, -10, 0, -10)

 

nao a necessidade de usar isso:

function onGetFormulaValues(cid, level, maglevel)

min = (level * 2 + maglevel * 3) * 2.3 - 25

max = (level * 2 + maglevel * 3) * 2.1

 

ta ae o script da forma correta que deveria estar:

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)

setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)

setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE)

setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, TRUE)

setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

 

function getCombatFormulas(cid, lv, maglv)

local formula_min = ((lv*0.25 + maglv*3) * 1.4)

local formula_max = ((lv*0.25 + maglv*3) * 1.7)

 

if(formula_max < formula_min) then

local tmp = formula_max

formula_max = formula_min

formula_min = tmp

end

return formula_min, formula_max

end

 

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "getCombatFormulas")

 

function onCastSpell(cid, var)

return doCombat(cid, combat, var)

end

Link para o comentário
https://xtibia.com/forum/topic/115178-spellproblema-com-script/#findComment-753798
Compartilhar em outros sites

Marcryzius brigadão cara vou fazer um teste aqui...

Qualquer coisa eu posto

 

:smile_positivo:

 

EDIT:

Marcryzius brother eu testei aki e funcionou perfeitamente

Sem erro algum agora...

Brigadão mesmo cara!!!!Vc é 10

Qualquer coisa so chamar...

:smile_positivo:

 

Só uma outra dúvida: Se eu deixasse o ot on por um dia com aquele erro por exemplo, o desmpenho dele(ot) cairia durante o tempo que ele ficasse on?ou seja com lag,freeze?

Editado por Xaulim12
Link para o comentário
https://xtibia.com/forum/topic/115178-spellproblema-com-script/#findComment-753801
Compartilhar em outros sites

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