Postado Julho 15, 2019 5 anos 10 horas atrás, bpm91 disse: aproveitando que vc aparenta entender bastante de 0.4 saberia me dizer como faço pro meu exori usar apenas skills e lvl. e remover a arma dele? @bpm91 Segue abaixo o script de exori que estou utilizando: 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, factor) local skillTotal, levelTotal = skill + attack, level / 5 return -(skillTotal * 0.5 + levelTotal), -(skillTotal * 1.5 + levelTotal) end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onCastSpell(cid, var) return doCombat(cid, combat, var) end Note que temos ali uma função onGetFormulaValues, onde temos uma tupla sendo atribuida às variáveis skillTotal e levelTotal, que recebem: skillTotal = skill + attack levelTotal = level / 5 Estou supondo que o parâmetro attack corresponde ao ataque da arma que o jogador tem equipada, então para tirar o ataque dela da fórmula simplesmente troco a função onGetFormulaValues por esta: function onGetFormulaValues(cid, level, skill, attack, factor) local skillTotal, levelTotal = skill, level / 5 return -(skillTotal * 0.5 + levelTotal), -(skillTotal * 1.5 + levelTotal) end Teste no meu servidor e a arma, de fato, parou de influenciar no nível, mas é provável que você precise modificar a fórmula de damage. Editado Julho 15, 2019 5 anos por marcot (veja o histórico de edições)
Postado Julho 15, 2019 5 anos Autor 1 hora atrás, marcot disse: @bpm91 Segue abaixo o script de exori que estou utilizando: 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, factor) local skillTotal, levelTotal = skill + attack, level / 5 return -(skillTotal * 0.5 + levelTotal), -(skillTotal * 1.5 + levelTotal) end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onCastSpell(cid, var) return doCombat(cid, combat, var) end Note que temos ali uma função onGetFormulaValues, onde temos uma tupla sendo atribuida às variáveis skillTotal e levelTotal, que recebem: skillTotal = skill + attack levelTotal = level / 5 Estou supondo que o parâmetro attack corresponde ao ataque da arma que o jogador tem equipada, então para tirar o ataque dela da fórmula simplesmente troco a função onGetFormulaValues por esta: function onGetFormulaValues(cid, level, skill, attack, factor) local skillTotal, levelTotal = skill, level / 5 return -(skillTotal * 0.5 + levelTotal), -(skillTotal * 1.5 + levelTotal) end Teste no meu servidor e a arma, de fato, parou de influenciar no nível, mas é provável que você precise modificar a fórmula de damage. eu tentei mas segue batendo mais forte com a arma, tb fui em spells e tirei o needweapon"1" e coloquei 0 que estranho eu copiei exatamente oq vc me mandou.
Postado Julho 15, 2019 5 anos 23 minutos atrás, bpm91 disse: eu tentei mas segue batendo mais forte com a arma, tb fui em spells e tirei o needweapon"1" e coloquei 0 que estranho eu copiei exatamente oq vc me mandou. Você poderia postar como ficou o script após a modificação?
Postado Julho 15, 2019 5 anos Autor fiz como vc disse 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, factor) local skillTotal, levelTotal = skill, level / 5 return -(skillTotal * 0.5 + levelTotal), -(skillTotal * 1.5 + levelTotal) end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onCastSpell(cid, var) return doCombat(cid, combat, var) end
Postado Julho 15, 2019 5 anos Estranho isso, porque aqui funcionou direitinho, você tem certeza que alterou os scripts corretos e deu o reload spells? Sem arma depois da modificação: Com arma depois da modificação: Com arma antes da modificação: Sem arma antes da modificação: Editado Julho 15, 2019 5 anos por marcot (veja o histórico de edições)
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.