Postado Julho 30, 2014 11 anos Estou com esse problema: http://prntscr.com/47u0lm As vezes da esse erro, outras vezes não... não buga sv nem nada, nas fica spamando o meu distro, nem toda vez que usa a spell acontece esse erro... Spell: local weapon1 = createCombatObject() local weapon2 = createCombatObject() local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 44) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE) function onGetFormulaValues(cid, level, maglevel) min = (level*4) + (level*3) max = (level*4) +(level*3) +500 return -min, -max end setCombatCallback(combat1, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 34) setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE) function onGetFormulaValues(cid, level, maglevel) min = (level*4) + (level*3) max = (level*4) +(level*3) +500 return -min, -max end setCombatCallback(combat2, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, 34) setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE) function onGetFormulaValues(cid, level, maglevel) min = (level*4) + (level*3) max = (level*4) +(level*3) +500 return -min, -max end setCombatCallback(combat3, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local combat4 = createCombatObject() setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat4, COMBAT_PARAM_EFFECT, 66) function onGetFormulaValues(cid, level, maglevel) min = (level*4) + (level*3) max = (level*4) +(level*3) +500 return -min, -max end setCombatCallback(combat4, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local 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, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 1, 2, 1, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 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} } local 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, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 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} } local 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, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 2, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 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} } local arr4 = { {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, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 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} } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) local area3 = createCombatArea(arr3) local area4 = createCombatArea(arr4) setCombatArea(weapon1, area1) setCombatArea(weapon2, area2) setCombatArea(combat3, area3) setCombatArea(combat4, area4) function onTargetTile(cid, pos) doCombat(cid,combat1,positionToVariant(pos)) end function onTargetTile2(cid, pos) doCombat(cid,combat2,positionToVariant(pos)) end setCombatCallback(weapon1, CALLBACK_PARAM_TARGETTILE, "onTargetTile") setCombatCallback(weapon2, CALLBACK_PARAM_TARGETTILE, "onTargetTile2") local function onCastSpell1(parameters) doCombat(parameters.cid, weapon1, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, weapon2, 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 } addEvent(onCastSpell1, 200, parameters) addEvent(onCastSpell2, 400, parameters) addEvent(onCastSpell3, 500, parameters) addEvent(onCastSpell4, 400, parameters) return true end
Postado Julho 30, 2014 11 anos Eu só sei pq ocorre o problema mas nao sei resolver, talvez posso tentar, aqui está o problema : ocorre quando um player usa a spell e desloga antes de chamar os comandos "luaDoCombat", deve ser porque um player usa dai o outro mata antes de receber os ataques da spell do player que morreu, eu fiz o teste, só ocorreu o erro quando usei a magia e ao mesmo tempo desloguei, bom é isso.. espero ter ajudado editado : resolvi seu problema, é o comando addEvent, se você trocar este : addEvent(onCastSpell1, 200, parameters)addEvent(onCastSpell2, 400, parameters)addEvent(onCastSpell3, 500, parameters)addEvent(onCastSpell4, 400, parameters) por este : onCastSpell1(parameters) onCastSpell2(parameters) onCastSpell3(parameters) onCastSpell4(parameters) não ocorrerá mais o problema mas... sua spell vai ficar sem aqueles intervalos, vai enviar todos os efeitos de uma vez só Editado Julho 30, 2014 11 anos por HallsSantos (veja o histórico de edições)
Postado Julho 30, 2014 11 anos Autor O problema é que eu gostaria dos intervalos por causa que é tipo uma explosão e tal =/ n da?
Postado Julho 30, 2014 11 anos O problema é que eu gostaria dos intervalos por causa que é tipo uma explosão e tal =/ n da? acho que sim porque tem comandos que antes mesmo de tal comando ser executado, ele para de ler o script.. mas infelizmente eu não sei fazer apesar de eu ter tentado umas coisas parecidas mas não obtido sucesso :/ estou aprendendo aos poucos caso ninguém resolva seu problema e eu descobrir como fazer isto, eu posto aqui blz?
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.