Skip to content

--- Résolution des problèmes

Dépannage

/status 12 indique que je n'ai pas l'autorisation

La vérification du médecin s'exécute sur le serveur et échoue pour l'une de ces quatre raisons :

  • Votre métier ne se trouve pas dans Config.Permissions.EditOthers, ou la liste est vide (ce qui désire complètement l'examen des autres joueurs).
  • Votre grade de métier est inférieur à Config.Permissions.MinGrade.
  • Vous êtes plus éloigné de la cible que Config.Permissions.MaxDistance (3 m par défaut) — cela renvoie "You are too far away."
  • Vous attendiez le chemin ACE mais Config.Permissions.UseAce est toujours false.

"You cannot remove it before it expires"

Cette annotation a été placée sur vous par un médecin et Config.Permissions.LockStaffNotes est activé. Elle disparaîtra d'elle-même lorsque le minuteur sera écoulé. Un métier autorisé peut la retirer plus tôt uniquement si Config.Permissions.StaffCanRemoveLocked est true.

Clear all et /statusclear se comportent de la même manière — ils suppriment uniquement ce que l'exécutant est autorisé à supprimer et conservent les entrées verrouillées.

Les marqueurs ne se positionnent pas sur le corps

Les marqueurs sont projetés à partir des coordonnées des os à chaque frame, ils doivent donc suivre le ped avec précision.

  • offset dans Config.BodyParts n'est délibérément pas appliqué aux marqueurs — il existe pour surélever le texte flottant en jeu par rapport au corps. Si vous l'appliquiez aux marqueurs, chaque point dériverait vers le haut.
  • Pour ajuster le marqueur d'une région, ajoutez l'option marker = { x = 0.0, y = 0.0, z = 0.04 } uniquement à cette partie du corps.
  • Si les marqueurs semblent saccadés sur un serveur chargé, Config.Camera.HotspotRefresh est votre paramètre — il s'agit d'un intervalle de rafraîchissement en millisecondes, donc une valeur plus élevée est moins coûteuse en ressources mais moins fluide.

Le personnage est rogné, minuscule ou décentré

Laissez Config.Camera.AutoFrame = true et ajustez plutôt ces éléments :

  • Fill — la proportion de la hauteur de l'écran occupée par le corps. Réduisez cette valeur si le personnage semble à l'étroit.
  • VerticalNudge — une valeur positive déplace le personnage vers le bas de l'écran, une valeur négative le déplace vers le haut.
  • SideOffset — la distance à laquelle le ped est poussé vers la gauche pour que le panneau ne le recouvre pas.
  • Fov — une valeur plus basse réduit la distorsion, une valeur plus haute permet d'afficher une plus grande partie du corps sans reculer la caméra.

Distance et Height sont lus uniquement lorsque AutoFrame est false.

Le texte traverse les vêtements

Augmentez la valeur z de l'offset de cette partie du corps. Cet offset déplace uniquement le texte en jeu et n'affecte pas le panneau.

Personne d'autre ne peut voir mon annotation

  • Ils doivent se trouver dans le rayon de Config.Text.ViewDistance (6 m par défaut).
  • Si Config.Text.OnlyWhileAiming est activé, ils ne la voient que lorsqu'ils maintiennent la touche de visée enfoncée.
  • Les annotations transitent par le statebag joueur bupaStatuses. Si un joueur s'est connecté en cours de session et ne voit absolument rien, vérifiez qu'oxmysql est en cours d'exécution et que la console du serveur ne renvoie aucune erreur de base de données.

"Character data is not loaded yet"

Le serveur n'a pas pu résoudre l'identifiant citoyen (citizen id) de ce joueur. Sur QBox, QB-Core et ESX, cela signifie que le personnage n'a pas fini de charger ; la ressource recharge les annotations d'un joueur lors des événements QBCore:Server:PlayerLoaded et esx:playerLoaded.

Les annotations réapparaissent après un redémarrage

C'est voulu — elles sont stockées dans MySQL par rapport à l'identifiant citoyen du personnage et rechargées au démarrage. Celles qui ont expiré sont supprimées par le thread de nettoyage, qui s'exécute toutes les Config.Duration.CleanupInterval secondes (minimum 10).

"Slow down a moment"

Config.Limits.WriteCooldown (2 secondes par défaut) est le délai anti-spam entre deux écritures. Définissez-le à 0 pour le désactiver.

Autres limites que vous pourriez atteindre

Message Cause
Annotation limit reached Config.Limits.MaxPerPlayer (4 par défaut)
That body region already has an annotation Config.Limits.OnePerBodyPart est true
Please write a valid annotation Le texte était vide après suppression des espaces et des caractères <, >, ~
Invalid body region L'identifiant de la partie du corps n'est pas dans Config.BodyParts

Activez Config.Debug pendant votre phase de configuration. Cela affiche une ligne dans la console pour chaque écriture, indiquant l'auteur, la cible, la région et si la note était verrouillée.