Configuration

Agencies, paperwork metadata, and the file map for VehicleRentals.

Where you edit

configs/config.lua — Config.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. JIM → JIM00421).
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.

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

Defs: Item setup. Icon: Item images.

On this page