God Dunckan Nivel 4
Mensajes : 67 Puntos : 192 Reputación : 22 Fecha de inscripción : 03/05/2011
| Tema: Ataque de spell por Nivel y Magic Level Jue Mayo 12, 2011 12:05 am | |
| Quizas se preguntaran algunas veces o recibiran reclamos que los ataques estan muy desbalanceados a traves del Nivel, Supongamos, un nivel 150 ml 100 pega mas que un nivel 200 ml 95, esto ocaciona que no halla razon para subir nivel, generalmente en Spells aparece esto en el inicio de su Spell... - Código:
-
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_PLANTATTACK) setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 5, 10) Bueno esto es muy simple de corregir, deberan reemplar SetAttackFormula por setCombatFormula y configurarlo a su gusto como deseen que se multiplique de acuerdo al nivel, por ejemplo quiero que el nivel aumente x4 el ataque de la spell, esto de debe multiplicar por -(signo menos) el numero que desean que se multiplique, osino su spell Heleara, al dar positivo da + vida en ves de - vida. Lo mismo con el magic level. - Código:
-
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_PLANTATTACK) --setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 5, 10)
function onGetFormulaValues(cid, level, maglevel) min = (level * -4 + maglevel * -1) * 4 - 2 max = (level * -4 + maglevel * -1) * 7 if min < 250 then min = 250 end
return min, max end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
ahora les dejo un ejemplo mas completo de una spell creada en mi server (exp alta, ataque alto) - Código:
-
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE,COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT,CONST_ME_HITAREA) --setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, 5, 10, 0)
function onGetFormulaValues(cid, level, maglevel) min = (level * -4 + maglevel * -1) * 4 - 2 max = (level * -4 + maglevel * -1) * 7 if min < 250 then min = 250 end
return min, max end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
arr = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 2, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, }
local area = createCombatArea(arr) setCombatArea(combat, area)
function onCastSpell(cid, var) return doCombat(cid, combat, var) end
Espero les haya servido, y no cometa un error, es mi primer tema ayudando a los demas, quizas no sea de gran ayuda pero puede que algunos no sepan y les suceda aquel desbalance, Gracias. Le Doi Los Creditos Al Foro Otserv 98% Que De Ahi Lo Traje y Amii 2% Que Lo Traje Al Foro
Última edición por God Dunckan el Sáb Mayo 21, 2011 5:41 pm, editado 1 vez | |
|