Vehicle Seat Picker

This system adds an immersive and configurable seat selection menu that appears when players hold a key near a vehicle, allowing them to choose which seat to enter — with support for all seat indexes, anti-shuffle, bike logic, and trunk access (optional).


Features

  • Hold F near a vehicle to open a seat selection menu

  • Prevents auto-shuffling to the driver seat via config flag

  • Displays icons for occupied vs. free seats

  • Supports:

    • Cars, vans, bikes, aircraft

    • Custom seat labels

    • Multi-seat vehicles

  • Seat entry uses smart logic:

    • Bikes allow warping to passenger seat

    • Seats marked as warp-only use direct warp

    • Others use TaskEnterVehicle


How It Works

Keybind & Entry Flow

  • F is registered as a holdable key (+enterseat)

  • When held:

    • Checks for a nearby vehicle

    • If unlocked and not parked, stops default entry

    • Shows a seat picker menu after 0.5 seconds

Seat Menu

  • Builds dynamic menu based on GetVehicleModelNumberOfSeats

  • Displays labels like:

    • Drivers Seat

    • Passenger Seat

    • Rear Left/Right Seat

  • Icons show if a seat is already occupied


Notes

  • Requires Config.Overrides.vehSeatMenu = true

  • Compatible with ox_lib’s cache system

  • Anti-shuffle flag (PedConfigFlag 184) is enforced while the menu is open

  • Uses Helper.getTrimmedPlate, searchCar, openMenu, triggerNotify, etc.

  • Plate checks against parked or locked status before showing menu


Last updated