Seu script parecia estar com erro, estava duplicado a função onCastSpel().
Substitui o código por esse:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_MANADRAIN)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, 250, 0, 320)
local id_magic_plate_armor = 2472 -- ID DO MAGIC PLATE ARMOR
local message = false -- SE QUISER QUE TENHA UMA MENSAGEM PARA O PLAYER SABER QUE FOI CURADO A MAIS POR ESTAR EQUIPADO COM MAGIC PLATE ARMOR, MUDE PARA true
local text = "Você teve +" .. mana_magic_plate_armor .. " de cura por estar equipado com " .. getItemName(getPlayerSlotItem(cid, CONST_SLOT_ARMOR).uid) .. "." -- TEXTO CASO TENHA MENSAGEM
-------- CÓDIGO ---------
function onCastSpell(cid, var)
local mana_magic_plate_armor = math.random(20, 30) -- O TANTO DE MANA QUE VAI CURAR SE TIVER EQUIPADO COM MAGIC PLATE ARMOR. ESTÁ ENTRE 20-30 A MAIS DE CURA DA MANA
local id_item_slot_armor = getItemIdByName(getItemName(getPlayerSlotItem(cid, CONST_SLOT_ARMOR).uid)) -- NÃO MEXER, ESSA VARIÁVEL PEGA O ID DO ITEM EQUIPADO NO SLOT DE ARMOR
if getPlayerLevel(cid) > 200 then
doSendAnimatedText(getPlayerPosition(cid), "Aaaaah...", TEXTCOLOR_BLUE)
end
if (((getPlayerLevel(cid))%10) == 0) then
manaextra = (((getPlayerLevel(cid))/10)*3)
else
manaextra = ((((getPlayerLevel(cid))/10)+0.5)*3)
end
if id_magic_plate_armor == id_item_slot_armor then
doCreatureAddMana(cid, math.floor(manaextra + mana_magic_plate_armor))
if message then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, text)
end
else
doCreatureAddMana(cid, manaextra)
end
return doCombat(cid, combat, var)
end
Deixei tudo comentado, mas praticamente você vai precisar mexer no id do Magic Plate Armor, olhei aqui em uma base de Tibia e estava com esse ID 2472, precisa ver no itens.xml se é esse ID mesmo. Caso queira que tenha mensagem, só mudar a variável message de false para true e se quiser mudar o texto, só alterar na variável text, mas cuidado para não apagar os dois hífen (que é assim para se comentar em lua) que vai dar ruim kk. Você também pode alterar a quantidade mínima e máxima de cura extra alterando o valor entre parênteses da variável mana_magic_plate_armor mudando o valor dentro da função math.random.
Procurei deixar o mais intuitivo possível, eu testei e funcionou, mas, qualquer problema me avisa.