Skip to content

Exports y eventos

API pública de Cuxial Safezones: exports para leer las zonas y abrir el panel desde otros recursos.

Pregunta si un jugador está dentro de una zona segura, lee las zonas o abre el panel desde tus propios recursos.

Exports de cliente ​

IsInSafeZone ​

Indica si el jugador local está dentro de una zona segura activa.

lua
local inside = exports.cuxial_safezones:IsInSafeZone()

Devuelve: boolean. Es true dentro de la zona aunque una excepción permita al jugador saltarse sus reglas.

lua
if exports.cuxial_safezones:IsInSafeZone() then
    return lib.notify({ description = 'No dentro de una zona segura.', type = 'error' })
end

GetCurrentSafeZone ​

Devuelve la zona en la que está el jugador local.

lua
local zone = exports.cuxial_safezones:GetCurrentSafeZone()

Devuelve: table | nil. Un objeto zona, o nil fuera de cualquier zona.

lua
local zone = exports.cuxial_safezones:GetCurrentSafeZone()
if zone then print(zone.id, zone.label) end

OpenZonesUI ​

Abre el panel de zonas al jugador local.

lua
exports.cuxial_safezones:OpenZonesUI()

Este export no comprueba permisos. Comprueba el permiso por tu cuenta antes de llamarlo. Cada cambio se verifica igualmente en el servidor contra el ACE admin.

CloseZonesUI ​

Cierra el panel.

lua
exports.cuxial_safezones:CloseZonesUI()

Exports de servidor ​

GetSafeZones ​

Devuelve todas las zonas, incluidas las apagadas.

lua
local zones = exports.cuxial_safezones:GetSafeZones()

Devuelve: table<number, table>. Objetos zona indexados por el id de la zona.

lua
for id, zone in pairs(exports.cuxial_safezones:GetSafeZones()) do
    print(id, zone.label, zone.active)
end

GetSafeZone ​

Devuelve una zona.

lua
local zone = exports.cuxial_safezones:GetSafeZone(id)
ParámetroTipoDescripción
idnumberId de la zona.

Devuelve: table | nil.

lua
local zone = exports.cuxial_safezones:GetSafeZone(3)
if zone and zone.active then print(zone.label) end

Objeto zona ​

CampoTipoDescripción
idnumberId de la zona.
labelstringNombre de la zona.
activebooleanfalse cuando la zona está apagada.
geometry.pointstable[]Vértices, cada uno con x, y y z. z es el suelo de la zona.
geometry.thicknessnumberAltura de la zona en metros.
metadata.maxSpeednumberLímite de velocidad. 0 = sin límite.
metadata.weaponsbooleantrue cuando se permiten las armas.
metadata.driveBybooleantrue cuando se permite el drive-by.
metadata.ControlsBlockednumber[]Números de los controles bloqueados.
metadata.bypasstable[]Excepciones: kind ('job' o 'group'), value, skip y, en los trabajos, minGrade y onDuty.
metadata.soundEnabledbooleanSonido al entrar y salir.
metadata.textUIbooleantrue cuando se muestra el cartel.
metadata.debugbooleantrue cuando el volumen se dibuja en el mundo.
created_bystringLicencia del miembro del staff que la creó.

Trata las tablas que devuelven los exports como de solo lectura. Las zonas se cambian desde el panel.

Eventos ​

Cuxial Safezones no tiene eventos públicos. Sus eventos son internos y pueden cambiar entre versiones.

Estado del jugador ​

Mientras una zona bloquea las armas, el recurso pone el state bag del jugador canUseWeapons en false, y lo devuelve a true al salir. Es el estado que lee ox_inventory.

© Cuxial