Logo ACStudioACSTUDIOFIVEM DEVELOPMENT
cdt_admin / DOCUMENTATION

Météo et heure autonomes CDT

Le moteur par défaut est désormais interne, entièrement inclus dans cdt_admin. Il n’a besoin d’aucune ressource météo externe. Le bouton Météo apparaît à côté d’Entité sur le dashboard selon le grade minimum choisi dans Configuration → Accès aux catégories → Météo et secteurs (superadmin par défaut). Ce réglage contrôle aussi la lecture, l’enregistrement et le redémarrage des cycles côté serveur ; « Désactivé » interdit cet accès à tous sans arrêter la synchronisation météo des joueurs. Le service staff reste requis.

Mise en service

  1. Arrêter les autres ressources qui synchronisent la météo et l’heure, notamment Renewed-Weathersync, et retirer leur démarrage automatique du server.cfg. CDT les détecte et suspend son moteur tant qu’un fournisseur connu est actif pour éviter les conflits.
  2. Retirer les anciens réglages cdt_admin:weather du server.cfg : le moteur CDT est désormais le seul système utilisable.
  3. Redémarrer CDT, prendre le service staff et ouvrir Dashboard → Météo.

Le module utilise les dépendances habituelles de l’administration (ox_lib et oxmysql) mais aucun script météo. Il est actif par défaut, sauf conflit. Le désactiver libère les natives météo et l’horloge ; les réglages restent sauvegardés.

Réglages et scénarios

  • Météo globale ou régionale, pause/reprise des cycles, transition de 0 à 300 secondes et fondu de frontière de 0 à 1 000 mètres.
  • Quinze types météo GTA, intensité de pluie (−1 automatique, 0 à 1), vent (0 à 12 m/s), direction, neige au sol et traces, blackout et incidence sur les phares.
  • Horloge partagée : heure, minute, gel et vitesse de 1 à 120 secondes réelles par minute GTA.
  • Quatre secteurs proposés : Los Santos, Sandy Shores / Grand Senora, Paleto / nord de Blaine County et Cayo Perico. Leurs limites sont des rectangles en coordonnées GTA, modifiables. Une zone hors de ces rectangles utilise la météo globale. Jusqu’à 16 secteurs peuvent être définis, avec un nom, une priorité et un scénario individuel. À priorité égale, l’identifiant départage les chevauchements de manière déterministe.
  • Jusqu’à 64 étapes par boucle, chacune avec sa météo, sa durée en minutes réelles, son vent, sa pluie et sa neige. Les cycles partagent leur date de départ ; le décalage en minutes permet de déplacer un front. Le mode fixe utilise la première étape.

Le paramétrage suit un parcours guidé : choisir le périmètre, choisir une météo fixe ou un cycle, ajuster les options, puis vérifier et appliquer. Les boutons Précédent et Suivant ne modifient pas le serveur. Seul Appliquer, dans le récapitulatif final, enregistre la configuration.

Les choix distinguent une météo fixe identique partout (Cayo inclus), un cycle intelligent adapté aux régions (continent coordonné et Cayo tropical), et une météo temporaire sur une zone pendant ce cycle intelligent. Une météo temporaire nécessite le cycle régional actif ; ce changement de mode ne se fait pas implicitement. Les paramètres détaillés sont repliés, avec une seule étape de cycle affichée à la fois.

La boucle continentale enchaîne Los Angeles (120 minutes), Littoral tempéré (70), Front pluvieux au nord (70), Désert sec (70), puis recommence, soit 330 minutes réelles. En mode régional, Cayo alterne son cycle sud-américain (100) et Île tropicale (70). La météo temporaire utilise une couche séparée du profil intelligent : aucun cycle n’est remplacé ou redémarré. L’admin choisit une durée de 1 à 1440 minutes réelles. Le serveur fixe l’échéance, sauvegardée avec la configuration ; elle reste valable après redémarrage et même si les cycles sont en pause. À son expiration, la zone revient progressivement à la phase actuelle du cycle intelligent. Les autres secteurs gardent leur météo et leur avancement.

  • Le choix « Climats par région » prépare les boucles régionales complètes : Paleto précède Los Santos de 15 minutes, puis Sandy suit 15 minutes plus tard. Los Santos utilise un climat inspiré de Los Angeles, avec soleil, couverture nuageuse, pluie modérée et éclaircies ; le désert reste sec et le nord reçoit davantage de pluie. Cayo Perico utilise sa boucle tropicale indépendante, décalée de 37 minutes, avec averses fortes et un orage bref. Aucun de ces scénarios par défaut ne produit de neige. Transitions : 90 secondes, fondu aux frontières : 350 mètres. Le brouillon ne s’applique qu’après le récapitulatif ; les nouvelles installations utilisent ces climats par défaut. Les scénarios d’hiver restent disponibles.

Le bouton final « Appliquer » active la météo fixe globale, démarre les boucles intelligentes coordonnées, ou applique uniquement la météo temporaire de la zone choisie. Les décalages des cycles sont conservés. Une configuration globale ou intelligente retire les exceptions temporaires précédentes. Les réglages et leurs ancres temporelles sont conservés dans cdt_admin_weather_control. Le temps continue pendant un redémarrage, sauf cycles ou horloge gelés. Les modifications concurrentes sont rejetées par révision SQL et identifiant de démarrage ; les erreurs SQL conservent l’état actif précédent.

Synchronisation

Dans Communauté → Événements, la portée météo permet de choisir Toute la carte (Cayo inclus) ou un secteur activé du panneau météo. L’heure et le blackout restent globaux. La météo événementielle est une couche temporaire : les profils, décalages, exceptions locales et cycles intelligents normaux continuent en arrière-plan. À la fin prévue ou à l’arrêt manuel, la météo rejoint progressivement la phase normale du cycle. La durée du fondu suit la transition configurée, avec un minimum de 30 secondes. Les clients commencent ce retour à l’échéance même avant le prochain passage du planificateur serveur. Deux événements météo peuvent coexister dans des secteurs différents ; une météo globale ou deux événements dans le même secteur se bloquent mutuellement.

Le serveur publie les réglages autoritaires dans un state bag global versionné. Les clients ne peuvent pas choisir leur scénario serveur. Ils calculent le même cycle avec la même chronologie, en fonction de la position de la caméra (également en spectate). Les transitions de pluie et de vent sont interpolées avec la météo.

Chaque client récupère l’état à sa connexion puis mesure son décalage avec le temps serveur toutes les 30 secondes, avec compensation de la moitié du trajet aller-retour. Les réponses de plus de 2 secondes sont ignorées. Un heartbeat serveur toutes les 15 secondes assure la réplication du dernier état. Les paquets d’une ancienne séquence ou d’un ancien démarrage ne remplacent jamais le dernier état. Aucune requête réseau n’est faite à chaque image : seuls les effets GTA sont appliqués localement. Le passage entre secteurs est recalculé toutes les 250 ms.

Les commandes météo/heure et les événements existants utilisent aussi ce moteur et restaurent les scénarios précédents à leur fin. L’éditeur refuse de modifier la configuration pendant un événement contrôlant météo/heure/blackout ou une météo forcée. Les anciens snapshots provenant de ressources météo externes ne sont plus restaurables : terminer ces événements avant la migration.

La détection couvre les ressources météo connues ; un script personnalisé qui manipule les mêmes natives doit aussi être arrêté. Les effets doivent encore être vérifiés en jeu, notamment avec vos intérieurs, effets graphiques et déplacements rapides.

Tests : tests/weather-control.lua, tests/weather-client.lua et tests/weather-panel-ui.cjs couvrent les secteurs, les cycles, la sauvegarde, deux clients à latences différentes, les anciens paquets, la pluie, la neige, le blackout, les brouillons et les conflits.

Référence des natives : mélange météo, pluie, vent.

Les références et signatures ci-dessus décrivent les raccordements présents dans CDT ; elles ne certifient pas les dernières versions des produits tiers. Les fichiers tests/ cités appartiennent au dépôt de développement et ne sont pas inclus dans le ZIP.

← Tous les guides