Réponse rapide : Les serveurs FiveM suppriment le réticule GTA par défaut — composant HUD 14, le réticule — en exécutant HideHudComponentThisFrame(14) à chaque frame dans un script client. L'appel doit s'exécuter côté client, dans une boucle, car les composants HUD sont réaffichés à la frame suivante. Ci-dessous : la ressource à copier-coller, une commande de bascule facultative pour les joueurs, et des correctifs pour un réticule qui revient sans cesse.
Les exemples de configuration et de code ici ciblent FiveM pour GTA V Legacy. Enhanced a des règles d'exécution et de compatibilité différentes ; vérifiez les changements Legacy-to-Enhanced de Cfx.re avant de les appliquer à un serveur Enhanced.
Script client copiable
Créez une petite ressource client et placez ceci dans client.lua:
CreateThread(function()
while true do
Wait(0)
HideHudComponentThisFrame(14)
end
end)
La documentation officielle des natives Cfx.re répertorie HideHudComponentThisFrame comme la native permettant de masquer les composants HUD. Le composant 14 est le réticule/viseur.
fxmanifest.lua minimal
Placez ceci à côté de client.lua dans un dossier de ressources, par exemple resources/[local]/no-crosshair/:
fx_version 'cerulean'
game 'gta5'
client_script 'client.lua'
Ajoutez ensuite la ressource à server.cfg:
ensure no-crosshair
Pourquoi cela doit s'exécuter à chaque frame
Le masquage du HUD s'effectue frame par frame. Appeler la native une seule fois peut sembler fonctionner un instant, mais le réticule réapparaît car GTA réaffiche les composants du HUD lors des frames suivantes. Gardez la boucle légère et n'y ajoutez pas de logique coûteuse.
Suppression du réticule côté joueur vs côté serveur
| But | Meilleure méthode |
|---|---|
| Supprimer le réticule par défaut de GTA pour tous les joueurs | Utilisez une petite ressource client avec HideHudComponentThisFrame(14). |
| Laissez les joueurs choisir | Ajoutez un paramètre ou une commande client permettant d'activer/désactiver la boucle. |
| Supprimer un HUD d'arme personnalisé | Vérifiez la ressource d'arme/de HUD. Elle peut afficher son propre réticule. |
| Empêcher les moniteurs ou les superpositions d'ajouter un point | Vérifiez les superpositions côté client, les fonctionnalités du moniteur et les mods graphiques. |
Commande de bascule facultative
Pour une bascule côté joueur, remplacez le premier exemple client.lua par cette version complète. N'exécutez pas les deux boucles :
local crosshairHidden = true
RegisterCommand('crosshair', function()
crosshairHidden = not crosshairHidden
print(crosshairHidden and 'Crosshair hidden' or 'Crosshair visible')
end, false)
CreateThread(function()
while true do
Wait(0)
if crosshairHidden then
HideHudComponentThisFrame(14)
end
end
end)
Dépannage
- Si le réticule apparaît toujours, une autre ressource HUD ou d'arme peut afficher son propre élément.
- Si la ressource ne démarre pas, vérifiez la configuration de fxmanifest.lua.
- Si un seul joueur voit un point, vérifiez les superpositions du moniteur ou les outils graphiques sur ce PC.
FAQ
Est-ce possible dans server.lua ?
Non. Le rendu du HUD s'effectue côté client. Déclenchez un événement client si vous avez besoin de logique serveur, mais appelez la native dans le code client.
Cela affecte-t-il les lunettes de visée personnalisées ?
Cela masque le composant réticule par défaut. Les scripts d'armes personnalisés, les lunettes de visée ou les superpositions NUI peuvent toujours afficher leur propre interface.
Liste de contrôle du déploiement côté serveur
Avant d'ajouter ceci à un serveur de roleplay en production, testez-le avec les armes et les ressources HUD que vos joueurs utilisent déjà. Le réticule par défaut peut être masqué par le composant 14, mais de nombreux serveurs utilisent également des superpositions d'armes, des lunettes de visée personnalisées ou des HUD NUI. Ces scripts peuvent afficher leur propre réticule et nécessitent des paramètres distincts.
- Créez la ressource sur un serveur de préproduction.
- Testez les pistolets, les fusils, les fusils à pompe, les armes de mêlée et les déplacements à mains nues.
- Vérifiez les vues à la première et à la troisième personne.
- Ouvrez l'inventaire, le menu radial, le remplacement de la roue des armes et le HUD.
- Demandez à un testeur disposant d'un client vierge et à un autre testeur utilisant des superpositions habituelles de comparer.
Comment déboguer un réticule qui revient
Si le point ne réapparaît que pendant la visée, il est possible que votre code ne s'exécute pas à chaque image. S'il ne revient qu'avec une seule arme ou un seul métier, il se peut qu'une ressource d'arme ou de police dessine l'interface. S'il n'apparaît que pour un seul joueur, vérifiez les fonctions de réticule de son écran, les superpositions ReShade, les superpositions GPU ou les outils d'accessibilité de ce PC.
Formulation d'une bonne politique de serveur
Si votre serveur interdit les réticules externes, énoncez clairement la règle : aucun réticule d'écran, aucun réticule en superposition, aucun point de visée tiers. Faites-la ensuite respecter grâce à un contrôle de l’équipe de modération, plutôt que de vous fier uniquement à un script qui masque le réticule par défaut du HUD.