G.A.S Docs / Other
SkyLift — AI Helicopter Taxi
On-demand helicopter charters with a full AI pilot flight engine — book from the /skylift dashboard, watch the heli land on the pad, board with [E], and fly anywhere on the map. No player pilots needed.
On-demand helicopter charters with a full AI pilot flight engine — no player pilots needed. Book from the standalone /skylift dashboard (or wire it into your own phone via the provided exports), watch the heli fly in, land exactly on the pad, board with [E], and get flown across the map.
Features
- AI pilot, start to finish — spawns in, flies to the pickup pad, performs a scripted precision touchdown (no AI hover-forever), flies you to the destination, lands, and despawns after you step out.
- Modern booking dashboard — dark command-center NUI: pickup pads sorted nearest-first, live distance-based fares per destination, route + fare-breakdown confirmation, helipad search.
- Server-authoritative pricing — fares computed on the server; distance-based with min/max clamps and a configurable city tax. Charged from cash, then bank.
- Refund logic — spawn failures, boarding timeouts, and pre-boarding cancels are refunded automatically; abandoning ship mid-flight is not.
- 18 helipads out of the box — every pad is both a pickup and a destination; add your own with a single config line.
- MySQL flight history (auto-created table) — optional.
Player flow
/skylift(bindable key) → choose a pickup helipad (nearest first).- Choose a destination — each shows its live fare.
- Review the route + fare breakdown → Request Helicopter. A GPS route is set to the pickup pad.
- The AI pilot flies in and lands exactly on the pad. Press [E] to board.
- You're flown to the destination, the heli lands, you step out, it flies off.
/cancelheli is a manual escape hatch for an active flight.
Dependencies
- qbx_core (Qbox) — payment + player identity
- ox_lib — notifications
- oxmysql — flight history (optional; disable via
Config.Database.enabled)
Configuring (config.lua)
- Branding:
Config.Brand(shown in the UI topbar and notifications). Replaceui/logo.pngwith your own square logo to rebrand the dashboard. - Helipads:
Config.Helipads—coords = vec4(x, y, z, heading); the heli lands exactly on this coord facingheading, so use the precise touchdown spot. - Pricing:
Config.PricePerUnit,MinPrice,MaxPrice,TaxRate. - Aircraft:
Config.HeliModel(triescarbon, thensupervolito2, thenmaverick). - Landing height: if a pad floats/sinks, nudge
Config.LandZAdjust(+up / -down). - Timeouts / speeds / approach: all in
config.lua. - Map blips:
Config.PadBlips.enabled.
Integrations (optional — runs fine without them)
- Any banking resource exposing
CollectTax(amount, src, memo, citizenid)— the tax portion is credited to it (Config.CityBank). - Phone integration: the booking backend is fully exported, so you can drive it from any phone app UI.
Exports (client)
exports['rr-helitaxi']:GetPickupOptions()→{ brand, active, pads[] }exports['rr-helitaxi']:GetFares(pickupId)→{ pickup, destinations[] }exports['rr-helitaxi']:BeginFlight(pickupId, destId)→true | false, reasonexports['rr-helitaxi']:IsFlightActive()→{ active, phase, dest }exports['rr-helitaxi']:CancelFlight()
Files
config.lua— helipads, pricing, aircraft, flight tuning, blips, integrations.server.lua— authoritative fares, payment, refunds, MySQL history.client.lua— the AI flight engine +/skyliftNUI host.ui/— the booking dashboard (logo.png= your brand icon).
Last updated August 10, 2026
