β€οΈCooldown Integration on Frameworks
QB-Core
function self.Functions.SetJob(job, grade)
job = job:lower()
grade = grade or '0'
if not QBCore.Shared.Jobs[job] then return false end
if exports['mg-jobCenter']:HasCooldown(self.PlayerData.citizenid) then
TriggerClientEvent('QBCore:Notify', self.PlayerData.source, 'You are still on cooldown!', 'error', 5000)
return false
end
self.PlayerData.job = {
name = job,
label = QBCore.Shared.Jobs[job].label,
onduty = QBCore.Shared.Jobs[job].defaultDuty,
type = QBCore.Shared.Jobs[job].type or 'none',
grade = {
name = 'No Grades',
level = 0,
payment = 30,
isboss = false
}
}
local gradeKey = tostring(grade)
local jobGradeInfo = QBCore.Shared.Jobs[job].grades[gradeKey]
if jobGradeInfo then
self.PlayerData.job.grade.name = jobGradeInfo.name
self.PlayerData.job.grade.level = tonumber(gradeKey)
self.PlayerData.job.grade.payment = jobGradeInfo.payment
self.PlayerData.job.grade.isboss = jobGradeInfo.isboss or false
self.PlayerData.job.isboss = jobGradeInfo.isboss or false
end
exports['mg-jobCenter']:SetPlayerCooldown(self.PlayerData.citizenid)
TriggerClientEvent('QBCore:Notify', self.PlayerData.source, 'You are now on Job Cooldown!', 'success', 5000)
if not self.Offline then
self.Functions.UpdatePlayerData()
TriggerEvent('QBCore:Server:OnJobUpdate', self.PlayerData.source, self.PlayerData.job)
TriggerClientEvent('QBCore:Client:OnJobUpdate', self.PlayerData.source, self.PlayerData.job)
end
return true
endESX
Last updated