Ir para conteúdo

Featured Replies

  • Respostas 22
  • Visualizações 1.7k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Mathias Kenfi
    Mathias Kenfi

    Os valores fixos foram exemplos de como deve ser feito, afinal da maneira que você estava fazendo não ia funcionar   Para não ser valor fixo, basta você fazer da mesma forma que está escrito

  • Mathias Kenfi
    Mathias Kenfi

    Para o healing aparecer, você tem que editar no config.lua na linha a seguir showHealthChange = false Coloque true

Posted Images

Postado
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
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)

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo