Server Exports
Server Exports
Section titled “Server Exports”All server exports can be called from other server-side resources using the exports function.
getZones
Section titled “getZones”Get all active redzones
local zones = exports['senor_redzones']:getZones(raw, forClients)Parameters:
raw(boolean | nil) - If true, returns raw zone instances instead of serialized dataforClients(boolean | nil) - If true, formats data for client consumption
Returns:
table- Array of zone data tables
Example:
local zones = exports['senor_redzones']:getZones()for _, zone in ipairs(zones) do print("Zone: " .. zone.name .. " at radius " .. zone.radius)endgetZoneById
Section titled “getZoneById”Get a specific redzone by its ID
local zone = exports['senor_redzones']:getZoneById(id)Parameters:
id(string | number) - The zone ID
Returns:
table | false- Zone instance orfalseif not found
Example:
local zone = exports['senor_redzones']:getZoneById('my-zone-id')if zone then print("Found zone: " .. zone.name)endgetZoneByPlayer
Section titled “getZoneByPlayer”Get the redzone a player is currently in
local zone = exports['senor_redzones']:getZoneByPlayer(source)Parameters:
source(number) - The player’s server ID
Returns:
table | false- Zone instance orfalseif the player is not in any zone
Example:
local zone = exports['senor_redzones']:getZoneByPlayer(source)if zone then print(GetPlayerName(source) .. " is in zone: " .. zone.name)endcreateTemporaryZone
Section titled “createTemporaryZone”Create a temporary redzone that exists only until it expires or is removed
local zone = exports['senor_redzones']:createTemporaryZone(data)Parameters:
data(table) - Zone configuration
Zone Data Structure:
{ name = string, -- Display name coords = vector3, -- Center coordinates radius = number, -- Radius in meters durationType = string, -- 'time' or 'kills' duration = number, -- Seconds (time) or kill count (kills) loadout = table | nil, -- Items/weapons given on entry killstreaks = table | nil, -- Killstreak rewards blipName = string | nil, blipColour = number | nil, markerColour = table | nil, -- { r, g, b, alpha } spawnPoints = table | nil, -- Array of vector3 spawn positions autoRevive = boolean | nil -- Default: true}Returns:
table- The created zone instance
Example:
local zone = exports['senor_redzones']:createTemporaryZone({ name = 'Quick Fight', coords = vector3(100.0, 200.0, 30.0), radius = 150, durationType = 'kills', duration = 20,})createPermanentZone
Section titled “createPermanentZone”Create a permanent redzone that persists to the database
local zone = exports['senor_redzones']:createPermanentZone(data)Parameters:
data(table) - Zone configuration (same structure ascreateTemporaryZone)
Returns:
table- The created zone instance
Example:
local zone = exports['senor_redzones']:createPermanentZone({ name = 'Downtown PvP', coords = vector3(279.54, -1937.58, 25.21), radius = 300, durationType = 'time', duration = 600,})removeZone
Section titled “removeZone”Remove an active redzone
local success = exports['senor_redzones']:removeZone(zoneInstance)Parameters:
zoneInstance(table) - A zone instance returned bygetZoneById,createTemporaryZone, etc.
Returns:
boolean-trueif removed,falseif zone was not found
Example:
local zone = exports['senor_redzones']:getZoneById('my-zone-id')if zone then local removed = exports['senor_redzones']:removeZone(zone) print("Removed: " .. tostring(removed))endupdateZone
Section titled “updateZone”Update properties of an existing redzone
local success = exports['senor_redzones']:updateZone(zoneInstance, data)Parameters:
zoneInstance(table) - A zone instance to updatedata(table) - Partial zone data with the fields to update
Returns:
boolean-trueon success,falseon failure
Example:
local zone = exports['senor_redzones']:getZoneById('my-zone-id')if zone then exports['senor_redzones']:updateZone(zone, { radius = 200, blipColour = 3 })end