Z-staff
Exports, events, callbacks en state bags van Z-staff.
Zelfde export-namen op ESX, Qbox en QBCore.
Exports (server)
| Export | Argumenten | Return |
|---|---|---|
IsOnDuty | source | boolean |
IsStaff | source | boolean (en kan grantStaff op het panel triggeren) |
SetDuty | source, goingOnDuty | { ok, duty, error?, unchanged? } |
ToggleDuty | source | zelfde als SetDuty |
GetAllowedIdentifiers | — | Config.allowedIdentifiers |
Voorbeeld:
if exports['Z-staff']:IsOnDuty(src) then
-- staff in dienst
end
local result = exports['Z-staff']:SetDuty(src, true)
-- result.ok, result.duty, result.error = 'busy' | 'permission'
Het panel zelf gebruikt IsOnDuty in Utils.isOnStaffDuty. Andere scripts (logs, HUD, staff-tag) kunnen hetzelfde export gebruiken.
Exports (client)
| Export | Return |
|---|---|
IsOnDuty | lokale onDuty boolean |
if exports['Z-staff']:IsOnDuty() then
-- client is in dienst
end
Server events (luisteren)
| Event | Args | Wanneer |
|---|---|---|
Z-staff:server:dutyChanged | source, goingOnDuty | na geslaagde duty-wissel |
Z-staff luistert hierop om clock-in/out en erp-staff:client:dutyOff te doen.
AddEventHandler('Z-staff:server:dutyChanged', function(src, onDuty)
print(src, onDuty and 'in dienst' or 'uit dienst')
end)
Client events
| Event | Framework | Wat |
|---|---|---|
Z-staff:client:setDuty | alle | animatie + outfit |
esx:playerLoaded / esx:onPlayerLogout | ESX | sync / wissen |
qbx_core:client:playerLoaded / playerLoggedOut | Qbox | sync / wissen |
QBCore:Client:OnPlayerLoaded / OnPlayerUnload | Qbox + QBCore | sync / wissen |
Callbacks
| Naam | Kant | Return |
|---|---|---|
Z-staff:client:getClothing | client | { components, props } |
Z-staff:server:isOnDuty | server | boolean |
Z-staff:server:getDutyState | server | { onDuty, clothing } |
State bags
| Bag | Scope | Waarde |
|---|---|---|
staffdienst | player, replicated | true / false |
Player(src).state.staffdienst
LocalPlayer.state.staffdienst
Metadata
ESX
xPlayer.getMeta('staffdienst')
-- { onduty = true/false, clothing = { components, props } | nil }
Qbox / QBCore
player.PlayerData.metadata.staffdienst
-- { onduty = true/false, clothing = { components, props } | nil }
Bij uitdienst wordt clothing nil. Bij in dienst staat de snapshot van het civiele outfit erin.
Events die dienst naar het panel stuurt
| Call | Doel |
|---|---|
exports[panel]:grantStaff(src) | rank forceren als identifier/ACE/framework-group matcht |
exports[panel]:getStaff(src) | bestaande rank lezen |
exports[panel]:refreshStaff(src) | Discord opnieuw ophalen |
exports[panel]:setDuty(src, bool) | uren + panel-state |
TriggerClientEvent('erp-staff:client:dutyOff', src) | panel sluiten + tools uit |
De 0 als dummy-eerste-arg in panelExport is expres: sommige FiveM export-wrappers eten het eerste argument op.