This repository has been archived on 2025-12-11. You can view files and clone it, but cannot push or open issues or pull requests.
2025-02-02 10:40:42 +01:00

81 lines
2.5 KiB
Lua

RegisterServerEvent("ui_skin:save")
AddEventHandler("ui_skin:save", function(skin)
local xPlayer = ESX.GetPlayerFromId(source)
if not ESX.GetConfig().OxInventory then
local defaultMaxWeight = ESX.GetConfig().MaxWeight
local backpackModifier = Config.BackpackWeight[skin.bags_1]
if backpackModifier then
xPlayer.setMaxWeight(defaultMaxWeight + backpackModifier)
else
xPlayer.setMaxWeight(defaultMaxWeight)
end
end
MySQL.update("UPDATE users SET skin = @skin WHERE identifier = @identifier", {
["@skin"] = json.encode(skin),
["@identifier"] = xPlayer.identifier,
})
end)
RegisterServerEvent("ui_skin:setWeight")
AddEventHandler("ui_skin:setWeight", function(skin)
local xPlayer = ESX.GetPlayerFromId(source)
if not ESX.GetConfig().OxInventory then
local defaultMaxWeight = ESX.GetConfig().MaxWeight
local backpackModifier = Config.BackpackWeight[skin.bags_1]
if backpackModifier then
xPlayer.setMaxWeight(defaultMaxWeight + backpackModifier)
else
xPlayer.setMaxWeight(defaultMaxWeight)
end
end
end)
RegisterServerEvent("ui_skin:responseSaveSkin")
AddEventHandler("ui_skin:responseSaveSkin", function(skin)
local xPlayer = ESX.GetPlayerFromId(source)
if xPlayer.getGroup() == "admin" then
local file = io.open("resources/[core]/ui_skin/skins.txt", "a")
file:write(json.encode(skin) .. "\n\n")
file:flush()
file:close()
else
print(("[^2INFO^7] ^5%s^7 attempted saving skin to file"):format(xPlayer.getIdentifier()))
end
end)
ESX.RegisterServerCallback("ui_skin:getPlayerSkin", function(source, cb)
local xPlayer = ESX.GetPlayerFromId(source)
MySQL.query("SELECT skin FROM users WHERE identifier = @identifier", {
["@identifier"] = xPlayer.identifier,
}, function(users)
local user, skin = users[1]
local jobSkin = {
skin_male = xPlayer.job.skin_male,
skin_female = xPlayer.job.skin_female,
}
if user.skin then
skin = json.decode(user.skin)
end
cb(skin, jobSkin)
end)
end)
ESX.RegisterCommand("skin", "admin", function(xPlayer)
xPlayer.triggerEvent("ui_skin:openSaveableMenu")
end, false, { help = TranslateCap("skin") })
ESX.RegisterCommand("skinsave", "admin", function(xPlayer)
xPlayer.triggerEvent("ui_skin:requestSaveSkin")
end, false, { help = TranslateCap("saveskin") })