Ir para conteúdo
  • 0

Spell Nao Poder Ser Usado Tal Level


nbb147

Pergunta

Galera eu to com uma duvida, eu queria saber se tem como fazer o player parar de usar alguma magia quando chegar em um certo nivel, tipo o cara ganhou exura gran level 20, ai o cara pega level 30 ai ja nao pode usar mais a magia, isso é possivel, se possivel, tem alguem que poderia mim ajudar?

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Sim, é possível. Vou pegar como exemplo a magia Berserk, veja abaixo:

 


local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, true)

local area = createCombatArea(AREA_SQUARE1X1)
setCombatArea(combat, area)

function onGetFormulaValues(cid, level, skill, attack, element, factor)
   local levelTotal, formula = level / 5, 0.0496
   local normal, elemental = -(skill * attack * formula + levelTotal), math.ceil((skill * element * formula + levelTotal))
   return normal/2, normal, -math.random(elemental/2, elemental)
end

setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
   return doCombat(cid, combat, var)
end

 

Basta fazer mais ou menos isso:

 



local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, true)

local area = createCombatArea(AREA_SQUARE1X1)
setCombatArea(combat, area)

function onGetFormulaValues(cid, level, skill, attack, element, factor)
   local levelTotal, formula = level / 5, 0.0496
   local normal, elemental = -(skill * attack * formula + levelTotal), math.ceil((skill * element * formula + levelTotal))
   return normal/2, normal, -math.random(elemental/2, elemental)
end

setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
   if getPlayerLevel(cid) < 100 then
       return doCombat(cid, combat, var)
   else
       doPlayerSendCancel(cid, "You cannot use this spell anymore.")
       return false
   end
end

 

Um grande abraço.

Link para o comentário
Compartilhar em outros sites

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