Precisa fazer a verificação se o jogador possui tal item, para isso, basta utilizar a função getPlayerItemCount(cid, itemid)
function onGetFormulaValues(cid, level, maglevel)
local levelTotal = level
local min = (levelTotal * 4) / 5 + (maglevel * 25) / 2
local max = (levelTotal * 5) / 5 + (maglevel * 27) / 2
return -min, -max
end
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 33)
setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 46)
setCombatCallback(combat1, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
local function onCastSpell1(parameters)
if not isPlayer(parameters.cid) then return true end
doCombat(parameters.cid, parameters.combat1, parameters.var)
end
local config = {
requiredItem = {itemid = 2675, count = 1} -- Coloque o id do item necessário em: 'itemid = aqui', e a quantidade necessária do item em: 'count = aqui'
}
function onCastSpell(cid, var)
local parameters = {cid = cid, var = var, combat1 = combat1}
local itemName = getItemNameById(config.requiredItem.itemid)
if getPlayerItemCount(cid, config.requiredItem.itemid) < config.requiredItem.count then
if config.requiredItem.count == 1 then
doPlayerSendCancel(cid, string.format("You need %d %s to use this spell.", config.requiredItem.count, itemName))
else
doPlayerSendCancel(cid, string.format("You need %d %ss to use this spell.", config.requiredItem.count, itemName))
end
return
end
for k = 1, 10 do
addEvent(function()
if isCreature(cid) then
addEvent(onCastSpell1, 1, parameters)
end
end, 1 + ((k-1) * 300))
end
return true
end