Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ETHEREALSPEAR)
local a = getPlayerSkillLevel(cid, 4)
local weaponTypes = {4}
local b = getItemAttack([(c) else (d)])
local rightHand = getPlayerSlotItem(cid, CONST_SLOT_RIGHT)
local leftHand = getPlayerSlotItem(cid, CONST_SLOT_LEFT)
local c = getItemWeaponType(rightHand.uid)
local d = getItemWeaponType(leftHand.uid)
if isInArray(weaponTypes, c) elseif
isInArray(weaponTypes, d)
then
function onGetFormulaValues(cid, level, skill, attack, factor)
return -(a*b/20), -(a*b/10)
end
doPlayerSendCancel(cid, "You need specific weapon to cast this spell.")
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end
Is my script ok?
It should checks player skill (4) and then checks if player have weapon (4) in left or right hand.
Next - if player have - it shots to a target. Skills multiplied by attack of weapon divided by 10.
Is that all ok?