RSG References
🖥️ Server Event Reference
RSG References
🖥️ Server Event Reference
Learn about and how to use common core server events!
RSGCore:Server:CloseServer
- Event to check if the server is closed
RegisterNetEvent('RSGCore:Server:CloseServer', function(reason)
local src = source
if RSGCore.Functions.HasPermission(src, 'admin') then
reason = reason or 'No reason specified'
RSGCore.Config.Server.Closed = true
RSGCore.Config.Server.ClosedReason = reason
for k in pairs(RSGCore.Players) do
if not RSGCore.Functions.HasPermission(k, RSGCore.Config.Server.WhitelistPermission) then
RSGCore.Functions.Kick(k, reason, nil, nil)
end
end
else
RSGCore.Functions.Kick(src, 'You don\'t have permissions for this..', nil, nil)
end
end)
RSGCore:Server:OpenServer
- Event to check if the server is OpenServer
RegisterNetEvent('RSGCore:Server:OpenServer', function()
local src = source
if RSGCore.Functions.HasPermission(src, 'admin') then
RSGCore.Config.Server.Closed = false
else
RSGCore.Functions.Kick(src, 'You don\'t have permissions for this..', nil, nil)
end
end)
RSGCore:UpdatePlayer
- Event for updating and saving player data
RegisterNetEvent('RSGCore:UpdatePlayer', function()
local src = source
local Player = RSGCore.Functions.GetPlayer(src)
if not Player then return end
local newHunger = Player.PlayerData.metadata['hunger'] - RSGCore.Config.Player.HungerRate
local newThirst = Player.PlayerData.metadata['thirst'] - RSGCore.Config.Player.ThirstRate
local newCleanliness = Player.PlayerData.metadata['cleanliness'] - RSGCore.Config.Player.CleanlinessRate
if newHunger <= 0 then
newHunger = 0
end
if newThirst <= 0 then
newThirst = 0
end
if newCleanliness <= 0 then
newCleanliness = 0
end
Player.Functions.SetMetaData('thirst', newThirst)
Player.Functions.SetMetaData('hunger', newHunger)
Player.Functions.SetMetaData('cleanliness', newCleanliness)
TriggerClientEvent('hud:client:UpdateNeeds', src, newHunger, newThirst, newCleanliness)
Player.Functions.Save()
end)
RSGCore:Server:SetMetaData
- Event to set a players metadata
RegisterNetEvent('RSGCore:Server:SetMetaData', function(meta, data)
local src = source
local Player = RSGCore.Functions.GetPlayer(src)
if not Player then return end
if meta == 'hunger' or meta == 'thirst' or meta == 'cleanliness' then
if data > 100 then
data = 100
end
end
Player.Functions.SetMetaData(meta, data)
TriggerClientEvent('hud:client:UpdateNeeds', src, Player.PlayerData.metadata['hunger'], Player.PlayerData.metadata['thirst'], Player.PlayerData.metadata['cleanliness'])
end)
RSGCore:ToggleDuty
- Event to toggle a player’s duty status
RegisterNetEvent('RSGCore:ToggleDuty', function()
local src = source
local Player = RSGCore.Functions.GetPlayer(src)
if not Player then return end
if Player.PlayerData.job.onduty then
Player.Functions.SetJobDuty(false)
TriggerClientEvent('ox_lib:notify', src, {title = Lang:t('info.off_duty'), type = 'info', duration = 5000 })
else
Player.Functions.SetJobDuty(true)
TriggerClientEvent('ox_lib:notify', src, {title = Lang:t('info.on_duty'), type = 'info', duration = 5000 })
end
TriggerEvent('RSGCore:Server:SetDuty', src, Player.PlayerData.job.onduty)
TriggerClientEvent('RSGCore:Client:SetDuty', src, Player.PlayerData.job.onduty)
end)
RSGCore:CallCommand
- Event to trigger a command outside the chat (ex: rsg-adminmenu)
RegisterNetEvent('RSGCore:CallCommand', function(command, args)
local src = source
if not RSGCore.Commands.List[command] then return end
local Player = RSGCore.Functions.GetPlayer(src)
if not Player then return end
local hasPerm = RSGCore.Functions.HasPermission(src, 'command.' .. RSGCore.Commands.List[command].name)
if hasPerm then
if RSGCore.Commands.List[command].argsrequired and #RSGCore.Commands.List[command].arguments ~= 0 and not args[#RSGCore.Commands.List[command].arguments] then
TriggerClientEvent('ox_lib:notify', src, {title = Lang:t('error.missing_args2'), type = 'error', duration = 5000 })
else
RSGCore.Commands.List[command].callback(src, args)
end
else
TriggerClientEvent('ox_lib:notify', src, {title = Lang:t('error.no_access'), type = 'error', duration = 5000 })
end
end)