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 existslocalfunctiononApiIdCheck(exists)if exists thenprint("API ID exists!")elseprint("API ID does not exist.")endendexports.sonorancad.CadIsPlayerLinked("123456", onApiIdCheck) -- Output depends on API responseexports.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 configurationlocal pluginConfig = exports.sonorancad.GetPluginConfig("callcommands")if pluginConfig thenprint("Plugin Config:", json.encode(pluginConfig))elseprint("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 playerlocal unit =GetUnitByPlayerId(1)if unit thenprint("Unit found:", json.encode(unit))elseprint("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 UnitCachelocal unitCache = exports.sonorancad.GetUnitCache()ifnext(unitCache) thenprint("UnitCache contains data:", json.encode(unitCache))elseprint("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 endpointsexports.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 mapexports.sonorancad.addBlip( { x =123.45, y =678.90 },"#FF0000","police","Police Station","police-icon", { info ="Main Headquarters" },function(response)if response.success thenprint("Blip successfully added!")elseprint("Failed to add blip:", response.error)endend)
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 maplocal 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 thenprint("Blips successfully added!")elseprint("Failed to add blips:", response.error)endend)
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 IDslocal blipIds = { 101, 102, 103 }exports.sonorancad.removeBlip(blipIds, function(response)if response.success thenprint("Blips successfully removed!")elseprint("Failed to remove blips:", response.error)endend)
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 datalocal blipId =101local 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 blipsexports.sonorancad.getBlips(function(response)if response.success thenprint("Active Blips:", json.encode(response.data))elseprint("Failed to fetch blips:", response.error)endend)
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 blipsexports.sonorancad.removeWithSubtype("police", function(response)if response.success thenprint("Police blips successfully removed!")elseprint("Failed to remove blips:", response.error)endend)
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 callexports.sonorancad.call911("Jane Doe","1234 Elm Street","There is a fire in the building.","56789",nil,function(response)if response.success thenprint("911 call successfully placed.")elseprint("Failed to place 911 call:", response.error)endend)
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 tooltiplocal 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 redlocal 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 calllocal 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 calllocal 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 platelocal plate ="ABC123"exports.sonorancad.performLookup(plate, function(response)if response.success thenprint("Lookup successful:", json.encode(response.data))elseprint("Lookup failed:", response.error)endend)