Server Creator·Exports

Exports

DS-ServerCreator espone export lato server che permettono alle tue resource di riutilizzare i sistemi di permessi, doorlock, multijob e rapine configurati dal pannello in-game.

Export lato server
Chiama questi export da uno script server. Uno script client non può usarli direttamente: quando serve un’interazione client, passa attraverso un evento server protetto nella tua resource.

Permessi

HasPermission

server

Controlla se un player può usare una delle azioni configurate in Server Creator. Considera sia le azioni globali sia i permessi assegnati al job attuale.

Firma

Lua
exports['DS-ServerCreator']:HasPermission(playerId, permission)

Parametri

NomeTipoDescrizione
playerIdnumberIl server ID del player.
permissionstringLa chiave del permesso, ad esempio handcuff, drag, billing, revive oppure check_identity.

Restituisce

boolean

true se l’azione è consentita, altrimenti false.

Esempio

Lua
if exports['DS-ServerCreator']:HasPermission(source, 'handcuff') then
  -- The player can use the handcuff action
end

GetPlayerPermissions

server

Restituisce la mappa dei permessi effettivi del player, unendo i permessi del job alle azioni globali abilitate.

Firma

Lua
exports['DS-ServerCreator']:GetPlayerPermissions(playerId)

Parametri

NomeTipoDescrizione
playerIdnumberIl server ID del player.

Restituisce

table

Una tabella indicizzata per nome del permesso. Restituisce una tabella vuota se non ci sono permessi applicabili o il player ID non è valido.

Esempio

Lua
local permissions = exports['DS-ServerCreator']:GetPlayerPermissions(source)
if permissions.billing then
  -- Show the billing option
end

IsPlayerHandcuffed

client

Legge lo stato locale e controlla se il player client è attualmente ammanettato da Server Creator.

Firma

Lua
exports['DS-ServerCreator']:IsPlayerHandcuffed()

Restituisce

boolean

true mentre il player locale è ammanettato, altrimenti false.

Esempio

Lua
if exports['DS-ServerCreator']:IsPlayerHandcuffed() then
  -- Block an action for the local cuffed player
end

IsPlayerHandcuffed

server

Controlla se uno specifico player è attualmente ammanettato dalle azioni integrate di Server Creator.

Firma

Lua
exports['DS-ServerCreator']:IsPlayerHandcuffed(playerId)

Parametri

NomeTipoDescrizione
playerIdnumberIl server ID del player.

Restituisce

boolean

true mentre il player è ammanettato, altrimenti false.

Esempio

Lua
if exports['DS-ServerCreator']:IsPlayerHandcuffed(targetId) then
  print('The player is handcuffed')
end

Doorlock

GetDoorState

server

Legge lo stato live autorevole di una porta integrata in Server Creator.

Firma

Lua
exports['DS-ServerCreator']:GetDoorState(reference)

Parametri

NomeTipoDescrizione
referencenumber | stringL’ID numerico del database oppure il nome stabile della porta configurato nel pannello.

Restituisce

string | nil, string?

locked oppure unlocked. Se la porta non esiste, restituisce nil seguito da door_not_found.

Esempio

Lua
local state, errorCode = exports['DS-ServerCreator']:GetDoorState('bank_vault')
if state == 'locked' then
  print('The vault is locked')
end

SetDoorState

server

Imposta lo stato live della porta, sincronizza tutti i client, esegue l’hook configurato e attiva l’autolock quando previsto.

Firma

Lua
exports['DS-ServerCreator']:SetDoorState(reference, newState)

Parametri

NomeTipoDescrizione
referencenumber | stringL’ID numerico del database oppure il nome stabile della porta configurato nel pannello.
newStatestringIl nuovo stato: locked oppure unlocked.

Restituisce

boolean, string

Un booleano di successo seguito dallo stato risultante, oppure da un codice errore.

Esempio

Lua
local success, stateOrError = exports['DS-ServerCreator']:SetDoorState('bank_vault', 'unlocked')

ToggleDoor

server

Alterna la porta tra locked e unlocked usando la stessa sincronizzazione autorevole delle interazioni normali.

