othereality 46 Postado Outubro 23, 2011 Share Postado Outubro 23, 2011 Eai galera.. O sistema que eu usa para fazer magias me permite faze-las baseadas no skill, só que tem que ser o skill da arma que eu estou usando. Vejam: function getSpellDamage(cid, weaponSkill, weaponAttack) damage_min = (weaponSkill * weaponAttack / 30) * 2.5 damage_max = (weaponSkill * weaponAttack / 30) * 3.7 if(damage_max < damage_min) then local tmp = damage_max damage_max = damage_min damage_min = tmp end return -damage_min, -damage_max end Quero saber se existe a possibilidade de eu substituir weaponSkill pelo skill especifico. para fazer uma magia baseada em sword skill mesmo que o player esteja com um axe ou club na mão ou o contrario. caso não tenha entendido é só postar que eu explico. Obrigado a todos que responderem. Link para o comentário Compartilhar em outros sites More sharing options...
jedian1 34 Postado Outubro 23, 2011 Share Postado Outubro 23, 2011 cara, como você aplica ela num script? essa função, posta um exemplo de magia aí, pra confirmar oque eu to pensando Link para o comentário Compartilhar em outros sites More sharing options...
othereality 46 Postado Outubro 23, 2011 Autor Share Postado Outubro 23, 2011 aqui vai um exemplo de uma magia usando a função: local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) function getSpellDamage(cid, weaponSkill, weaponAttack, lv) damage_min = lv * weaponAttack /3 damage_max = lv * weaponAttack /2.4 if(damage_max < damage_min) then local tmp = damage_max damage_max = damage_min damage_min = tmp end return -damage_min, -damage_max end setCombatCallback(combat1, CALLBACK_PARAM_SKILLVALUE, "getSpellDamage") arr1 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } local area1 = createCombatArea(arr1) setCombatArea(combat1, area1) local function onCastSpell1(parameters) doCombat(parameters.cid, combat1, parameters.var) end function onCastSpell(cid, var) if exhaustion.check(cid, 23009) == FALSE then local parameters = { cid = cid, var = var} addEvent(onCastSpell1, 100, parameters) exhaustion.set(cid, 23009, 8) return TRUE else doPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid, 23009).."]") end end Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados