Aller au contenu

Clés et verrouillage des véhicules

Les garages peuvent être rattachés à un bâtiment en mode personnel ou groupe ; leur accès et la recovery immobilière sont détaillés dans Immobilier et bâtiments.

Principe

Un véhicule enregistré possède un identifiant interne, une plaque San Andreas unique au format 12ABC345, un propriétaire personnage ou groupe, et une génération de clés. Une clé est un objet physique vehicle_key de poids nul. La possession administrative du véhicule ne remplace jamais la possession de la clé.

Le système couvre les automobiles, motos, quads, bateaux, avions et hélicoptères. Les trains, véhicules spéciaux et modèles sans poste conducteur ou moteur contrôlable sont refusés.

Verrouiller et démarrer

  • La touche U, modifiable dans les paramètres de touches FiveM, cible le véhicule enregistré occupé ou le plus proche à 15 mètres.
  • L’utilisation de l’objet clé depuis l’inventaire ou un emplacement rapide appelle exactement le même contrôle. Le clic reste accepté pendant que l’inventaire est ouvert et focalisé ; cette exception ne s’applique pas à U ni aux autres interfaces.
  • Une réplication retardée du marqueur véhicule ne bloque pas U après que le client a reçu la corrélation réseau. Si le serveur ne répond pas sous trois secondes, une erreur invite à réessayer.
  • Le serveur vérifie le personnage actif, l’entité réseau, la distance, l’instance, le véhicule lié et la présence réelle de la clé dans l’inventaire personnel.
  • Le verrouillage produit un bip/flash ; le déverrouillage en produit deux. Il n’y a pas de notification de succès.
  • À pied, une réponse serveur réussie joue aussi le geste GTA de télécommande, sans prop. Aucun geste n’est anticipé pendant la requête ni joué sur refus, timeout, cible disparue/trop éloignée ou depuis un siège ; le verrouillage autorisé à bord conserve son fonctionnement sans animation.
  • Un refus est affiché uniquement au joueur concerné.
  • Monter au poste conducteur ne démarre pas le moteur à lui seul. Avec une clé valide, le joueur le démarre soit avec son action GTA « Accélérer » (Z sur la configuration AZERTY par défaut), soit avec l'action Medusa « Démarrer ou arrêter le moteur », affectée à G par défaut pour rester accessible sur clavier AZERTY. Les deux commandes suivent les remappings configurés dans GTA/FiveM et ne nécessitent aucun slash.
  • FiveM conserve les affectations déjà enregistrées par chaque joueur. Le passage du défaut M à G s'applique aux nouveaux réglages ; un joueur ayant déjà reçu ou modifié l'ancien mapping le place lui-même sur G dans les options de touches, sans que le serveur écrase ses préférences.
  • G permet aussi d'arrêter volontairement le moteur. Un moteur déjà allumé n’est pas coupé lorsque la clé quitte l’inventaire ; le conducteur peut encore l'arrêter, mais le prochain démarrage par G ou Accélérer sera refusé tant qu'aucune clé valide n'est revenue dans l'inventaire personnel.
  • Après un arrêt volontaire réussi avec G, Accélérer ne redémarre pas le moteur pendant une minute. Les appuis sont ignorés sans notification. G permet néanmoins un redémarrage volontaire immédiat. Sortir, changer de siège ou changer de véhicule annule ce délai local ; un autre conducteur ne l'hérite pas. Après les 60 secondes, il faut relâcher puis presser de nouveau Accélérer.
  • Une demande moteur refusée affiche une erreur privée. En l'absence de réponse, le verrou local est libéré après trois secondes afin que le joueur puisse réessayer sans reconnecter.

Les occupants d’une automobile ou d’un aéronef fermé ne peuvent pas sortir par la commande normale. Les motos, quads et bateaux autorisent toujours la descente. Un administrateur conserve le secours de remise/restauration.

Propriété et clés

Une clé affiche sa plaque et son modèle. Elle peut être donnée, déposée ou stockée avec les transferts normaux de l’inventaire : son UUID et son lien véhicule sont conservés. Elle ne peut pas être créée avec /giveitem, renommée, supprimée individuellement ou modifiée depuis le catalogue générique.

Plusieurs doubles actifs de la génération courante peuvent coexister dans le même inventaire. La possession générale est acquise dès qu'au moins l'un d'eux est physiquement présent dans l'inventaire personnel : garder deux clés identiques ne bloque donc ni U, ni le moteur, ni le serrurier. Chaque double reste toutefois une instance indépendante ; lorsqu'une clé est utilisée depuis l'inventaire, son UUID exact est contrôlé et une autre clé valide ne peut pas rendre utilisable une instance révoquée, transférée ou stockée ailleurs.

Le transfert administratif du véhicule révoque toutes les anciennes clés, incrémente la génération et crée une nouvelle clé principale pour le destinataire. Un changement de plaque met à jour le libellé des clés actives. Une révocation retire l’objet physique où qu’il se trouve.

Pour un véhicule de groupe, les permissions suivantes sont séparées :

  • GROUP_CAN_VIEW_VEHICLES ;
  • GROUP_CAN_DUPLICATE_VEHICLE_KEYS ;
  • GROUP_CAN_REPROGRAM_VEHICLE_KEYS.

Même avec une permission de groupe, une clé physique reste nécessaire pour verrouiller et démarrer.

Serrurier

Les serruriers persistants sont placés depuis F10. Après validation du placement avec E, F10 reste fermé pendant la sauvegarde ; le Ped n'est synchronisé qu'après la confirmation de l'API et un message annonce le résultat. La coordonnée enregistrée est l'origine de l'entité Ped ; la synchronisation applique la correction verticale configurée de 1 m afin que ses pieds reposent sur le sol. Un déplacement ou changement de modèle recrée l'instance locale sans doublon. L’interaction E ouvre une interface en réalité augmentée qui présente seulement les véhicules et comptes personnels éligibles.

Lorsque le serrurier est fermé, sa NUI est entièrement transparente et ne capture aucune entrée : le monde reste visible et jouable sans voile ni fond noir. À l’ouverture, seule la console du serrurier affiche sa surface sombre translucide, sans filtre de flou CEF ni rectangle noir autour du panneau.

  • Un double exige une clé valide et la propriété personnelle ou la permission de groupe correspondante.
  • Un premier double ne bloque pas les opérations suivantes : le serrurier accepte plusieurs clés actives jusqu'à la limite configurée et ne fusionne jamais leurs instances.
  • Une reprogrammation révoque toutes les anciennes clés, change la génération et remet une clé principale.
  • Le paiement est débité d’un compte bancaire personnel dans la même transaction que la clé.
  • Le champ « Compte à débiter » affiche chaque compte personnel actif sous la forme NUMÉRO — $SOLDE. Les comptes de groupe, joints, fermés ou sans adhésion acceptée sont exclus. Si aucun compte n'est disponible, le serrurier indique d'ouvrir un compte personnel auprès d'un conseiller bancaire et désactive clairement les opérations.
  • Les prix sont configurables ; les valeurs initiales sont 250 dollars pour un double et 1 000 dollars pour une reprogrammation.
  • Dix clés actives au maximum sont autorisées par véhicule par défaut.

Persistance et administration

L’état roulant est observé au plus toutes les 20 secondes. Le dernier état et la dernière position sûre sont distincts. Après un redémarrage, seuls les dossiers active sont recréés, une seule fois, verrouillés et moteur coupé. Un véhicule détruit devient unavailable mais n’est jamais supprimé définitivement sans action administrative.

F10 permet l’enregistrement spatial, la gestion du dossier, des clés et des serruriers. Le web permet les actions non spatiales. Ses fiches affichent le même nom RP ou nom de groupe que F10 et son champ de recherche filtre aussi par propriétaire, sans rendre l'UUID visible. Le transfert web remplace la saisie technique par deux sélections recherchées : le nouveau propriétaire personnage/groupe et le personnage destinataire de la clé principale. /delv supprime encore un véhicule temporaire, mais remet un véhicule enregistré en despawned sans supprimer son dossier.

La liste F10 filtre localement par plaque ou par propriétaire visible, sans requête à chaque frappe. La fiche F10 d'un personnage reprend les mêmes cartes et actions pour ses seuls véhicules personnels. Les véhicules possédés par un groupe restent trouvables dans la liste globale par le nom du groupe, mais ne sont jamais attribués artificiellement à chacun de ses membres.

Chaque fiche F10 affiche le propriétaire sans exposer son UUID : PROPRIÉTAIRE : Prénom Nom pour un véhicule personnel ou GROUPE : Nom pour un véhicule collectif. Une ancienne donnée incohérente utilise le libellé neutre INCONNU.

Deux actions spatiales sont disponibles lorsque le véhicule est réellement sorti dans la même instance : GPS place un itinéraire sur la carte et SE TP téléporte l'administrateur, avec son véhicule actuel le cas échéant, à proximité de la cible après chargement des collisions. Le serveur refuse les dossiers remisés, indisponibles, désynchronisés ou situés dans une autre instance.

RESTAURER propose DERNIER EMPLACEMENT, qui réutilise la dernière position sûre puis les fallbacks existants, ou DEVANT MOI, qui place et sauvegarde le véhicule environ cinq mètres devant l'administrateur. Un véhicule occupé n'est jamais déplacé. La restauration conserve une seule entité, verrouille les ouvertures et coupe le moteur. Il ne s'agit pas encore d'un garage.

Le système est actif par défaut. Définir VEHICLES_ENABLED=false dans Portainer coupe les routes de jeu au redéploiement suivant sans effacer les dossiers, les clés ou les positions sauvegardées.

Plaques uniformisées et garages persistants

Tous les véhicules utilisent désormais le format visuel San Andreas 12ABC345 et le style blanc/bleu. Les plaques créées automatiquement portent une somme de contrôle discrète connue des fondateurs ; elle n'est jamais une preuve d'enregistrement. L'action F10 Identifier le véhicule proche confirme physiquement si l'entité possède réellement un dossier serveur. Une plaque administrative manuelle accepte uniquement 1 à 8 lettres/chiffres ASCII, avec des espaces internes facultatifs, et doit rester unique.

Les garages publics couvrent terre, mer, air et fourrière. Aucun prop de borne n'est créé : un cercle bleu de 2 mètres matérialise le point d'interaction. À pied dans le cercle, E ouvre les listes ICI, AILLEURS et SORTIS. Au volant dans ce même cercle, E range directement le véhicule après validation du propriétaire ou du groupe, de GROUP_CAN_USE_VEHICLES et de la clé physique. Tous les occupants sont invités à sortir avant suppression. La sortie réserve une place libre, crée un véhicule verrouillé avec moteur coupé et conserve état, dégâts et carburant.

Les neuf sites initiaux sont Pillbox, Vespucci, Davis, Mirror Park, Sandy Shores, Paleto Bay, Marina, LSIA et Fourrière Davis. Leurs positions et leurs trois sorties initiales sont modifiables dans la section autonome Administration > Garages de F10. Le rond et chaque sortie se placent manuellement avec leur orientation ; aucune édition ne recalcule les autres sorties. Les garages ordinaires sont gratuits. La fourrière est configurée à 500 dollars par défaut ; la mise en fourrière et la libération administratives exigent un motif et sont auditées.

Chaque garage actif possède un blip portant son nom. Une modification, désactivation ou suppression resynchronise les clients : l'ancien blip et l'interaction sont retirés, et le cercle suit la nouvelle version sans doublon après un redémarrage de ressource. Dans F10, SE TP rejoint le rond sélectionné à condition de posséder ADMIN_ALLOW_VIEW_GARAGES et ADMIN_ALLOW_TPC. La NUI ne transmet que l'identifiant du garage ; le serveur relit sa position officielle et refuse un autre routing bucket avant de téléporter et d'auditer le succès.

Les états persistants sont active, garaged, impounded, unavailable et despawned.

Profils de conduite administratifs

Le comportement présent dans les fichiers du serveur reste la référence ORIGINAL. Au premier streaming d'un modèle, Medusa capture les valeurs effectivement chargées avant toute surcharge ; aucun profil Internet ou valeur générique ne remplace les handlings GTA/DLC, les 244 entrées de realistic-handling ou les six véhicules custom actuellement fournis. Sans affectation Medusa, le véhicule conserve donc strictement son comportement actuel.

Les administrateurs autorisés disposent de profils TERRE, MER et AIR, en mode relatif ou expert. Une affectation est résolue une seule fois selon la priorité UUID du véhicule > modèle > catégorie > ORIGINAL. Les profils ne s'empilent jamais. Revenir à ORIGINAL retire uniquement la surcharge Medusa et restaure la baseline locale capturée. Le joueur ne voit ni le nom, ni les valeurs, ni le sélecteur de handling dans les menus véhicule.

F10 permet les essais temporaires sur une cible immobile, l'affectation et le diagnostic spatial. Medusa Admin web gère les profils, affectations, versions, sources, différences et exports JSON. Un essai dure au plus cinq minutes et toute fermeture, interruption ou annulation restaure l'état précédent. Les trains et véhicules spéciaux restent exclus.

Dans F10 comme dans Medusa Admin web, une carte ORIGINAL indique REPLI AUTOMATIQUE. Son compteur correspond uniquement aux affectations explicites : 0 signifie donc qu'aucune règle Medusa ne force ce profil, tandis que tous les véhicules compatibles sans règle continuent bien à utiliser ORIGINAL. Une affectation individuelle affiche modèle · plaque puis PROPRIÉTAIRE : Prénom Nom ou GROUPE : Nom. L'identifiant UUID reste interne, n'apparaît ni dans la carte, ni dans la recherche, ni dans la confirmation de retour à ORIGINAL. Si une ancienne cible ne peut plus être résolue, l'interface affiche VÉHICULE INDISPONIBLE.

Les écrans administratifs séparent désormais trois notions : Profils disponibles, Profils appliqués et Base ORIGINAL des véhicules. Une source ORIGINAL présente d'abord seulement le modèle, sa famille traduite, sa provenance (GTA / FiveM, Realistic Handling ou ressource personnalisée) et un état français (Prête, Détectée en jeu ou À vérifier). Le nom interne du handling, la ressource, le chemin, l'empreinte complète, la date, la révision et le diagnostic restent copiables dans Détails techniques. Une source absente, invalide ou ambiguë reste immédiatement signalée sur la carte. La recherche accepte les libellés simples comme les valeurs techniques du volet détaillé.

Coffres et boîtes à gants

À pied, TAB privilégie un coffre valide lorsque le joueur se trouve dans sa zone physique ; en absence réelle de cible, il reprend exactement le parcours inventaire personnel/dépôt. Si plusieurs coffres sont aussi proches ou si le coffre ciblé est refusé, le message explique le problème et l'inventaire personnel ne s'ouvre pas par-dessus. Dans un siège avant, TAB ouvre la boîte à gants commune du véhicule, limitée à 5 emplacements et 5 kg. Les sièges arrière conservent l'inventaire personnel. Un coffre extérieur exige un véhicule presque arrêté, déverrouillé et une distance maximale de 4 m ; verrouillage, fermeture du hayon, éloignement ou accélération ferment proprement la session.

À la sortie d'un garage, après une restauration, un enregistrement ou une reprise au démarrage, les capacités coffre/boîte à gants sont publiées avec les flags du véhicule. Si leur réplication arrive en retard, TAB demande automatiquement une resynchronisation bornée. Sur une vraie cible, le joueur voit un message de synchronisation au lieu d'ouvrir par erreur son inventaire personnel ; aucune commande ni reconnexion n'est nécessaire.

