Démarrage rapide
Obtenir un menu ox_target fonctionnel avec la configuration d’origine, puis modifier et ajouter votre première interaction dans config_interactions.lua.
But : vérifier que le menu fonctionne avec la configuration livrée, puis personnaliser une option.
Fichier à modifier : config_interactions.lua (chargé côté client uniquement).
1. Partir de la configuration livrée
L’archive fonctionne sans modification : les sélecteurs Config.*Script valent 'auto' (sauf NotifyScript et InputScript, réglés sur 'ox_lib'). Démarrez le serveur, maintenez Alt et ciblez-vous : vous devez voir Mon ID, Faire un /me, Emotes, Anti-coups de poing et Débugger personnage. Les catégories Dev Tools et Admin n’apparaissent que si vos groupes y donnent accès (voir Permissions).
2. Renommer une option existante
Dans config_interactions.lua, repérez la liste Config.SelfInteractions et changez le libellé de l’option my_id :
{ name = 'my_id', label = 'Afficher mon identifiant', icon = 'fa-solid fa-id-card', description = 'Afficher votre ID serveur', builtin = 'show_my_id' },
Gardez le même name : il identifie l’option dans sa liste. Redémarrez la ressource avec restart ox_target puis rouvrez le menu.
3. Ajouter une emote dans le sous-menu Emotes
Ajoutez cette ligne dans Config.SelfInteractions, après les autres emotes :
{ name = 'emote_dance', menu = 'self_emotes', label = 'Danser', icon = 'fa-solid fa-music', type = 'emote', emote = 'dance' },
menu = 'self_emotes'place l’option dans le sous-menu ouvert par la catégorieself_emotes.type = 'emote'appelleBridge.PlayEmote('dance'): avec rpemotes-reborn démarré, l’exportEmoteCommandStart; sinon la commandeConfig.Commands.emote(e dance).
Résultat attendu : après restart ox_target, la catégorie Emotes contient Danser ; un clic lance l’emote et ferme le menu.
4. Ajouter une interaction qui appelle votre script
Pour déclencher un événement client d’une de vos ressources quand on cible un joueur, ajoutez dans Config.PlayerInteractions :
{ name = 'give_card', label = 'Donner ma carte de visite', icon = 'fa-solid fa-address-card', type = 'client_event', event = 'mon_script:donnerCarte' },
mon_script:donnerCarte est un nom d’exemple : remplacez-le par l’événement réel de votre ressource. Il reçoit l’objet target décrit dans Interactions :
AddEventHandler('mon_script:donnerCarte', function(target)
TriggerServerEvent('mon_script:carte', target.serverId)
end)
Aller plus vite avec le configurateur
Le configurateur part des valeurs exactes de l’archive, prévisualise le menu et exporte les fichiers Lua. Il n’envoie rien à votre serveur : vous copiez les fichiers générés puis redémarrez la ressource.
Erreurs fréquentes
- Virgule oubliée entre deux entrées de la liste : erreur de syntaxe Lua en F8, aucune option ne s’affiche.
menuqui ne correspond à aucune catégorie : l’option n’apparaît jamais. La valeur doit être égale auopensd’une catégorie de la même liste.- Deux options avec le même
namedans une liste : le moteur affiche un avertissement en F8. Donnez des noms uniques.