Skip to Content

Server Exports

Tablet

GetEquippedTablet

---@param identifier number | string ---@return string | nil tabletId exports["lb-tablet"]:GetEquippedTablet(identifier)

GetSourceFromTablet

---@param tabletId string ---@return number | nil source exports["lb-tablet"]:GetSourceFromTablet(tabletId)

GetSettings

---@param tabletId string ---@return table? exports["lb-tablet"]:GetSettings(tabletId)

Notifications

SendNotification

Types

---@class NewNotification ---@field app string ---@field id? number | string ---@field tabletId? string ---@field source? number ---@field title string ---@field content? string ---@field thumbnail? string ---@field avatar? string ---@field showAvatar? boolean ---@field customData? CustomNotificationData ---@field dontSaveToDatabase? boolean ---@class CustomNotificationData ---@field buttons? NotificationButton[] ---@class NotificationButton ---@field title string ---@field event? string ---@field server? boolean ---@field data any
---@param data NewNotification ---@return number? id exports["lb-tablet"]:SendNotification(data)

NotifyEveryone

Types

---@class NewNotification ---@field app string ---@field id? number | string ---@field tabletId? string ---@field source? number ---@field title string ---@field content? string ---@field thumbnail? string ---@field avatar? string ---@field showAvatar? boolean ---@field customData? CustomNotificationData ---@field dontSaveToDatabase? boolean ---@class CustomNotificationData ---@field buttons? NotificationButton[] ---@class NotificationButton ---@field title string ---@field event? string ---@field server? boolean ---@field data any
---@param data NewNotification ---@param saveToDatabase boolean? exports["lb-tablet"]:NotifyEveryone(data, saveToDatabase)

NotifyTablets

Types

---@class NewNotification ---@field app string ---@field id? number | string ---@field tabletId? string ---@field source? number ---@field title string ---@field content? string ---@field thumbnail? string ---@field avatar? string ---@field showAvatar? boolean ---@field customData? CustomNotificationData ---@field dontSaveToDatabase? boolean ---@class CustomNotificationData ---@field buttons? NotificationButton[] ---@class NotificationButton ---@field title string ---@field event? string ---@field server? boolean ---@field data any
---@param tabletIds string[] ---@param data NewNotification ---@param excludeTablets string[]? exports["lb-tablet"]:NotifyTablets(tabletIds, data, excludeTablets)

MDT tags

GetMDTTags

Types

---@class MDTTag ---@field id number ---@field title string ---@field color string ---@field type MDTTagType ---@alias MDTTagType "employee" | "profile" | "weapon" | "vehicle" | "property" | string
---@param mdt string ---@return { [number]: MDTTag } exports["lb-tablet"]:GetMDTTags(mdt)

GetMDTTag

Types

---@class MDTTag ---@field id number ---@field title string ---@field color string ---@field type MDTTagType ---@alias MDTTagType "employee" | "profile" | "weapon" | "vehicle" | "property" | string
---@param mdt string ---@param tagId number ---@return MDTTag? exports["lb-tablet"]:GetMDTTag(mdt, tagId)

CreateMDTTag

Types

---@alias MDTTagType "employee" | "profile" | "weapon" | "vehicle" | "property" | string ---@class MDTTag ---@field id number ---@field title string ---@field color string ---@field type MDTTagType
---@param mdt string ---@param title string ---@param color string # the color name, or hex ---@param tagType MDTTagType ---@return MDTTag? exports["lb-tablet"]:CreateMDTTag(mdt, title, color, tagType)

DeleteMDTTag

---@param mdt string ---@param id number ---@return boolean success exports["lb-tablet"]:DeleteMDTTag(mdt, id)

Dispatch

AddDispatch

Types

---@class NewDispatchOptions ---@field priority 'high' | 'medium' | 'low' ---@field code string ---@field title string ---@field description string ---@field location { label: string, coords: { x: number, y: number } | vector2 } ---@field time number ---@field notificationTime? number ---@field image? string ---@field job? string | string[] ---@field mdt? string ---@field mdts? string[] ---@field sound? string ---@field fields? { icon: string, label: string, value?: string }[] ---@field blip? DispatchBlip ---@field responders? string[] ---@class DispatchBlip ---@field type? "default" | "radius" ---@field handle? number ---@field sprite? number ---@field color? number ---@field size? number ---@field shortRange? boolean ---@field label? string ---@field radius? number ---@field randomCoords? boolean
---@param options NewDispatchOptions ---@return number | number[] | false exports["lb-tablet"]:AddDispatch(options)