Les véhicules enregistrés possèdent un coffre et une boîte à gants persistants liés à leur UUID. Le garage, la fourrière, le transfert de propriétaire, la plaque et le redémarrage ne changent pas ces inventaires ; un véhicule stocké ne permet cependant aucun accès. Les véhicules PNJ commencent vides et conservent leur contenu uniquement tant que la même entité réseau existe pendant le démarrage courant. Leur disparition fait perdre le contenu. Si un PNJ est enregistré, ses deux compartiments sont convertis atomiquement ; l'enregistrement est refusé sans perte si la capacité de destination est insuffisante.

La capacité du coffre dépend de la classe réelle du véhicule et peut être surchargée par classe, modèle puis UUID. Motos, quads, vélos, trains et véhicules spéciaux n'exposent aucun compartiment. Une baisse de capacité est refusée si elle laisserait un objet hors slot ou au-dessus du poids. Une explosion réellement confirmée détruit le contenu après commit serveur ; panne, feu, moteur à -4000, streaming ou simple despawn ne le purgent jamais. Enfermer la dernière clé active reste possible, avec un avertissement visible.

Commandes physiques du véhicule

À l'extérieur, maintenir Alt gauche puis cliquer un véhicule à moins de 3 m ouvre un panneau compact limité aux actions compatibles. À l'intérieur, F5 ouvre le menu complet ; ces deux bindings sont remappables dans les options FiveM. Les commandes disponibles s'adaptent aux portes, vitres, capot, coffre, feux et sièges réellement présents. Les éléments détruits ne sont jamais réparés implicitement.

Pendant Alt, un curseur transparent apparaît : la caméra, la roue native du personnage et les actions de combat restent figées, et seul le véhicule réellement situé sous le pointeur peut être sélectionné. Relâcher Alt, appuyer sur Échap, mourir ou perdre la cible rend immédiatement le curseur et les commandes au jeu. Pendant F5, la souris est réservée au curseur du panneau : elle ne peut plus déplacer la vue, changer de caméra ou modifier la radio. Direction, accélération, freinage, frein à main et sortie du véhicule restent disponibles au clavier ou à la manette.

Le contour turquoise suit le véhicule réellement acquis, y compris lorsqu'un Ped assis est touché avant sa carrosserie. Un retard de synchronisation du véhicule provoque une nouvelle vérification bornée au lieu d'un refus définitif. Après un clic, le panneau extérieur prend explicitement le focus ; un relâchement tardif d'Alt ne peut donc pas le refermer. Si la cible disparaît, sort de la portée, est incompatible, si le module ne répond pas ou si le panneau ne peut pas s'ouvrir, une erreur française affiche un code ALT-… directement à l'écran pour faciliter le diagnostic. Le fournisseur véhicule reste inscrit après un démarrage propre ou un redémarrage du module d'interactions : les callbacks transmis entre ressources sont reconnus qu'ils arrivent comme fonctions Lua locales ou comme références Cfx. Une donnée ordinaire qui imiterait un callback est refusée et une exception conserve le retour d'erreur visible, sans clic silencieux.

Le conducteur contrôle tous les ouvrants, feux, verrou et moteur. Le passager avant contrôle sa porte, sa vitre, l'éclairage intérieur et le verrou ; un passager arrière contrôle uniquement sa porte et sa vitre. À l'extérieur, seules la porte ciblée et le verrou sont proposés. Le verrouillage exige toujours une clé valide, et le moteur F5 réutilise exactement le contrat de G, y compris le délai Accélérer de 60 secondes après un arrêt volontaire. Le changement de siège est réservé côté serveur : deux joueurs visant la même place ne peuvent pas tous les deux gagner et personne n'est éjecté. La place choisie est toujours l'index final exact. Tant que le joueur reste passager, Medusa empêche le déplacement automatique de GTA vers le siège conducteur ; cette protection est retirée en devenant conducteur, en sortant, à la mort, au despawn ou au redémarrage de la ressource.

