2026-04-14 17:41:39 +02:00

44 lines
1.4 KiB
Lua

RegisterServerEvent('esx_accessories:pay')
AddEventHandler('esx_accessories:pay', function()
local xPlayer = ESX.Player(source)
xPlayer.removeMoney(Config.Price, "Accessory Purchase")
TriggerClientEvent('esx:showNotification', source, TranslateCap('you_paid', ESX.Math.GroupDigits(Config.Price)))
end)
RegisterServerEvent('esx_accessories:save')
AddEventHandler('esx_accessories:save', function(skin, accessory)
local source = source
local xPlayer = ESX.Player(source)
TriggerEvent('esx_datastore:getDataStore', 'user_' .. string.lower(accessory), xPlayer.getIdentifier(), function(store)
store.set('has' .. accessory, true)
local itemSkin = {}
local item1 = string.lower(accessory) .. '_1'
local item2 = string.lower(accessory) .. '_2'
itemSkin[item1] = skin[item1]
itemSkin[item2] = skin[item2]
store.set('skin', itemSkin)
end)
end)
ESX.RegisterServerCallback('esx_accessories:get', function(source, cb, accessory)
local xPlayer = ESX.Player(source)
TriggerEvent('esx_datastore:getDataStore', 'user_' .. string.lower(accessory), xPlayer.getIdentifier(), function(store)
local hasAccessory = (store.get('has' .. accessory) and store.get('has' .. accessory) or false)
local skin = (store.get('skin') and store.get('skin') or {})
cb(hasAccessory, skin)
end)
end)
ESX.RegisterServerCallback('esx_accessories:checkMoney', function(source, cb)
local xPlayer = ESX.Player(source)
cb(xPlayer.getMoney() >= Config.Price)
end)