Ir para conteúdo

Featured Replies

Postado

bom , eu so queria que as magias exana mort,exura san, exura vita e exura sio fossem por magic level

exemplo: exura san, healar +100 de vida por cada 1 de magic level 

mas eu nao sei calcular isto

COMBAT_FORMULA_LEVELMAGIC, ?, ?, ?, ?)

Resolvido por Jamison Collins

Ir para solução
  • Respostas 8
  • Visualizações 947
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Jamison Collins
    Jamison Collins

    Só você fazer o seguinte: Nas spells que você gostaria de modificar, você apaga essa linha de COMBAT_FORMULA_LEVELMAGIC, ?, ?, ?, ?) E embaixo, você cola isso:  function onGetFormulaValues(cid, le

  • Jamison Collins
    Jamison Collins

    Seria algo tipo isso: setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, mina, minb, maxa, maxb) minDamage = (Level + Magic Level * 4) * mina + minb maxDamage = (Level + Magic Level * 4) * maxa +

Postado

tem várias maneiras, uma delas é fazer por função (e não por comando de spell normal)

function onCastSpell (cid, var)
local life = ((getPlayerMagLevel(cid)) * 100)
doCreatureAddHealth(cid, life)
local pos = getCreaturePosition(cid)
doSendMagicEffect(pos, 12)
return true
end

outra maneira é setar um combat callback pra fazer as fórmulas e acho que se fizer a fórmula certinha dá pra fazer do jeito que vc citou também, só que não vou conseguir te ajudar.

Editado por xWhiteWolf (veja o histórico de edições)

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Postado
  • Solução

Só você fazer o seguinte:

Nas spells que você gostaria de modificar, você apaga essa linha de COMBAT_FORMULA_LEVELMAGIC, ?, ?, ?, ?)

E embaixo, você cola isso: 

function onGetFormulaValues(cid, level, maglevel)
	min = (maglevel * 100)
	max = (maglevel * 100)
	return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

É só você alterar o valor acima representado como "100" para o valor desejado. Isso serve para todas as magias.

 

Ficará assim:

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

function onGetFormulaValues(cid, level, maglevel)
	min = ((level / 5) + (maglevel * 1.4) + 8)
	max = ((level / 5) + (maglevel * 1.8) + 11)
	return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
	return doCombat(cid, combat, var)
end

"A alma permanece em suas criações" V89E5aN.png


142c9d3439.jpg
(Não dou suporte por mensagem privada.)

Postado
  • Autor

obrigado de novo, tenho mais uma duvida, se eu puder mudar o dano da sd com essas formulas como ficaria?
 
 
SD
 
 
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -50, -1, -80, 5, 35, 33, 7)


local condition = createConditionObject(CONDITION_CURSED)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 5, 1000, -250)
setCombatCondition(combat, condition)

function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
end

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