UpdateDispatch

Types

---@class NewDispatchOptions ---@field priority 'high' | 'medium' | 'low' ---@field code string ---@field title string ---@field description string ---@field location { label: string, coords: { x: number, y: number } | vector2 } ---@field time number ---@field notificationTime? number ---@field image? string ---@field job? string | string[] ---@field mdt? string ---@field mdts? string[] ---@field sound? string ---@field fields? { icon: string, label: string, value?: string }[] ---@field blip? DispatchBlip ---@field responders? string[] ---@class DispatchBlip ---@field type? "default" | "radius" ---@field handle? number ---@field sprite? number ---@field color? number ---@field size? number ---@field shortRange? boolean ---@field label? string ---@field radius? number ---@field randomCoords? boolean
---@param id number ---@param options NewDispatchOptions ---@return boolean exports["lb-tablet"]:UpdateDispatch(id, options)

GetDispatch

Types

---@class DispatchNotification ---@field id number ---@field mdt string ---@field priority 'high' | 'medium' | 'low' ---@field code string ---@field title string ---@field description string ---@field location { label: string, coords: { x: number, y: number } | vector2 } ---@field image? string ---@field fields? { icon: string, label: string, value?: string }[] ---@field timestamp? number ---@field endTime? number ---@field notificationTime? number ---@field sound? string ---@field blip? DispatchBlip ---@field responders? string[] ---@class DispatchBlip ---@field type? "default" | "radius" ---@field handle? number ---@field sprite? number ---@field color? number ---@field size? number ---@field shortRange? boolean ---@field label? string ---@field radius? number ---@field randomCoords? boolean
---@param id number ---@return DispatchNotification? exports["lb-tablet"]:GetDispatch(id)

RemoveDispatch

---@param dispatchId number ---@return boolean exports["lb-tablet"]:RemoveDispatch(dispatchId)

MDT accounts

GetMDTAccount

Types

---@class MDTAccount ---@field id string ---@field name string ---@field avatar? string ---@field callsign? string ---@field rank string
---@param mdt string ---@param target number | string # Player source or identifier ---@return MDTAccount? exports["lb-tablet"]:GetMDTAccount(mdt, target)

GetMDTCallsign

---@param mdt string ---@param target number | string # Player source or identifier ---@return string? callsign exports["lb-tablet"]:GetMDTCallsign(mdt, target)

SetMDTCallsign

---@param mdt string ---@param target number | string # Player source or identifier ---@param callsign string ---@param ignoreCheck boolean? # If true, will skip checks for callsign validity and uniqueness. Used for admin overrides. ---@return string | false callsign ---@return "invalid_target" | "invalid_callsign" | "callsign_taken" | nil reason exports["lb-tablet"]:SetMDTCallsign(mdt, target, callsign, ignoreCheck)

GetMDTAvatar

---@param mdt string ---@param target number | string # Player source or identifier ---@return string? avatar exports["lb-tablet"]:GetMDTAvatar(mdt, target)

Jail

LogMDTJailed

---@param mdt string ---@param prisoner string ---@param jailedBy? string ---@param reason string ---@param jailTime number The jail time in seconds ---@param relatedReport? number ---@return false | number exports["lb-tablet"]:LogMDTJailed(mdt, prisoner, jailedBy?, reason, jailTime, relatedReport?)

GetJailed

Types

---@class JailedData ---@field id number ---@field identifier string ---@field avatar? string ---@field name? string ---@field description string ---@field jailedBy string ---@field originalTime number ---@field remainingTime number ---@field jailedAt number ---@field releasedAt number ---@field report? { id: number, title: string }
---@param identifier string ---@overload fun(id: number): JailedData | false ---@return JailedData | false exports["lb-tablet"]:GetJailed(identifier)

UpdateJailSentence

---@param identifier string ---@param jailTime number The jail time in seconds ---@return boolean exports["lb-tablet"]:UpdateJailSentence(identifier, jailTime)

MDT data

UpdateMDTProfile

Types

---@class MDTUpdateProfile ---@field id string ---@field avatar? string ---@field model? string ---@field owner? string ---@field addedTags? number[] ---@field removedTags? number[] ---@field fields? { [string]: any } ---@field type MDTProfileType ---@alias MDTProfileType "player" | "vehicle" | "property" | "weapon"
---@param mdt string ---@param data MDTUpdateProfile ---@param permissions? { [string]: { [string]: boolean } } ---@return number | false # Profile ID on success, false on failure exports["lb-tablet"]:UpdateMDTProfile(mdt, data, permissions?)