La page NUI véhicules reste transparente hors de sa console, qu'elle soit fermée ou utilisée pour le serrurier, un garage, Alt ou F5. Les surfaces sombres sont limitées au panneau visible ; aucune préférence de thème du navigateur ne doit colorer le canvas CEF plein écran.

Compteur de vitesse personnalisable

Le conducteur dispose d'un compteur en KM/H. Depuis F5 → Personnalisation → Compteur, il choisit l'un des trois cadrans CLASSIC, D6 STREET et D7 RACING. Il peut régler la taille de 60 à 140 % par pas de 5, déplacer le véritable cadran dans la zone sûre et conserver le mode d'éclairage Automatique, Jour ou Nuit. En automatique, le cadran passe en nuit entre 20 h et 6 h ou lorsque les phares/pleins phares sont actifs. Le compteur peut aussi être masqué.

Le bouton Placer le compteur est réservé au conducteur à 1 km/h ou moins. Le panneau F5 laisse alors place à un overlay transparent : glisser déplace le cadran, la molette et les boutons changent la taille de 5 %, les flèches déplacent de 0,25 % et Maj de 1 %. Le centre et les limites sont aimantés ; Ctrl neutralise temporairement cette aide. La manette offre les mêmes opérations par stick, croix directionnelle, épaules et boutons valider/annuler. Toutes les commandes GTA concurrentes sont neutralisées uniquement pendant ce placement.

L'aperçu reste local jusqu'au bouton Appliquer. Annuler, Échap, accélérer, changer de siège, sortir, mourir, ouvrir la pause ou perdre la ressource abandonnent le brouillon et rendent le focus. Recentrer prépare seulement bas-centre/100 % ; Tout réinitialiser demande confirmation avant de préparer CLASSIC/100 %/visible/Automatique/bas-centre. Thème, taille, position, visibilité et éclairage sont communs à tous les personnages du même compte. Un compteur masqué est forcé visible uniquement pendant l'aperçu.

Les cartes F5 montrent la composition complète avec 086, KM/H, rapport, RPM et états disponibles. Elles sont des exports PNG lossless reproductibles des trois YTD et compositions Lua vendored, sans recoloration ni géométrie réinventée. En conduite, medusa-hud charge directement default.ytd, id6.ytd ou id7.ytd et dessine leurs calques avec DrawSprite. Les commandes, le KVP, default_middle et le son du projet amont restent exclus. Si un dictionnaire sélectionné ne charge pas, le cadran CLASSIC sert de repli, l'erreur est affichée de façon bornée et F5 bloque la sauvegarde du thème illisible.

La cellule de ressource adapte son libellé et son icône à la propulsion Essence, Diesel ou Électrique. Le cadre, l'icône et la valeur sont tous masqués lorsqu'aucune donnée fiable n'est disponible.

Le compteur est disponible sur les automobiles, motos, quads, vélos, bateaux, avions et hélicoptères compatibles, y compris les véhicules PNJ ou temporaires. Il affiche uniquement les données prouvées par le véhicule : vitesse, rapport, RPM, énergie, moteur, feux et clignotants. Un champ natif absent ou non fiable est omis. Les trains et véhicules spéciaux sont exclus.

Le régulateur de vitesse a été retiré. K, Page précédente et Page suivante n'ont plus de mapping ni d'action véhicule associée. Aucun état, badge, toast, paramètre ou commande ne peut le réactiver ; une nouvelle conception fera l'objet d'un développement séparé si elle est reprise un jour.

Énergie du véhicule

Le niveau, le seuil moteur à 1 %, les stations, les contenants et le service garage sont décrits dans Carburants, recharge électrique et stations physiques. Les clés et le verrouillage restent l'autorité d'accès à une trappe fermée.