Scripts/resources/[qb]/[qb_extras]/qb-gym/server/server.lua
2024-12-29 21:07:50 +01:00

81 lines
2.9 KiB
Lua

local QBCore = exports['qb-core']:GetCoreObject()
QBCore.Functions.CreateCallback('skillsystem:fetchStatus', function(source, cb)
local Player = QBCore.Functions.GetPlayer(source)
if Player then
local status = MySQL.scalar.await('SELECT skills FROM players WHERE citizenid = ?', {Player.PlayerData.citizenid})
if status ~= nil then
cb(json.decode(status))
else
cb(nil)
end
else
cb()
end
end)
RegisterServerEvent('skillsystem:update')
AddEventHandler('skillsystem:update', function (data)
local Player = QBCore.Functions.GetPlayer(source)
--print(data)
MySQL.query('UPDATE players SET skills = @skills WHERE citizenid = @citizenid', {
['@skills'] = data,
['@citizenid'] = Player.PlayerData.citizenid
})
end)
RegisterServerEvent('qb-gym:checkChip', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local quantity = Player.Functions.GetItemByName('fitness_subscription').amount
if quantity > 0 then
TriggerClientEvent('qb-gym:trueMembership', src) -- true
else
TriggerClientEvent('qb-gym:falseMembership', src) -- false
end
end)
RegisterServerEvent('qb-gym:buyMembership', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
if Player.PlayerData.money.cash >= Config.MmbershipCardPrice then
Player.Functions.RemoveMoney('cash', Config.MmbershipCardPrice)
Player.Functions.AddItem(Config.MmbershipCardPrice, 1)
TriggerClientEvent('QBCore:Notify', src, 'Du betalte for et medlemskab', 'success', 3000)
TriggerClientEvent('qb-gym:trueMembership', src) -- true
else
TriggerClientEvent('QBCore:Notify', src, 'Du har ikke råd, du skal bruge '.. Config.MmbershipCardPrice..',- DKK', 'error', 3000)
end
end)
RegisterNetEvent("qb-gym:server:buyTicket")
AddEventHandler("qb-gym:server:buyTicket", function(ticket)
local src = source
local data = Config.ticketPrice[ticket]
local Player = QBCore.Functions.GetPlayer(source)
local moneyPlayer = tonumber(Player.PlayerData.money.bank)
if moneyPlayer > data.price then
Player.Functions.RemoveMoney("bank", tonumber(data.price), "gym-ticket")
if Player.Functions.GetItemByName(ticket) then
TriggerClientEvent("qb-gym:clientticketResult", source, ticket)
else
local info = {
owner = Player.PlayerData.charinfo.firstname.." "..Player.PlayerData.charinfo.lastname,
cardtime = Config.ticketPrice[ticket].time
}
Player.Functions.AddItem(ticket, 1, false, info)
TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items[ticket], "add", 1)
TriggerClientEvent("qb-gym:clientticketResult", source, ticket)
TriggerClientEvent('QBCore:Notify', source, "Du købte "..ticket.." medlemskab", "success")
end
else
TriggerClientEvent('QBCore:Notify', source, "! You dont have enough money", "error")
end
end)