local info = exports['sl-queue']:GetPlayerQueueInfo(source)
if info then
print("Position:", info.position)
print("Priority tier:", info.tier)
print("Join time:", info.joinTime)
end
local ticket = exports['sl-queue']:GetPlayerTicketStatus(source)
print("Ticket type:", ticket.ticketType)
if ticket.job then
print("Job:", ticket.job)
end
local canUse = exports['sl-queue']:CanUseCharacter(source, "char1:license")
if canUse then
print("Player can use this character")
end
local jobStats = exports['sl-queue']:GetJobTicketStats()
for job, stats in pairs(jobStats) do
local usage = math.floor((stats.currentTickets / stats.maxTickets) * 100)
print(string.format("%s: %d/%d (%d%% full)",
job, stats.currentTickets, stats.maxTickets, usage))
end
local status = exports['sl-queue']:GetServerStatus()
if status.technicalBreak then
local minutes = math.floor(status.remainingTime / 60)
print("Technical break:", minutes, "minutes remaining")
end
local isAdmin = exports['sl-queue']:IsPlayerAdmin(source)
if isAdmin then
print("Player is an admin")
end
local adminCount = exports['sl-queue']:GetAdminCount()
print("Admins online:", adminCount)
local queueList = exports['sl-queue']:GetQueueList()
for i, player in ipairs(queueList) do
print(string.format("%d. %s (Tier: %d)",
player.position, player.name, player.tier))
end
local stats = exports['sl-queue']:GetServerStats()
print(string.format("Server: %d/%d online, %d in queue",
stats.queue.onlineCount,
stats.queue.maxPlayers,
stats.queue.count))
function GetServerOverview()
local stats = exports['sl-queue']:GetServerStats()
return {
online = stats.queue.onlineCount,
capacity = stats.queue.maxPlayers,
queue = stats.queue.count,
admins = stats.adminCount,
utilization = math.floor((stats.queue.onlineCount / stats.queue.maxPlayers) * 100)
}
end
function CheckPlayer(source)
local isAdmin = exports['sl-queue']:IsPlayerAdmin(source)
local inQueue = exports['sl-queue']:IsPlayerInQueue(source)
if isAdmin then
return "Administrator"
elseif inQueue then
local position = exports['sl-queue']:GetPlayerQueuePosition(source)
return "In queue at position " .. position
else
return "Connected to server"
end
end
function MonitorQueue()
CreateThread(function()
while true do
local count = exports['sl-queue']:GetQueueCount()
local online = exports['sl-queue']:GetOnlineCount()
local max = exports['sl-queue']:GetMaxPlayers()
print(string.format("[QUEUE] %d online | %d in queue | %d/%d capacity",
online, count, online, max))
Wait(30000) -- Check every 30 seconds
end
end)
end
function ShowJobDashboard()
local jobStats = exports['sl-queue']:GetJobTicketStats()
print("=== JOB TICKETS DASHBOARD ===")
for job, stats in pairs(jobStats) do
local percentage = math.floor((stats.currentTickets / stats.maxTickets) * 100)
local status = percentage >= 80 and "🔴 HIGH" or percentage >= 50 and "🟡 MED" or "🟢 LOW"
print(string.format("%s: %d/%d (%d%%) %s",
job, stats.currentTickets, stats.maxTickets, percentage, status))
end
end