VehicleRentals

MrNewbVehicleRentals

Rental desks (peds or props), a rental_paperwork item, and nearby returns. Stock can be cars, bikes, boats, or anything else you put in the list. Built on Newb_Bridge.

GitHub · Discord · Installation · Preview

Requirements

  • Newb_Bridge
  • ox_lib
  • Framework + inventory via the bridge
  • Vehicle keys and fuel via the bridge (auto-detect)

There is no deposit. stock.price is taken from bank on rent and refunded to bank on a valid return.

Where you edit

configs/config.luaConfig.Agencies, plus Config.BlipCategory / Config.BlipCategoryLabel for the shared map legend group.

The table key is the agency id: menu title, blip name, interaction label, and the rentalLocation written onto paperwork.

Config.BlipCategory = 12
Config.BlipCategoryLabel = 'Vehicle Rentals'
 
Config.Agencies = {
    ['Jims Discount Rentals'] = {
        coords = vector4(-905.4276, -2337.7114, 6.7090, 330.5889),
        model = 'u_m_y_babyd',
        platePrefix = 'JIM',
        animdata = {
            dict = 'amb@world_human_muscle_flex@arms_in_front@idle_a',
            anim = 'idle_b',
            flags = 1,
        },
        blip = { sprite = 227, color = 5, scale = 0.8, category = 12 },
        stock = {
            ['brioso3'] = {
                model = 'brioso3',
                label = 'Brioso 300 Widebody',
                price = 550,
            },
        },
        vehicleSpawn = {
            vector4(-912.7270, -2329.4360, 6.2954, 58.1394),
        },
    },
}
FieldRequiredPurpose
Config.BlipCategorynoDefault SetBlipCategory index for agency blips (shipped 12).
Config.BlipCategoryLabelnoLegend name for custom categories 12–133 (BLIP_CAT_<index>).
coordsyesDesk vector4 (heading in w).
modelyesPed or prop at the desk. Ped vs prop comes from the model.
platePrefixnoPlate prefix for this agency (defaults to RN). Starts an 8-character plate; the rest is random digits (e.g. JIMJIM00421).
stockyesMap of spawn model → { model, label, price }. Key and model must match.
stock[].modelyesVehicle / bike / boat model to spawn.
stock[].labelyesMenu title and paperwork vehName.
stock[].priceyesBank charge on rent, bank refund on return.
vehicleSpawnyesArray of vector4 spawn pads. First clear pad is used.
blipno{ sprite, color, scale, category }. Label is the location key. Omit to skip.
blip.categorynoPer-agency category override; falls back to Config.BlipCategory.
animdatanoPed idle: { dict, anim, flags }. flags defaults to 1.
entityTypenoOptional leftover ('ped' / 'object'). Not read at runtime.

Shipped agencies and prefixes:

AgencyStockplatePrefix
'Jims Discount Rentals'carsJIM
'Mayos Floaters'boats / jetskiMAY
'Dickles Shit Rentals'carsDKL
'Lees Wheely Good Bikes'BMXLEE

All shipped desks use blip category 12 under the legend label Vehicle Rentals. Change Config.BlipCategory / Config.BlipCategoryLabel (or per-agency blip.category) to regroup them.

Player flows

Target the desk. The menu lists every stock entry, then return rows for paperwork that belongs to this location when that vehicle is nearby.

Rent — pick a vehicle. The script checks bank and inventory space, spawns on the first clear vehicleSpawn pad with a plate from that agency’s platePrefix, charges bank, gives keys, and adds one rental_paperwork. If every pad is blocked, spawn fails.

Return — bring the vehicle back near the desk and use the return row. Bank is refunded, keys are removed, the vehicle is deleted, and that paperwork slot is removed.

Stopping the resource cleans up active rental vehicles.

Paperwork

Item name is hardcoded: rental_paperwork. It is not a usable item. Return is from the rental menu, not from using the item.

MetadataSource
platePlate from the agency platePrefix
rentalLocationLocation table key
vehNetIdNetwork id
vehNamestock.label
renterCharacter display name
descriptionLocale paperwork line

Defs: Item setup. Gallery: Item images.

rental_paperwork item

Layout

PathRole
configs/config.luaConfig.Agencies locations and stock
resource/shared/utils.luaShared helpers / locale init
resource/client/rental_desks.luaBlips + desk interactions
resource/client/rental_menu.luaRent / return menu + spawn
resource/server/rental_transactions.luaRent / return, money, paperwork
[INSTALL]/images/rental_paperwork.pngItem icon