The CAD API ID to check. If empty or nil, the function assumes the ID does not exist.
callback
function
A function executed after the check completes. Receives a single parameter: exists (boolean).
This function does not return a value directly. Instead, the result of the API check is passed to the callback function.
-- Example: Checking if a CAD API ID exists
local function onApiIdCheck(exists)
if exists then
print("API ID exists!")
else
print("API ID does not exist.")
end
end
exports.sonorancad.CadIsPlayerLinked("123456", onApiIdCheck) -- Output depends on API response
exports.sonorancad.CadIsPlayerLinked("", onApiIdCheck) -- Output: "API ID does not exist."
GetPluginConfig
Provides access to a specific plugin's configuration using the plugin name.
exports.sonorancad.GetPluginConfig(submoduleName)
Parameter
Type
Description
submoduleName
string
The name of the submodule whose configuration is to be retrieved.
Type
Description
table or nil
A table containing the configuration for the specified plugin.
Returns nil if the plugin name is invalid or if no configuration exists.
-- Example: Retrieving a plugin's configuration
local pluginConfig = exports.sonorancad.GetPluginConfig("callcommands")
if pluginConfig then
print("Plugin Config:", json.encode(pluginConfig))
else
print("Plugin not found or no configuration available.")
end
GetUnitByPlayerId
Retrieves the unit information associated with a player based on their identifiers.
exports.sonorancad.GetUnitByPlayerId(player)
Parameter
Type
Description
player
PlayerSource
The player ID for whom the associated unit is being retrieved.
Type
Description
table or nil
A table representing the unit information for the player if found in UnitCache.
nil if no associated unit is found.
-- Example: Getting the unit associated with a player
local unit = GetUnitByPlayerId(1)
if unit then
print("Unit found:", json.encode(unit))
else
print("No unit associated with this player.")
end
GetUnitCache
Returns the global UnitCache table containing unit data.
exports.sonorancad.GetUnitCache()
None
Type
Description
table
The entire UnitCache table, which stores unit-related data.
If UnitCache is empty or uninitialized, an empty table is returned.
-- Example: Retrieving and inspecting the UnitCache
local unitCache = exports.sonorancad.GetUnitCache()
if next(unitCache) then
print("UnitCache contains data:", json.encode(unitCache))
else
print("UnitCache is empty or uninitialized.")
end
registerEndpoints
Registers API endpoints for use with the sonorancad resource.
exports.sonorancad.registerEndpoints()
None
This function does not return a value. It registers API endpoints with sonorancad.
-- Example: Registering the endpoints
exports.sonorancad.registerEndpoints()
print("SonoranCAD API endpoints registered.")
addBlip
Adds a new blip to the map using the SonoranCAD integration.
A table containing x and y coordinates for the blip location.
colorHex
string
The hexadecimal color code (e.g., "#FF0000") for the blip.
subType
string
The subtype of the blip (e.g., police, fire, etc.).
toolTop
string
The tooltip text that appears when hovering over the blip.
icon
string
The icon for the blip (e.g., a specific image or identifier for visual context).
dataTable
table
Additional data associated with the blip, stored in a custom table.
cb
function
(Optional) A callback function executed with the API response.
This function does not return a value directly. The response from the API request is passed to the cb callback function if provided.
-- Example: Adding a new blip to the map
exports.sonorancad.addBlip(
{ x = 123.45, y = 678.90 },
"#FF0000",
"police",
"Police Station",
"police-icon",
{ info = "Main Headquarters" },
function(response)
if response.success then
print("Blip successfully added!")
else
print("Failed to add blip:", response.error)
end
end
)
addBlips
Adds multiple blips to the map using the SonoranCAD integration.
exports.sonorancad.addBlips(blips, cb)
Parameter
Type
Description
blips
table
A table containing multiple blip data objects to be added. (See addBlip for blip structure)
cb
function
(Optional) A callback function executed with the API response.
This function does not return a value directly. The response from the API request is passed to the cb callback function if provided.
-- Example: Adding multiple blips to the map
local blips = {
{
blip = {
id = -1,
subType = "police",
coordinates = { x = 123.45, y = 678.90 },
icon = "police-icon",
color = "#FF0000",
tooltip = "Police Station",
data = { info = "Main Headquarters" }
}
},
{
blip = {
id = -1,
subType = "fire",
coordinates = { x = 321.65, y = 987.10 },
icon = "fire-icon",
color = "#FFA500",
tooltip = "Fire Department",
data = { info = "Fire HQ" }
}
}
}
exports.sonorancad.addBlips(blips, function(response)
if response.success then
print("Blips successfully added!")
else
print("Failed to add blips:", response.error)
end
end)
removeBlip
Removes one or more blips from the map using the SonoranCAD integration.
exports.sonorancad.removeBlip(ids, cb)
Parameter
Type
Description
ids
table
A table containing the IDs of the blips to be removed.
cb
function
(Optional) A callback function executed with the API response.
This function does not return a value directly. The response from the API request is passed to the cb callback function if provided.
-- Example: Removing blips by their IDs
local blipIds = { 101, 102, 103 }
exports.sonorancad.removeBlip(blipIds, function(response)
if response.success then
print("Blips successfully removed!")
else
print("Failed to remove blips:", response.error)
end
end)
modifyBlipd
Modifies an existing blip's data on the map using the SonoranCAD integration.
exports.sonorancad.modifyBlipd(blipId, dataTable)
Parameter
Type
Description
blipId
number
The unique ID of the blip to be modified.
dataTable
table
A table containing the new data for the blip. See addBlip for blip data structure
This function does not return a value. The request is sent to the MODIFY_BLIP endpoint.
-- Example: Modifying an existing blip's data
local blipId = 101
local newData = {
color = "#00FF00",
tooltip = "Updated Tooltip",
coordinates = { x = 200.0, y = 300.0 }
}
exports.sonorancad.modifyBlipd(blipId, newData)
print("Blip modification request sent.")
getBlips
Fetches the list of all active blips from the SonoranCAD system.
exports.sonorancad.getBlips(cb)
Parameter
Type
Description
cb
function
(Optional) A callback function executed with the API response containing the blips.
This function does not return a value directly. The response from the API request is passed to the cb callback function if provided.
-- Example: Fetching all active blips
exports.sonorancad.getBlips(function(response)
if response.success then
print("Active Blips:", json.encode(response.data))
else
print("Failed to fetch blips:", response.error)
end
end)
removeWithSubtype
Removes all blips of a specific subtype from the map using the SonoranCAD system.
exports.sonorancad.removeWithSubtype(subType, cb)
Parameter
Type
Description
subType
string
The subtype of the blips to be removed (e.g., police, fire, etc.).
cb
function
(Optional) A callback function executed with the API response containing the blips.
This function does not return a value directly. The response from the removeBlip API request is passed to the cb callback function if provided.
-- Example: Removing all police blips
exports.sonorancad.removeWithSubtype("police", function(response)
if response.success then
print("Police blips successfully removed!")
else
print("Failed to remove blips:", response.error)
end
end)
call911
The call911 function facilitates the creation of a 911 emergency call within the SonoranCAD system by sending a structured API request.
Description of the call's location (e.g., street address).
description
string
Detailed information about the emergency situation.
postal
string
Postal code corresponding to the call's location.
plate
string
(Optional) License plate number associated with the call, if applicable.
cb
function
(Optional) Callback function to handle the API response.
This function does not return a value directly. The response from the API request is passed to the cb callback function, if provided.
-- Example: Initiating a 911 call
exports.sonorancad.call911(
"Jane Doe",
"1234 Elm Street",
"There is a fire in the building.",
"56789",
nil,
function(response)
if response.success then
print("911 call successfully placed.")
else
print("Failed to place 911 call:", response.error)
end
end
)
addTempBlipData
Temporarily modifies a blip's data in the SonoranCAD system and then reverts it back to its original data after a specified duration.
A table containing the temporary data to apply to the blip. See addBlip for blip data structure
waitSeconds
number
The duration in seconds for which the temporary data will be applied.
returnToData
table
A table containing the original data to revert the blip to after the duration expires. See addBlip for blip data structure
This function does not return a value directly. The data modification happens asynchronously using API requests.
-- Example: Temporarily modifying a blip's color and tooltip
local tempData = {
color = "#FF0000",
tooltip = "Temporary Alert"
}
local originalData = {
color = "#00FF00",
tooltip = "Original Tooltip"
}
exports.sonorancad.addTempBlipData(101, tempData, 10, originalData)
print("Blip temporarily modified; it will revert in 10 seconds.")
addTempBlipColor
Temporarily changes a blip's color in the SonoranCAD system and reverts it to its original color after a specified duration.
The temporary hexadecimal color code to apply to the blip (e.g., "#FF0000")
waitSeconds
number
The duration in seconds for which the temporary data will be applied.
returnToColor
string
The original hexadecimal color code to revert the blip to after the duration expires
This function does not return a value directly. The color modification happens asynchronously using API requests.
-- Example: Temporarily changing a blip's color to red
local tempColor = "#FF0000"
local originalColor = "#00FF00"
exports.sonorancad.addTempBlipColor(101, tempColor, 10, originalColor)
print("Blip color temporarily changed; it will revert in 10 seconds.")
remove911
Removes an active 911 call from the SonoranCAD system.
exports.sonorancad.remove911(callId)
Parameter
Type
Description
callId
string
The unique ID of the 911 call to be removed.
This function does not return a value. The removal of the 911 call is handled asynchronously through the API request.
-- Example: Removing a 911 call
local callId = "12345"
exports.sonorancad.remove911(callId)
print("Request to remove 911 call sent.")
addCallNote
Adds a note to an existing 911 call in the SonoranCAD system.
exports.sonorancad.addCallNote(callId, note)
Parameter
Type
Description
callId
string
The unique ID of the 911 call to be removed.
note
string
The content of the note to be added, typically describing the caller.
This function does not return a value. The addition of the call note is handled asynchronously through the API request.
-- Example: Adding a note to an existing 911 call
local callId = "12345"
local note = "Caller reported a fire at the intersection of 5th and Main."
exports.sonorancad.addCallNote(callId, note)
print("Request to add note to 911 call sent.")
setCallPostal
Updates the postal code of an existing 911 call in the SonoranCAD system.
exports.sonorancad.setCallPostal(callId, postal)
Parameter
Type
Description
callId
string
The unique ID of the 911 call to be removed.
postal
string
The new postal code to assign to the 911 call.
This function does not return a value. The postal code update is handled asynchronously through the API request.
-- Example: Updating the postal code of an existing 911 call
local callId = "12345"
local postal = "56789"
exports.sonorancad.setCallPostal(callId, postal)
print("Request to update postal code sent.")
performLookup
Performs a lookup in the SonoranCAD system for information associated with a license plate.
exports.sonorancad.performLookup(plate, cb)
Parameter
Type
Description
plate
string
The license plate number to look up in the SonoranCAD system.
cb
function
(Optional) A callback function executed with the API response.
This function does not return a value directly. The response from the API request is passed to the cb callback function if provided.
-- Example: Performing a lookup for a license plate
local plate = "ABC123"
exports.sonorancad.performLookup(plate, function(response)
if response.success then
print("Lookup successful:", json.encode(response.data))
else
print("Lookup failed:", response.error)
end
end)