local config = {
itemId = 26538, -- ID do item que concede capacidade
capacityBonus = 500, -- Quantidade de capacidade a ser concedida
storageKey = 102300 -- Storage key para controlar o bônus
}
-- Função para calcular o bônus real de capacidade
local function calculateRealBonus(bonus)
return bonus * 100 -- Multiplica por 100 para obter o valor real
end
-- Evento para equipar o item
local equipEvent = MoveEvent()
function equipEvent.onEquip(player, item, slot, isCheck)
if not isCheck and slot == CONST_SLOT_AMMO and item:getId() == config.itemId then
-- Verifica se o bônus já foi aplicado
if player:getStorageValue(config.storageKey) ~= 1 then
local realBonus = calculateRealBonus(config.capacityBonus)
player:setCapacity(player:getCapacity() + realBonus)
player:setStorageValue(config.storageKey, 1) -- Marca que o bônus foi aplicado
end
end
return true
end
equipEvent:type("equip")
equipEvent:slot("ammo")
equipEvent:id(config.itemId)
equipEvent:register()
-- Evento para desequipar o item
local deEquipEvent = MoveEvent()
function deEquipEvent.onDeEquip(player, item, slot)
if slot == CONST_SLOT_AMMO and item:getId() == config.itemId then
-- Verifica se o bônus foi aplicado
if player:getStorageValue(config.storageKey) == 1 then
local realBonus = calculateRealBonus(config.capacityBonus)
player:setCapacity(player:getCapacity() - realBonus)
player:setStorageValue(config.storageKey, -1) -- Remove a marca do bônus
end
end
return true
end
deEquipEvent:type("deequip")
deEquipEvent:slot("ammo")
deEquipEvent:id(config.itemId)
deEquipEvent:register()