GetMDTProperty

---@param mdt string ---@param propertyId string ---@return table | false exports["lb-tablet"]:GetMDTProperty(mdt, propertyId)

GetMDTReport

---@param mdt string ---@param tabId string ---@param reportId number ---@return table | false exports["lb-tablet"]:GetMDTReport(mdt, tabId, reportId)

DeleteMDTReport

---@param reportId number ---@return boolean success exports["lb-tablet"]:DeleteMDTReport(reportId)

CreateMDTReport

Types

---@class MDTNewReportData ---@field id? number ---@field title string ---@field fields? { [string]: unknown } ---@field addedTags? number[] ---@field removedTags? number[] ---@field ["private"]? boolean
---@param mdt string ---@param tabId string ---@param creator string ---@param data MDTNewReportData ---@return number | false reportId exports["lb-tablet"]:CreateMDTReport(mdt, tabId, creator, data)

UpdateMDTReport

Types

---@class MDTNewReportData ---@field id? number ---@field title string ---@field fields? { [string]: unknown } ---@field addedTags? number[] ---@field removedTags? number[] ---@field ["private"]? boolean
---@param mdt string ---@param tabId string ---@param creator string ---@param data MDTNewReportData ---@return number | false reportId exports["lb-tablet"]:UpdateMDTReport(mdt, tabId, creator, data)

Units

GetUnits

Types

---@class Unit ---@field name string # The name of the unit (unique) ---@field status string
---@param mdt string ---@return { [string] : Unit } exports["lb-tablet"]:GetUnits(mdt)

GetPlayerUnit

---@param source number ---@return string? unit exports["lb-tablet"]:GetPlayerUnit(source)

SetPlayerUnit

---@param source number ---@param mdt string ---@param name string ---@return boolean exports["lb-tablet"]:SetPlayerUnit(source, mdt, name)

ResetPlayerUnit

---@param source number exports["lb-tablet"]:ResetPlayerUnit(source)

CreateUnit

---@param mdt string ---@param name string ---@param status? string ---@return boolean exports["lb-tablet"]:CreateUnit(mdt, name, status?)

RemoveUnit

---@param mdt string ---@param name string ---@return boolean exports["lb-tablet"]:RemoveUnit(mdt, name)

SetUnitStatus

---@param mdt string ---@param name string ---@param status string ---@return boolean exports["lb-tablet"]:SetUnitStatus(mdt, name, status)

RenameUnit

---@param mdt string ---@param oldName string ---@param newName string ---@return boolean exports["lb-tablet"]:RenameUnit(mdt, oldName, newName)

GetPlayerUnits

---@return { [number]: { unit: string, mdt: string } } # Key: source exports["lb-tablet"]:GetPlayerUnits()

MDT profiles

GetMDTUser

---@param mdt string ---@param target number | string # Player source or identifier ---@return table | false exports["lb-tablet"]:GetMDTUser(mdt, target)

GetMDTVehicle

---@param mdt string ---@param plate string ---@return table | false exports["lb-tablet"]:GetMDTVehicle(mdt, plate)

RegisterMDTWeapon

---@param mdt string ---@param serialNumber string ---@param data? { owner?: string, weaponName?: string } ---@param registrant? string ---@return number? id exports["lb-tablet"]:RegisterMDTWeapon(mdt, serialNumber, data?, registrant?)

GetMDTWeapon

---@param mdt string ---@param idOrSerialNumber number | string ---@return table | false exports["lb-tablet"]:GetMDTWeapon(mdt, idOrSerialNumber)

Callbacks

TriggerClientCallback

---@param event string ---@param source number ---@param cb fun(...) exports["lb-tablet"]:TriggerClientCallback(event, source, cb)

AwaitClientCallback

---@param event string ---@param source number ---@return ... exports["lb-tablet"]:AwaitClientCallback(event, source)

RegisterCallback

---@param event string ---@param handler fun(source: number, ...) : any ---@param antiSpam? boolean ---@param defaultReturn any exports["lb-tablet"]:RegisterCallback(event, handler, antiSpam?, defaultReturn)

BaseCallback

---@param event string ---@param handler fun(source: number, tabletId: string, ...) : any ---@param defaultReturn any ---@param antiSpam? boolean exports["lb-tablet"]:BaseCallback(event, handler, defaultReturn, antiSpam?)