Navix
Navix est une application de navigation GPS pour lb-phone, inspirée de Waze. Vos joueurs naviguent en un tap, enregistrent leurs lieux favoris et signalent en temps réel les incidents de la route — embouteillages, accidents, contrôles de police — partagés avec tous les conducteurs proches.
Présentation
L'application se télécharge depuis l'App Store du téléphone et s'organise autour de trois pages : Accueil, Favoris et Réglages. Elle affiche en permanence le nom de la rue et de la zone, propose une recherche instantanée et synchronise les alertes communautaires avec la minimap GTA.
Fonctionnalités
Navigation GPS
- Navigation en un tap vers n'importe quel lieu.
- Adresses Domicile et Travail — un appui long enregistre votre position actuelle.
- Jusqu'à 20 favoris personnalisés, avec icône et couleur au choix.
- 10 recherches récentes conservées dans l'historique.
- Lieux prédéfinis à accès rapide (hôpital, commissariat, aéroport…).
- Barre de recherche avec filtrage instantané.
Alertes communautaires (style Waze)
- 6 types d'alertes : Trafic, Accident, Police, Danger, Travaux, Route fermée.
- Partage en temps réel avec tous les joueurs proches.
- Confirmation des alertes signalées par d'autres conducteurs.
- Expiration intelligente : de 15 minutes à 24 heures selon le type.
- Boost de durée : les alertes confirmées par la communauté durent plus longtemps.
- Notifications du téléphone pour les nouvelles alertes.
Blips sur la minimap
- Affichage des alertes directement sur la minimap GTA, activable/désactivable.
- Chaque type d'alerte possède son sprite et sa couleur propres.
- Blips à courte portée pour préserver l'immersion.
Système d'alertes
Les valeurs ci-dessous sont celles par défaut de shared/config.lua et restent entièrement configurables.
Types et durées
| Type | Identifiant | Durée par défaut |
|---|---|---|
| Trafic | traffic | 30 minutes |
| Accident | accident | 1 heure |
| Police | police | 15 minutes |
| Danger | hazard | 30 minutes |
| Travaux | roadwork | 24 heures |
| Route fermée | closure | 24 heures |
Portée, cooldown et confirmations
| Paramètre | Valeur par défaut | Rôle |
|---|---|---|
| Distance d'affichage | 5000 m | Rayon dans lequel un joueur voit les alertes. |
| Distance de confirmation | 200 m | Distance maximale pour confirmer une alerte. |
| Cooldown | 5 minutes | Délai entre deux alertes du même type pour un même joueur. |
| Confirmations pour boost | 3 | Nombre de confirmations qui prolonge la durée. |
| Durée du boost | +10 minutes | Temps ajouté à chaque palier de confirmations. |
NOTE
Le cooldown s'applique par type : un joueur peut signaler un accident puis un embouteillage sans attendre, mais devra patienter 5 minutes avant de re-signaler le même type.
Compatibilité & dépendances
| Dépendance | Statut | Rôle |
|---|---|---|
| lb-phone | Requise | Téléphone hôte de l'application |
| ox_lib | Requise | Bibliothèque partagée (callbacks, utilitaires) |
| oxmysql | Requise | Persistance des données |
| OneSync | Requis | Détection des joueurs proches pour le partage d'alertes |
NOTE
Navix ne dépend d'aucun framework : il fonctionne avec n'importe quelle base (QBCore, ESX, standalone) car il ne requiert que lb-phone.
Aperçu technique
| Élément | Détail |
|---|---|
| Frontend | Interface pré-compilée servie en iframe par lb-phone (ui/dist/) |
| Backend | Lua (client + serveur) |
| Persistance | oxmysql — tables créées automatiquement au démarrage |
| Langues | 25 fichiers locales/*.json |
| Performance | Cache côté serveur, rate limiting anti-spam et nettoyage automatique des données expirées |
Le serveur diffuse les alertes en temps réel aux joueurs situés dans le rayon d'affichage, met en cache les données fréquemment consultées et applique un rate limiting par évènement pour contrer le spam. L'identifiant interne de l'application est Navix.
Étapes suivantes
- Installation — ajouter la ressource et préparer la base de données.
- Configuration — toutes les options de
shared/config.lua.