Navix
Navix is a GPS navigation app for lb-phone, inspired by Waze. Your players navigate in one tap, save their favorite locations and report road incidents in real time — traffic jams, accidents, police checks — shared with every nearby driver.
Overview
The app is downloaded from the phone's App Store and is organized around three pages: Home, Favorites and Settings. It permanently displays the street and zone name, offers instant search and syncs community alerts with the GTA minimap.
Features
GPS navigation
- One-tap navigation to any location.
- Home and Work addresses — a long press saves your current position.
- Up to 20 custom favorites, with a choice of icon and color.
- 10 recent searches kept in the history.
- Predefined quick-access locations (hospital, police station, airport…).
- Search bar with instant filtering.
Community alerts (Waze-style)
- 6 alert types: Traffic, Accident, Police, Hazard, Roadwork, Road Closure.
- Real-time sharing with all nearby players.
- Confirmation of alerts reported by other drivers.
- Smart expiration: from 15 minutes to 24 hours depending on the type.
- Duration boost: community-confirmed alerts last longer.
- Phone notifications for new alerts.
Minimap blips
- Alerts shown directly on the GTA minimap, toggleable on/off.
- Each alert type has its own sprite and color.
- Short-range blips to preserve immersion.
Alert system
The values below are the defaults from shared/config.lua and remain fully configurable.
Types and durations
| Type | Identifier | Default duration |
|---|---|---|
| Traffic | traffic | 30 minutes |
| Accident | accident | 1 hour |
| Police | police | 15 minutes |
| Hazard | hazard | 30 minutes |
| Roadwork | roadwork | 24 hours |
| Road Closure | closure | 24 hours |
Range, cooldown and confirmations
| Setting | Default value | Role |
|---|---|---|
| View distance | 5000 m | Radius within which a player sees alerts. |
| Confirmation distance | 200 m | Maximum distance to confirm an alert. |
| Cooldown | 5 minutes | Delay between two alerts of the same type for the same player. |
| Confirmations for boost | 3 | Number of confirmations that extends the duration. |
| Boost duration | +10 minutes | Time added at each confirmation tier. |
NOTE
The cooldown applies per type: a player can report an accident then a traffic jam without waiting, but must wait 5 minutes before re-reporting the same type.
Compatibility & dependencies
| Dependency | Status | Role |
|---|---|---|
| lb-phone | Required | Host phone for the app |
| ox_lib | Required | Shared library (callbacks, utilities) |
| oxmysql | Required | Data persistence |
| OneSync | Required | Nearby-player detection for alert sharing |
NOTE
Navix is framework-agnostic: it works with any base (QBCore, ESX, standalone) since it only requires lb-phone.
Technical overview
| Item | Detail |
|---|---|
| Frontend | Pre-built UI served in an iframe by lb-phone (ui/dist/) |
| Backend | Lua (client + server) |
| Persistence | oxmysql — tables created automatically on start |
| Languages | 25 locales/*.json files |
| Performance | Server-side cache, anti-spam rate limiting and automatic cleanup of expired data |
The server broadcasts alerts in real time to players within the view radius, caches frequently accessed data and applies per-event rate limiting to counter spam. The app's internal identifier is Navix.
Next steps
- Installation — add the resource and prepare the database.
- Configuration — every option in
shared/config.lua.