Postado Janeiro 24, 2020 5 anos 7 horas atrás, Zazeros disse: @Joaovettor Cara, pode explicar melhor, fazendo o favor? No seu script local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) function onGetFormulaValues(cid, level, maglevel) local min = (((level/5)+(maglevel*1) +1)) local max = (((level/5)+(maglevel*2) +3)) -- Essas variáveis são validas apenas para esta função, pois você fechou o escopo return min, max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_TICKS, 1 * 60 * 1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, math.random(min, max)) -- Você não declarou as variáveis min e max setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) function onCastSpell(cid, var) return doCombat(cid, combat, var) end As variáveis min e max não estão declaradas Para declarar um variável global, você deve criar ela fora de um escopo, switch case, função, etc... Ficando assim V local min, max = 15, 30 -- Isto é um exemplo de uma variável global local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) function onGetFormulaValues(cid, level, maglevel) local min = (((level/5)+(maglevel*1) +1)) local max = (((level/5)+(maglevel*2) +3)) return min, max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_TICKS, 1 * 60 * 1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, math.random(min, max)) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) function onCastSpell(cid, var) return doCombat(cid, combat, var) end
Postado Janeiro 24, 2020 5 anos Autor @Joaovettor Hm, mas elas não estão sendo calculadas aqui? local min = (((level/5)+(maglevel*1) +1)) local max = (((level/5)+(maglevel*2) +3)) Porque se for do teu jeito, não vai usar o ML do mesmo jeito que o Utura já não usa
Postado Janeiro 25, 2020 5 anos 4 horas atrás, Zazeros disse: @Joaovettor Hm, mas elas não estão sendo calculadas aqui? local min = (((level/5)+(maglevel*1) +1)) local max = (((level/5)+(maglevel*2) +3)) Porque se for do teu jeito, não vai usar o ML do mesmo jeito que o Utura já não usa Não, pois, como citado, elas estão declaradas no escopo de function onGetFormulasValue(cid)
Postado Janeiro 25, 2020 5 anos Autor @Joaovettor Cara, desculpa. Eu não sou bom scripts. Para que serve então isso, esse min e max não vão interferir no script? local min, max = 15, 30 -- Isto é um exemplo de uma variável global
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.