Inicio › Documentación › Exports · origen_radio

Exports · origen_radio

Todos los exports se registran con el nombre de recurso origen_radio.


Exports del servidor

FW_GetPlayer(source, ignoreMetadata) → table | nil

Devuelve un objeto de jugador normalizado para el ID de servidor indicado. Funciona tanto con QBCore como con ESX: la estructura devuelta siempre es compatible con QBCore.

lua
local Player = exports['origen_radio']:FW_GetPlayer(source)
if Player then
    print(Player.PlayerData.citizenid)
end
Parámetro Tipo Descripción
source number ID de servidor del jugador
ignoreMetadata boolean Si es true, no se cargan los metadatos (más rápido)

FW_GetPlayerFromCitizenid(citizenid, ignoreMetadata) → table | nil

Devuelve un objeto de jugador normalizado buscado por citizenid. Admite jugadores conectados y desconectados.

lua
local Player = exports['origen_radio']:FW_GetPlayerFromCitizenid("ABC12345")
Parámetro Tipo Descripción
citizenid string El citizenid del jugador
ignoreMetadata boolean Si es true, no se cargan los metadatos

IsPlayerTalking(player) → boolean

Devuelve true si el jugador indicado está transmitiendo en una frecuencia de radio.

lua
local talking = exports['origen_radio']:IsPlayerTalking(source)
Parámetro Tipo Descripción
player number ID de servidor del jugador

GetPlayersInFrec(frec) → table

Devuelve una tabla con los IDs de servidor de todos los jugadores que están en la frecuencia indicada. Devuelve una tabla vacía si la frecuencia es "entrada" o no tiene jugadores activos.

lua
local players = exports['origen_radio']:GetPlayersInFrec("100.5")
for playerId, _ in pairs(players) do
    print(playerId, "is on frequency 100.5")
end
Parámetro Tipo Descripción
frec string Cadena de dirección de la frecuencia (p. ej. "100.5")

GetPlayersReady(group) → table

Devuelve una tabla con los IDs de servidor de los jugadores marcados como listos en el grupo multifrecuencia indicado.

lua
local ready = exports['origen_radio']:GetPlayersReady("police-ABC123")
Parámetro Tipo Descripción
group string Nombre completo del grupo, incluido el sufijo del propietario (p. ej. "police-citizenid")

GetMultiFrecs(group) → table

Devuelve el mapa completo de multifrecuencia del grupo indicado, indexado por nombre de frecuencia y después por ID de servidor del jugador.

lua
local freqs = exports['origen_radio']:GetMultiFrecs("police-ABC123")
for freqName, players in pairs(freqs) do
    print(freqName, players)
end
Parámetro Tipo Descripción
group string Nombre completo del grupo (p. ej. "police-citizenid")

Exports del cliente

OpenRadio()

Abre la interfaz NUI de la radio. Respeta las comprobaciones de CanOpenRadio() y Config.NeedRadioItem.

lua
exports['origen_radio']:OpenRadio()

Toggle(value)

Activa o desactiva la radio. Si value es nil, se invierte el estado actual.

lua
exports['origen_radio']:Toggle(true)   -- enable
exports['origen_radio']:Toggle(false)  -- disable
exports['origen_radio']:Toggle()       -- flip
Parámetro Tipo Descripción
value boolean | nil true para activar, false para desactivar, nil para invertir

SetFreq(value)

Establece la frecuencia símplex activa. Usa 0 para salir de la frecuencia actual.

lua
exports['origen_radio']:SetFreq(100.5)
exports['origen_radio']:SetFreq(0)  -- leave frequency
Parámetro Tipo Descripción
value number Número de frecuencia, o 0 para desconectarse

SetTargets(value)

Sustituye la tabla actual de objetivos símplex por la proporcionada.

lua
exports['origen_radio']:SetTargets({ [3] = true, [7] = true })

AddPlayerTarget(id)

Añade un jugador a la lista actual de objetivos símplex.

lua
exports['origen_radio']:AddPlayerTarget(playerId)

RemovePlayerTarget(id)

Quita un jugador de la lista actual de objetivos símplex.

lua
exports['origen_radio']:RemovePlayerTarget(playerId)

SetMultiFrec(group, value, reason)

Establece el slot de multifrecuencia activo dentro de un grupo. Usa "none" como value para desconectarte del slot actual.