Firma

Lua
exports['DS-ServerCreator']:ToggleDoor(reference)

Parametri

NomeTipoDescrizione
referencenumber | stringL’ID numerico del database oppure il nome stabile della porta configurato nel pannello.

Restituisce

boolean, string

Un booleano di successo seguito dallo stato risultante, oppure da un codice errore.

Esempio

Lua
local success, stateOrError = exports['DS-ServerCreator']:ToggleDoor('bank_vault')

Multijob

GetPlayerJobs

server

Restituisce tutti i job posseduti dal player, completi delle label di job e grado. Passando un identifier supporta anche le ricerche offline.

Firma

Lua
exports['DS-ServerCreator']:GetPlayerJobs(player)

Parametri

NomeTipoDescrizione
playernumber | stringIl server ID di un player online oppure un identifier del framework per una ricerca offline.

Restituisce

table

Un array contenente job_name, job_grade, is_active, job_label e grade_label.

Esempio

Lua
local jobs = exports['DS-ServerCreator']:GetPlayerJobs(source)
for _, job in ipairs(jobs) do
  print(job.job_name, job.job_grade, job.is_active)
end

HasPlayerJob

server

Controlla se un player possiede un job, con la possibilità di richiedere un grado minimo.

Firma

Lua
exports['DS-ServerCreator']:HasPlayerJob(player, jobName, minimumGrade)

Parametri

NomeTipoDescrizione
playernumber | stringIl server ID di un player online oppure un identifier del framework per una ricerca offline.
jobNamestringIl nome interno del job, ad esempio police.
minimumGrade?numberGrado minimo facoltativo. Omettilo per accettare qualsiasi grado del job.

Restituisce

boolean

true se il player possiede il job richiesto e soddisfa il requisito di grado.

Esempio

Lua
if exports['DS-ServerCreator']:HasPlayerJob(source, 'police', 2) then
  -- The player holds police grade 2 or higher
end

Rapine

GetRobberies

server

Restituisce tutte le definizioni delle rapine usando lo stesso formato sicuro inviato ai player normali.

Firma

Lua
exports['DS-ServerCreator']:GetRobberies()

Restituisce

table

Un array di rapine sanitizzate, comprensivo di step pubblici, marker, blip e suoni.

Esempio

Lua
local robberies = exports['DS-ServerCreator']:GetRobberies()
for _, robbery in ipairs(robberies) do
  print(robbery.id, robbery.name, robbery.enabled)
end

IsRobberyActive

server

Controlla se una rapina possiede attualmente una sessione runtime attiva.

Firma

Lua
exports['DS-ServerCreator']:IsRobberyActive(robberyId)

Parametri

NomeTipoDescrizione
robberyIdnumberL’ID numerico della rapina mostrato nel pannello Server Creator.

Restituisce

boolean

true mentre la rapina è riservata o in corso, altrimenti false.

Esempio

Lua
if exports['DS-ServerCreator']:IsRobberyActive(1) then
  print('Robbery #1 is in progress')
end

GetRobberyState

server

Restituisce lo stato live pubblico di una rapina, inclusi stato, step attuale, numero di partecipanti, prop raccolti e cooldown residuo.

Firma

Lua
exports['DS-ServerCreator']:GetRobberyState(robberyId)

Parametri

NomeTipoDescrizione
robberyIdnumberL’ID numerico della rapina mostrato nel pannello Server Creator.

Restituisce

table | nil

La tabella dello stato live oppure nil se l’ID della rapina non esiste.

Esempio

Lua
local state = exports['DS-ServerCreator']:GetRobberyState(1)
if state then
  print(state.state, state.currentStep, state.cooldownRemaining)
end
I dati sensibili restano privati
GetRobberies non espone mai codici keypad, ricompense, probabilità di allerta o altri valori riservati al server. Le tabelle restituite sono copie: modificarle non cambia lo stato interno di Server Creator.

Sei ancora bloccato?

Apri un ticket nel nostro Discord e ti diamo una mano.

Entra nel Discord →