forked from Qbox-project/qbx_hud
-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.lua
89 lines (77 loc) · 2.85 KB
/
server.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
local resetStress = false
-- Handlers
AddEventHandler('ox_inventory:openedInventory', function(source)
TriggerClientEvent('qbx-hud:client:hideHud', source)
end)
AddEventHandler('ox_inventory:closedInventory', function(source)
TriggerClientEvent('qbx-hud:client:showHud', source)
end)
-- Callbacks
lib.callback.register('hud:server:getMenu', function()
return Config.Menu
end)
-- Network Events
RegisterNetEvent('hud:server:GainStress', function(amount)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local newStress
if not Player or (Config.DisablePoliceStress and Player.PlayerData.job.type == 'leo') then return end
if not resetStress then
if not Player.PlayerData.metadata.stress then
Player.PlayerData.metadata.stress = 0
end
newStress = Player.PlayerData.metadata.stress + amount
if newStress <= 0 then newStress = 0 end
else
newStress = 0
end
if newStress > 100 then
newStress = 100
end
Player.Functions.SetMetaData('stress', newStress)
TriggerClientEvent('hud:client:UpdateStress', src, newStress)
TriggerClientEvent('QBCore:Notify', src, Lang:t("notify.stress_gain"), 'inform', 2500, _, _, {'#141517', '#ffffff'}, 'brain', '#C53030')
end)
RegisterNetEvent('hud:server:RelieveStress', function(amount)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local newStress
if not Player then return end
if not resetStress then
if not Player.PlayerData.metadata.stress then
Player.PlayerData.metadata.stress = 0
end
newStress = Player.PlayerData.metadata.stress - amount
if newStress <= 0 then newStress = 0 end
else
newStress = 0
end
if newStress > 100 then
newStress = 100
end
Player.Functions.SetMetaData('stress', newStress)
TriggerClientEvent('hud:client:UpdateStress', src, newStress)
TriggerClientEvent('QBCore:Notify', src, Lang:t("notify.stress_removed"), 'inform', 2500, _, _, {'#141517', '#ffffff'}, 'brain', '#0F52BA')
end)
-- Commands
lib.addCommand(Lang:t('commands.cash'), {
help = Lang:t('commands.help.cash'),
restricted = 'group.admin'
}, function(source)
local player = QBCore.Functions.GetPlayer(source)
local cashAmount = player.PlayerData.money.cash
TriggerClientEvent('hud:client:ShowAccounts', source, 'cash', cashAmount)
end)
lib.addCommand(Lang:t('commands.bank'), {
help = Lang:t('commands.help.bank'),
}, function(source)
local player = QBCore.Functions.GetPlayer(source)
local bankAmount = player.PlayerData.money.bank
TriggerClientEvent('hud:client:ShowAccounts', source, 'bank', bankAmount)
end)
lib.addCommand('dev', {
help = Lang:t('commands.help.dev'),
restricted = 'group.admin'
}, function(source)
TriggerClientEvent("qb-admin:client:ToggleDevmode", source)
end)