NullSect
Systems nominal

Scripts / jobs · v1.1.3

Bus

A transit driver career: admin-built lines, NPC passengers, ticket checks and police inspections.

  • Qbox
  • QBCore
  • ESX
Coming soon

Features

  1. 01

    Build your network

    Place stops in game and build routes with express skips, waiting times and a schematic map editor.

  2. 02

    Passengers

    NPCs wait, queue, board, ride to their own stop and get off. 13 personalities and random events.

  3. 03

    Tickets at the door

    Compare the ticket with the ID card, let them in or refuse them. Real players buy tickets from the machine on board.

  4. 04

    Police inspections

    An officer waits at the next stop or pulls the bus over. Not stopping counts as fleeing.

  5. 05

    Career

    9 ranks, reputation, daily and weekly assignments, 12 achievements and 5 bus models.

Requirements

Frameworks
Qbox, QBCore, ESX
Requires
ox_lib, oxmysql, ox_target or qb-target
Works with
qbx / qb vehiclekeys, ox / qb / esx inventory, ox_fuel, LegacyFuel, cdn-fuel, ps-fuel, qs / ps / cd dispatch
Version
1.1.3

Recent changes

Read the docs →

1.1.3

Fixed

  • Utils.Clamp returned NaN unchanged; it now maps NaN to the minimum (the router already refuses NaN payloads).

Development

  • ARCHITECTURE.md: start-up order, state machines, request contract, data ownership, database, lifecycle.
  • Offline tests (lua5.4 tests/run_tests.lua): router validation order and payload limits, rate limit, admin permission, lock release, career load, route state machine, database whitelist guards. Not shipped.

1.1.2

Fixed

  • Pull-over: the police car stopped behind the bus but the officer never got out. The officer started walking before the exit was over, which cancelled it and left them seated (more likely now that the car is networked). The officer now gets out first (control of the ped is taken back if needed, the escort task is cleared, the door is unlocked), and a stuck exit ends with them stepping out at once; only then do they walk to the driver

1.1.1 (field test fixes)

Fixed

  • Other players could not see police inspections: the officer and the police car were created on the driver's game only. They are now networked (Config.Inspection.Networked, on by default) and stay with the driver's game, so riders and everyone around see the officer walk up and the pull-over
  • Players riding the bus were not counted on the driver console and could be missed by police checks: the server copy of a passenger lags behind on server-created buses. The rider's game now tells the server when they sit down in a bus on a route and when they get off (tm:ride), believed only while the player is next to the bus; a stale "still in the bus" after getting off no longer counts. The console's passenger load and capacity include player riders and update as they get on and off

Added

  • Player riders get a notice when a police inspection starts and when their ticket was checked; the inspection report counts the players checked and those without a ticket

Related

Cart

Your cart is empty.