Início › Documentação › Exports · origen_radio

Exports · origen_radio

Todos os exports são registados com o nome de recurso origen_radio.


Exports do servidor

FW_GetPlayer(source, ignoreMetadata) → table | nil

Devolve um objeto de jogador normalizado para o ID de servidor indicado. Funciona tanto com QBCore como com ESX: a estrutura devolvida é sempre compatível com QBCore.

lua
local Player = exports['origen_radio']:FW_GetPlayer(source)
if Player then
    print(Player.PlayerData.citizenid)
end
Parâmetro Tipo Descrição
source number ID de servidor do jogador
ignoreMetadata boolean Se for true, os metadados não são carregados (mais rápido)

FW_GetPlayerFromCitizenid(citizenid, ignoreMetadata) → table | nil

Devolve um objeto de jogador normalizado procurado por citizenid. Suporta jogadores online e offline.

lua
local Player = exports['origen_radio']:FW_GetPlayerFromCitizenid("ABC12345")
Parâmetro Tipo Descrição
citizenid string O citizenid do jogador
ignoreMetadata boolean Se for true, os metadados não são carregados

IsPlayerTalking(player) → boolean

Devolve true se o jogador indicado estiver a transmitir numa frequência de rádio.

lua
local talking = exports['origen_radio']:IsPlayerTalking(source)
Parâmetro Tipo Descrição
player number ID de servidor do jogador

GetPlayersInFrec(frec) → table

Devolve uma tabela com os IDs de servidor de todos os jogadores que estão na frequência indicada. Devolve uma tabela vazia se a frequência for "entrada" ou não tiver jogadores ativos.

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 Descrição
frec string Cadeia com o endereço da frequência (p. ex. "100.5")

GetPlayersReady(group) → table

Devolve uma tabela com os IDs de servidor dos jogadores marcados como prontos no grupo multifrequência indicado.

lua
local ready = exports['origen_radio']:GetPlayersReady("police-ABC123")
Parâmetro Tipo Descrição
group string Nome completo do grupo, incluindo o sufixo do proprietário (p. ex. "police-citizenid")

GetMultiFrecs(group) → table

Devolve o mapa completo de multifrequência do grupo indicado, indexado pelo nome da frequência e depois pelo ID de servidor do jogador.

lua
local freqs = exports['origen_radio']:GetMultiFrecs("police-ABC123")
for freqName, players in pairs(freqs) do
    print(freqName, players)
end
Parâmetro Tipo Descrição
group string Nome completo do grupo (p. ex. "police-citizenid")

Exports do cliente

OpenRadio()

Abre a interface NUI do rádio. Respeita as verificações de CanOpenRadio() e Config.NeedRadioItem.

lua
exports['origen_radio']:OpenRadio()

Toggle(value)

Ativa ou desativa o rádio. Se value for nil, o estado atual é invertido.

lua
exports['origen_radio']:Toggle(true)   -- enable
exports['origen_radio']:Toggle(false)  -- disable
exports['origen_radio']:Toggle()       -- flip
Parâmetro Tipo Descrição
value boolean | nil true para ativar, false para desativar, nil para inverter

SetFreq(value)

Define a frequência simplex ativa. Usa 0 para sair da frequência atual.

lua
exports['origen_radio']:SetFreq(100.5)
exports['origen_radio']:SetFreq(0)  -- leave frequency
Parâmetro Tipo Descrição
value number Número da frequência, ou 0 para desligar

SetTargets(value)

Substitui a tabela atual de alvos simplex pela fornecida.

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

AddPlayerTarget(id)

Adiciona um jogador à lista atual de alvos simplex.

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

RemovePlayerTarget(id)

Remove um jogador da lista atual de alvos simplex.

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

SetMultiFrec(group, value, reason)

Define o slot de multifrequência ativo dentro de um grupo. Usa "none" como value para te desligares do slot atual.

lua
exports['origen_radio']:SetMultiFrec("police-ABC123", "alpha", nil)
exports['origen_radio']:SetMultiFrec("police-ABC123", "none", nil) -- disconnect
Parâmetro Tipo Descrição
group string Nome do grupo
value string Nome do slot de frequência, ou "none" para desligar
reason string | nil Motivo opcional (p. ex. "moved")

SetMultiFrecTargets(value)

Substitui todo o mapa de alvos de multifrequência.

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

AddPlayerMultiFrec(id, frec, data)

Adiciona um jogador a um slot específico do mapa de alvos de multifrequência.

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

RemovePlayerMultiFrec(id, frec)

Remove um jogador de um slot de multifrequência específico, ou de qualquer slot se frec for nil.

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

MovePlayerMultiFrec(id, group, frec)

Move um jogador do seu slot atual para outro dentro do mesmo grupo, sincronizando com o servidor.

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

SetMuted(id, value)

Define o estado de silenciado de um jogador no mapa de alvos de multifrequência.

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

SetAnim(value)

Define a animação de rádio ativa por índice (começa em 1, segundo RadioConfig.Anims).

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

ToggleClicks(value)

Ativa ou desativa o som de clique do rádio no início e no fim da transmissão.

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

GetMultiFrec() → string

Devolve o nome do slot de frequência em que o jogador local está dentro do seu grupo multifrequência. Devolve "none" se não estiver ligado a nenhum slot.

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

IsTalking() → boolean

Devolve true se o jogador local estiver a transmitir em qualquer frequência de rádio.

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

IsPlayerTalking(source) → boolean

Bridge do lado do cliente que consulta o servidor e devolve se o jogador indicado está a transmitir. Fica à espera até o servidor responder.

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

GetPlayersInFrec(frec) → table

Bridge do lado do cliente que consulta o servidor por todos os jogadores de uma dada frequência. Fica à espera até o servidor responder.

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

Exports de atalhos de teclado (cliente)

Estes exports só estão ativos quando Config.BindSystem é true.

AddKeyBind(key, action, name)

Regista um atalho de teclado que dispara um evento do FiveM quando é premido.

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

SetDefaultBind(key, action)

Regista um atalho de teclado apenas se a ação ainda não estiver atribuída a nenhuma tecla.

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

RemoveKeyBind(key)

Remove um atalho de teclado pelo nome da tecla.

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

GetKeyBinds() → table

Devolve o mapa completo de atalhos do jogador local (key → action).

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

RadioAddKeyBind(_type, key, action)

Regista um atalho específico do rádio através de RegisterKeyMapping. Requer Config.BindSystem = true.

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

RadioRemoveKeyBind(key)

Remove um atalho específico do rádio registado com RadioAddKeyBind.

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