lua
exports['origen_radio']:SetMultiFrec("police-ABC123", "alpha", nil)
exports['origen_radio']:SetMultiFrec("police-ABC123", "none", nil) -- disconnect
Parámetro Tipo Descripción
group string Nombre del grupo
value string Nombre del slot de frecuencia, o "none" para desconectarse
reason string | nil Motivo opcional (p. ej. "moved")

SetMultiFrecTargets(value)

Sustituye todo el mapa de objetivos de multifrecuencia.

lua
exports['origen_radio']:SetMultiFrecTargets(newTargets)

AddPlayerMultiFrec(id, frec, data)

Añade un jugador a un slot concreto del mapa de objetivos de multifrecuencia.

lua
exports['origen_radio']:AddPlayerMultiFrec(playerId, "alpha", { name = "John Doe", muted = false })

RemovePlayerMultiFrec(id, frec)

Quita un jugador de un slot de multifrecuencia concreto, o de cualquier slot si frec es nil.

lua
exports['origen_radio']:RemovePlayerMultiFrec(playerId, "alpha")
exports['origen_radio']:RemovePlayerMultiFrec(playerId) -- search all slots

MovePlayerMultiFrec(id, group, frec)

Mueve un jugador de su slot actual a otro dentro del mismo grupo, sincronizándolo con el servidor.

lua
exports['origen_radio']:MovePlayerMultiFrec(playerId, "police-ABC123", "bravo")

SetMuted(id, value)

Establece el estado de silenciado de un jugador en el mapa de objetivos de multifrecuencia.

lua
exports['origen_radio']:SetMuted(playerId, true)

SetAnim(value)

Establece la animación de radio activa por índice (empezando en 1, según RadioConfig.Anims).

lua
exports['origen_radio']:SetAnim(2) -- use second animation preset

ToggleClicks(value)

Activa o desactiva el sonido de clic de la radio al empezar y terminar la transmisión.

lua
exports['origen_radio']:ToggleClicks(false) -- disable click sounds

GetMultiFrec() → string

Devuelve el nombre del slot de frecuencia en el que está el jugador local dentro de su grupo multifrecuencia. Devuelve "none" si no está conectado a ningún slot.

lua
local slot = exports['origen_radio']:GetMultiFrec()

IsTalking() → boolean

Devuelve true si el jugador local está transmitiendo en cualquier frecuencia de radio.

lua
if exports['origen_radio']:IsTalking() then
    -- player is on air
end

IsPlayerTalking(source) → boolean

Bridge del lado del cliente que consulta al servidor y devuelve si el jugador indicado está transmitiendo. Espera hasta que el servidor responde.

lua
local talking = exports['origen_radio']:IsPlayerTalking(targetServerId)

GetPlayersInFrec(frec) → table

Bridge del lado del cliente que consulta al servidor todos los jugadores de una frecuencia dada. Espera hasta que el servidor responde.

lua
local players = exports['origen_radio']:GetPlayersInFrec("100.5")

Exports de atajos de teclado (cliente)

Estos exports solo están activos cuando Config.BindSystem es true.

AddKeyBind(key, action, name)

Registra un atajo de teclado que lanza un evento de FiveM al pulsarse.

lua
exports['origen_radio']:AddKeyBind("F5", "origen_radio:myEvent", "My Radio Bind")

SetDefaultBind(key, action)

Registra un atajo de teclado solo si la acción no está ya asignada a ninguna tecla.

lua
exports['origen_radio']:SetDefaultBind("F5", "origen_radio:myEvent")

RemoveKeyBind(key)

Elimina un atajo de teclado por el nombre de la tecla.

lua
exports['origen_radio']:RemoveKeyBind("F5")

GetKeyBinds() → table

Devuelve el mapa completo de atajos del jugador local (key → action).

lua
local binds = exports['origen_radio']:GetKeyBinds()

RadioAddKeyBind(_type, key, action)

Registra un atajo específico de la radio mediante RegisterKeyMapping. Requiere Config.BindSystem = true.

lua
exports['origen_radio']:RadioAddKeyBind("keyboard", "F6", "origen_radio:myEvent")

RadioRemoveKeyBind(key)

Elimina un atajo específico de la radio registrado con RadioAddKeyBind.

lua
exports['origen_radio']:RadioRemoveKeyBind("F6")