Accueil › Documentation › Personnalisation · origen_radio
Le dossier custom/ contient la couche d’intégration entre origen_radio et le reste de ton serveur. Ces fichiers ne sont pas protégés par escrow et sont faits pour être modifiés.
custom/
├── client/
│ └── client.lua ← Framework, inventory, pma-voice and revive integration
└── server/
└── server.lua ← Framework core object and notificationsGetCoreObject() → tableRenvoie l’objet core du framework actif.
-- QBCore
local Core = GetCoreObject()
-- ESX
local ESX = GetCoreObject()FW_Notify(text)Affiche une notification au joueur local avec le système de notifications du framework actif.
FW_Notify("You need a radio item.")| Paramètre | Type | Description |
|---|---|---|
text |
string |
Message à afficher |
OverrideProximityRange(distance, bool)Remplace la portée de proximité de pma-voice. Passe nil pour supprimer le remplacement et rétablir la valeur par défaut.
-- Override to 10 metres
OverrideProximityRange(10.0, true)
-- Clear the override
OverrideProximityRange(nil)| Paramètre | Type | Description |
|---|---|---|
distance |
number | nil |
Portée de proximité souhaitée en mètres, ou nil pour réinitialiser |
bool |
boolean |
Transmis directement à pma-voice:overrideProximityRange |
ToggleVoice(target, value, string)Appelle pma-voice:toggleVoice pour la cible donnée.
ToggleVoice(target, true, "radio")PlayerTargets(radioFreqs)Appelle pma-voice:playerTargets avec la liste actuelle des cibles de fréquences radio.
PlayerTargets(Radio.Targets)IsPlayerDead() → booleanRenvoie true si le joueur local joue l’animation de mort. Utilisée en interne pour empêcher l’usage de la radio quand le joueur est mort.
if IsPlayerDead() then return endCanTalk() → booleanFiltre personnalisé qui contrôle si le joueur peut émettre. Renvoie false pour bloquer l’émission en toute circonstance (p. ex. menotté, dans un véhicule, etc.).
function CanTalk()
-- Add your logic here
return true
endCanOpenRadio() → booleanFiltre personnalisé qui contrôle si le joueur peut ouvrir la NUI de la radio. Renvoie false pour empêcher l’ouverture en toute circonstance.
function CanOpenRadio()
-- Add your logic here
return true
endGetPlayerItems(PlayerData) → tableRenvoie les objets de l’inventaire du joueur pour la ressource d’inventaire active. Cette fonction est utilisée en interne pour vérifier si le joueur possède un objet radio lorsque Config.NeedRadioItem est à true.
L’implémentation gère déjà tous les inventaires compatibles. Ajoute ici un bloc elseif si tu utilises un inventaire non compatible.
function GetPlayerItems(PlayerData)
if Config.Inventory == "ox_inventory" then
return exports.ox_inventory:GetPlayerItems()
end
-- ...
return PlayerData.items or {}
endSi Config.CustomReviveEvent est défini, custom/client/client.lua enregistre automatiquement un listener pour cet événement et réactive la radio à la réanimation ; aucun code supplémentaire n’est nécessaire.
GetCoreObject() → tableRenvoie l’objet core du framework côté serveur. Utilisée en interne pour résoudre les données du joueur.
local Core = GetCoreObject()FW_Notify(source, text)Envoie une notification à un joueur précis avec le système de notifications du framework actif.
FW_Notify(source, "You have been removed from the frequency.")| Paramètre | Type | Description |
|---|---|---|
source |
number |
ID serveur du joueur |
text |
string |
Message à afficher |