Início › Documentação › Personalização · origen_radio
A pasta custom/ contém a camada de integração entre o origen_radio e o resto do teu servidor. Estes ficheiros não estão protegidos por escrow e destinam-se a ser editados.
custom/
├── client/
│ └── client.lua ← Framework, inventory, pma-voice and revive integration
└── server/
└── server.lua ← Framework core object and notificationsGetCoreObject() → tableDevolve o objeto core do framework ativo.
-- QBCore
local Core = GetCoreObject()
-- ESX
local ESX = GetCoreObject()FW_Notify(text)Mostra uma notificação ao jogador local com o sistema de notificações do framework ativo.
FW_Notify("You need a radio item.")| Parâmetro | Tipo | Descrição |
|---|---|---|
text |
string |
Mensagem a mostrar |
OverrideProximityRange(distance, bool)Substitui o alcance de proximidade do pma-voice. Passa nil para remover a substituição e repor o valor por omissão.
-- Override to 10 metres
OverrideProximityRange(10.0, true)
-- Clear the override
OverrideProximityRange(nil)| Parâmetro | Tipo | Descrição |
|---|---|---|
distance |
number | nil |
Alcance de proximidade pretendido em metros, ou nil para repor |
bool |
boolean |
Passado diretamente para pma-voice:overrideProximityRange |
ToggleVoice(target, value, string)Chama pma-voice:toggleVoice para o alvo indicado.
ToggleVoice(target, true, "radio")PlayerTargets(radioFreqs)Chama pma-voice:playerTargets com a lista atual de alvos de frequências de rádio.
PlayerTargets(Radio.Targets)IsPlayerDead() → booleanDevolve true se o jogador local estiver a reproduzir a animação de morte. Usada internamente para impedir o uso do rádio enquanto está morto.
if IsPlayerDead() then return endCanTalk() → booleanFiltro personalizado que controla se o jogador pode transmitir. Devolve false para bloquear a transmissão em qualquer circunstância (p. ex. algemado, dentro de um veículo, etc.).
function CanTalk()
-- Add your logic here
return true
endCanOpenRadio() → booleanFiltro personalizado que controla se o jogador pode abrir a NUI do rádio. Devolve false para impedir a abertura em qualquer circunstância.
function CanOpenRadio()
-- Add your logic here
return true
endGetPlayerItems(PlayerData) → tableDevolve os itens do inventário do jogador para o recurso de inventário ativo. Esta função é usada internamente para verificar se o jogador tem um item de rádio quando Config.NeedRadioItem é true.
A implementação já cobre todos os inventários compatíveis. Adiciona aqui um bloco elseif se usares um inventário não compatível.
function GetPlayerItems(PlayerData)
if Config.Inventory == "ox_inventory" then
return exports.ox_inventory:GetPlayerItems()
end
-- ...
return PlayerData.items or {}
endSe Config.CustomReviveEvent estiver definido, custom/client/client.lua regista automaticamente um listener para esse evento e reativa o rádio ao reanimar; não é preciso código adicional.
GetCoreObject() → tableDevolve o objeto core do framework no lado do servidor. Usado internamente para resolver os dados do jogador.
local Core = GetCoreObject()FW_Notify(source, text)Envia uma notificação a um jogador específico com o sistema de notificações do framework ativo.
FW_Notify(source, "You have been removed from the frequency.")| Parâmetro | Tipo | Descrição |
|---|---|---|
source |
number |
ID de servidor do jogador |
text |
string |
Mensagem a mostrar |