Dependências
pma-voice (adaptado)
Versão do pma-voice fornecida com o script, já adaptada para integração com o Five Radio. Substitui o pma-voice padrão do servidor.
Qualquer framework
A integração com o framework é feita adaptando
config/functions.lua, sem acoplamento direto.O Five Radio precisa de pequenas adaptações no pma-voice para funcionar. Use a versão fornecida com o script ou aplique as alterações manualmente no seu pma-voice — veja a seção Adaptação do pma-voice.
O Five Radio não cria tabelas no banco de dados. Nenhuma configuração de MySQL é necessária.
Instalação do Recurso
1
Substitua o pma-voice
Remova o pma-voice atual do servidor e coloque no lugar a versão fornecida com o Five Radio.
2
Copie a pasta do recurso
Coloque a pasta
core-radio dentro do diretório de recursos do seu servidor (ex: resources/[core]/).3
Adapte o config/functions.lua
Este é o único arquivo que precisa ser editado para integrar ao seu framework. Veja a seção Adaptação de Framework abaixo.
4
Configure o recurso
Edite
config/config.lua conforme descrito na seção Configuração.5
Adicione à server.cfg
Certifique-se de iniciar o
pma-voice antes do core-radio.Adaptação de Framework
Toda a comunicação com o framework está isolada emconfig/functions.lua.
Identificação do jogador
Identificação do jogador
Permissões
Permissões
Usada para validar o acesso a frequências restritas. Recebe a lista de grupos configurada em
RestrictedFrequencies e retorna true se o jogador tiver ao menos um deles.Item de rádio
Item de rádio
Verifica se o jogador possui o item configurado em
Radio.RequiredItem antes de permitir a abertura do rádio.Adaptação do pma-voice
A versão do pma-voice fornecida com o script já contém todos os ajustes abaixo. Use essa versão sempre que possível. Se você já tem uma versão modificada do pma-voice no servidor (com outras adaptações que não quer perder), aplique manualmente as alterações abaixo no arquivoclient/module/radio.lua do seu pma-voice.
1
Adicione a função helper de animação
No topo do arquivo Esta função consulta o export
client/module/radio.lua do pma-voice (antes do RegisterCommand("+radiotalk", ...)), adicione:getRadioAnimData do Five Radio para descobrir qual animação o jogador selecionou. Se o Five Radio não estiver iniciado, usa a animação genérica de fallback.2
Substitua a animação no comando +radiotalk
Dentro do O bloco
RegisterCommand("+radiotalk", function() ... end), substitua o trecho que toca a animação fixa pelo bloco abaixo:if ad.bone then cria e attacha o prop 3D apenas para animações que tenham a posição configurada — nas animações genéricas isso é ignorado.3
Substitua a verificação no loop de fala
Dentro da Isso garante que a animação correta seja reaplicada caso o jogador seja interrompido (ex: hit reaction).
CreateThread do +radiotalk (loop while radioPressed do), substitua a verificação de animação fixa por:4
Substitua a animação no comando -radiotalk
Dentro do E garanta que o prop seja removido logo em seguida:
RegisterCommand("-radiotalk", function() ... end), substitua o StopAnimTask fixo por:Configuração
config/config.lua — Geral
config/config.lua — Geral
config/config.lua — Animação e UI
config/config.lua — Animação e UI
config/config.lua — Frequências Restritas
config/config.lua — Frequências Restritas
Define quais frequências exigem permissão específica para acesso. A validação é feita server-side.Os valores devem corresponder ao sistema de grupos do seu framework, pois são passados diretamente para
Functions.hasPermission.config/config.lua — Animações
config/config.lua — Animações
Define as 18 animações disponíveis para seleção na interface. Cada entrada pode conter:
As animações personalizadas (
pazeee@radio*) já estão na pasta stream/ do recurso e são carregadas automaticamente pelo FiveM. Não é necessário instalar nada extra.
