Skip to content

Retro Garage

All use lib.callback. Call with lib.callback.await from client or server.

CallbackReturns / Does
rs_garages:server:getVehiclesVehicle list for a garage (personal + shared + job)
rs_garages:server:spawnVehicleSpawn from garage, state โ†’ 0
rs_garages:server:storeVehicleStore in garage, state โ†’ 1, mods saved
rs_garages:server:payImpoundPay fee, release vehicle
rs_garages:server:transferVehicleTransfer ownership
rs_garages:server:getGarageListGarages available for transfer
rs_garages:server:moveToGarageMove vehicle to another garage (fee applies)
rs_garages:server:shareKeysShare keys with a player
rs_garages:server:getSharedPlayersPlayers with shared keys
rs_garages:server:revokeKeyRevoke a shared key
rs_garages:server:trackVehicleVehicle coords for GPS
Callback
rs_garages:server:getImpoundGaragesImpound garages filtered by vehicle type
rs_garages:server:impoundVehicleImpound, state โ†’ 2
rs_garages:server:getImpoundedVehiclesAll impounded vehicles (staff panel)
rs_garages:server:staffReleaseImpoundStaff free release
Callback
rs_garages:server:getInteriorDataLevel, placed vehicles, stored vehicles
rs_garages:server:getInteriorLevelsAll level info for upgrade modal
rs_garages:server:enterInteriorEnter routing bucket
rs_garages:server:exitInteriorExit to bucket 0
rs_garages:server:placeVehiclePlace in interior slot
rs_garages:server:unplaceVehicleRemove from slot
rs_garages:server:getVehicleByPlateModel/mods for preview spawn
rs_garages:server:changeGarageLevelUpgrade or downgrade
Callback
rs_garages:server:spawnJobVehicleSpawn from unlimited spawner
rs_garages:server:spawnJobOwnedSpawn shared fleet vehicle
rs_garages:server:storeJobOwnedStore shared fleet vehicle
rs_garages:server:addJobVehicleAdd spawner definition
rs_garages:server:removeJobVehicleRemove spawner
rs_garages:server:addJobOwnedAdd shared fleet vehicle
rs_garages:server:removeJobOwnedRemove shared fleet vehicle
Callback
rs_garages:server:getPrivateGaragesPlayerโ€™s private garages
rs_garages:server:createPrivateGarageCreate at current location (job-restricted)
rs_garages:server:deletePrivateGarageDelete - vehicles move to first public garage
Callback
rs_garages:server:adminCarSave current vehicle to garage
rs_garages:server:adminSetJobVehicleAdd job spawner
rs_garages:server:adminSetJobOwnedAdd shared fleet
rs_garages:server:adminRemoveJobVehicleRemove job vehicle
rs_garages:server:getJobGaragesList job garages
rs_garages:server:getJobGarageVehiclesVehicles in a job garage
rs_garages:server:adminVReturnForce return to garage
rs_garages:server:adminVPlateChange plate
exports('registerVehicleOutside', function(plate, netId))
exports('unregisterVehicleOutside', UnregisterVehicleOutside)
exports('isVehicleOutside', IsVehicleOutside)

Server:

  • rs_garages:server:updateNetId(plate, netId) - update network ID after spawn
  • rs_garages:server:vehicleDestroyed(plate) - return vehicle to garage on destruction

Client:

  • rs_garages:client:giveKeys(plate) - give keys (qbx_vehiclekeys integration)
  • rs_garages:client:refreshPrivateGarages - broadcast on private garage create/delete
ValueMeaning
0Out (spawned)
1Stored
2Impounded

JSON stored in impound_data column:

{
"garage": "depotLot",
"originalGarage": "motelgarage",
"by": "Officer Smith",
"reason": "Illegal parking",
"fee": 500,
"duration": 3600,
"timestamp": 1711234567,
"selfRelease": true
}
CommandAccessWhat it does
/ivImpoundJobsImpound modal (look at vehicle)
/uivImpoundJobsStaff impound release panel
/creategaragePrivateGarages.createJobsCreate private garage here
/deletegarageOwnerDelete own private garage
/admincarAdminSave current vehicle to motelgarage
/setjobvehicleAdminAdd job spawner vehicle
/setgangvehicleAdminAdd shared fleet vehicle
/removejobvehicleAdminRemove job vehicle
/vreturn [plate]AdminForce return
/vplateAdminChange plate
Bridge.GetPlayer(src)
Bridge.RemoveMoney(src, amount, type)
Bridge.AddMoney(src, amount, type)
Bridge.GetMoney(src, type)
Bridge.GiveVehicleKeys(src, plate, vehicle)
Bridge.RegisterPlayerLoaded(cb)
Bridge.Notify(src, message, type)
Bridge.IsAdmin(src)
Bridge.GetSourceByIdentifier(id)

GetVehicleMods(vehicle) captures 50+ properties: fuel, health (engine/body/tank), dirt, oil, colors (standard + custom RGB), pearlescent, wheel color, dashboard, interior, plate style, wheels, tire health/burst, windows, doors, neon, xenon, tire smoke, livery, all mods 0โ€“49, toggle mods, custom tires, extras 0โ€“14.

ApplyVehicleMods(vehicle, mods) restores everything.