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.
local inside = exports.cuxial_safezones:IsInSafeZone()Devuelve: boolean. Es true dentro de la zona aunque una excepción permita al jugador saltarse sus reglas.
if exports.cuxial_safezones:IsInSafeZone() then
return lib.notify({ description = 'No dentro de una zona segura.', type = 'error' })
endGetCurrentSafeZone
Devuelve la zona en la que está el jugador local.
local zone = exports.cuxial_safezones:GetCurrentSafeZone()Devuelve: table | nil. Un objeto zona, o nil fuera de cualquier zona.
local zone = exports.cuxial_safezones:GetCurrentSafeZone()
if zone then print(zone.id, zone.label) endOpenZonesUI
Abre el panel de zonas al jugador local.
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.
exports.cuxial_safezones:CloseZonesUI()Exports de servidor
GetSafeZones
Devuelve todas las zonas, incluidas las apagadas.
local zones = exports.cuxial_safezones:GetSafeZones()Devuelve: table<number, table>. Objetos zona indexados por el id de la zona.
for id, zone in pairs(exports.cuxial_safezones:GetSafeZones()) do
print(id, zone.label, zone.active)
endGetSafeZone
Devuelve una zona.
local zone = exports.cuxial_safezones:GetSafeZone(id)| Parámetro | Tipo | Descripción |
|---|---|---|
id | number | Id de la zona. |
Devuelve: table | nil.
local zone = exports.cuxial_safezones:GetSafeZone(3)
if zone and zone.active then print(zone.label) endObjeto zona
| Campo | Tipo | Descripción |
|---|---|---|
id | number | Id de la zona. |
label | string | Nombre de la zona. |
active | boolean | false cuando la zona está apagada. |
geometry.points | table[] | Vértices, cada uno con x, y y z. z es el suelo de la zona. |
geometry.thickness | number | Altura de la zona en metros. |
metadata.maxSpeed | number | Límite de velocidad. 0 = sin límite. |
metadata.weapons | boolean | true cuando se permiten las armas. |
metadata.driveBy | boolean | true cuando se permite el drive-by. |
metadata.ControlsBlocked | number[] | Números de los controles bloqueados. |
metadata.bypass | table[] | Excepciones: kind ('job' o 'group'), value, skip y, en los trabajos, minGrade y onDuty. |
metadata.soundEnabled | boolean | Sonido al entrar y salir. |
metadata.textUI | boolean | true cuando se muestra el cartel. |
metadata.debug | boolean | true cuando el volumen se dibuja en el mundo. |
created_by | string | Licencia 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.
