why ?
PHP:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 1)
function onGetFormulaValues(cid, level, skill, attack, factor)
local skillTotal, levelTotal = getPlayerStorageValue(getCreatureMaster(cid),STORAGE.TAILEVEL), getPlayerStorageValue(getCreatureMaster(cid),STORAGE.LEVEL)
return -(skillTotal * 0.1 + levelTotal), -(skillTotal * 1.0 + levelTotal)
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
local function onCastSpell(parameters)
doCombat(parameters.cid, parameters.combat, parameters.var)
end
function onAttack(cid, target)
var = numberToVariant(cid)
local parameters = {cid = cid, var = var, combat = combat}
if isMonster(cid) and isPlayer(getCreatureMaster(cid)) then
if getDistanceBetween(getCreaturePosition(cid), getCreaturePosition(target)) == 1 then
addEvent(onCastSpell, 2000, parameters)
end
end
return true
end