Kartik Scripts

Garage Parking Capacity

Limit how many vehicles a garage can hold in total, and how many one player can keep in a single garage. Players always see how much room is left.

🌟 Overview & Highlights

  • Total limit: the number of vehicles a garage holds across all players.
  • Per-player limit: the number of vehicles one player may keep in a single garage.
  • Only stored vehicles count: vehicles driven out free up their space.
  • Set in-game: admins set limits per garage from /garageadmin without touching config or restarting.
  • Free spaces shown everywhere: in the garage menu header, on the prompt when entering a garage zone, and on each garage in the admin panel.
  • Points you somewhere else when full: a full garage names the nearest garage that still has room and can set a GPS waypoint to it.

🛠️ How Limits Are Chosen

For each garage, the first one set wins:

  1. The limit an admin set in-game from /garageadmin.
  2. The garage's entry in Config.Capacity.garages.
  3. defaultTotal / defaultPerPlayer.

0 always means unlimited. Impound lots are never limited by default (exemptTypes).

Job vehicles don't count toward a player's per-player limit, since they belong to the job, but they still take up a space toward the total. Set jobVehiclesCountPerPlayer = true to count them for the player too.

Trailers stored with their vehicle take up their own space. See Trailer Storage.


⚙️ Configuration (shared/capacity_config.lua)

Config.Capacity = {
    enabled = true, -- false turns every limit and every spaces display off

    -- 0 = unlimited. Only vehicles stored in the garage count, not ones driven out.
    defaultTotal = 0,     -- vehicles a garage holds across all players
    defaultPerPlayer = 0, -- vehicles one player may keep in a single garage

    -- Per-garage limits keyed by garage name (the id, not the label). Override the defaults.
    garages = {
        -- legion = { total = 50, perPlayer = 5 },
        -- pillbox = { total = 30 },
    },

    exemptTypes = { impound = true }, -- garage types that are never limited

    -- Job vehicles skip the per-player limit (they belong to the job, not the player)
    -- but still take up a space towards the total.
    jobVehiclesCountPerPlayer = false,

    -- Admins can set limits per garage from the admin panel. Those win over `garages` above.
    allowInGameEdit = true,

    -- Where the free spaces are shown. Limits are enforced either way.
    display = {
        garageMenu = true, -- badge in the garage menu header
        textUI = true,     -- line on the prompt when you enter a garage zone
        adminPanel = true, -- usage chip on each garage in the admin panel
    },

    whenFull = {
        suggestNearest = true, -- name the nearest garage that still has space
        setWaypoint = true,    -- and set a GPS waypoint to it
    },
}

On this page