Accueil › Documentation › Personnalisation · origen_radio

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.

text
custom/
├── client/
│   └── client.lua   ← Framework, inventory, pma-voice and revive integration
└── server/
    └── server.lua   ← Framework core object and notifications

custom/client/client.lua

GetCoreObject() → table

Renvoie l’objet core du framework actif.

lua
-- 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.

lua
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.

lua
-- 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.

lua
ToggleVoice(target, true, "radio")

PlayerTargets(radioFreqs)

Appelle pma-voice:playerTargets avec la liste actuelle des cibles de fréquences radio.

lua
PlayerTargets(Radio.Targets)

IsPlayerDead() → boolean

Renvoie 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.

lua
if IsPlayerDead() then return end

CanTalk() → boolean

Filtre 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.).

lua
function CanTalk()
    -- Add your logic here
    return true
end

CanOpenRadio() → boolean

Filtre personnalisé qui contrôle si le joueur peut ouvrir la NUI de la radio. Renvoie false pour empêcher l’ouverture en toute circonstance.

lua
function CanOpenRadio()
    -- Add your logic here
    return true
end

GetPlayerItems(PlayerData) → table

Renvoie 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.

lua
function GetPlayerItems(PlayerData)
    if Config.Inventory == "ox_inventory" then
        return exports.ox_inventory:GetPlayerItems()
    end
    -- ...
    return PlayerData.items or {}
end

Si 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.


custom/server/server.lua

GetCoreObject() → table

Renvoie l’objet core du framework côté serveur. Utilisée en interne pour résoudre les données du joueur.

lua
local Core = GetCoreObject()

FW_Notify(source, text)

Envoie une notification à un joueur précis avec le système de notifications du framework actif.

lua
FW_Notify(source, "You have been removed from the frequency.")
Paramètre Type Description
source number ID serveur du joueur
text string Message à afficher