Kartik Scripts

Garage Sales

Admins list private garages for sale. Players find them on the map, tour them, and buy them in-game. Owners can later sell a bought garage back.

๐ŸŒŸ Overview & Highlights

  • List from the admin panel: pick a private garage in /garageadmin, set a price and mark it For sale.
  • Map blip: garages for sale get their own blip ("Garage for sale" by default).
  • Buy in person: walk into the garage zone to see the price and buy it. The price is charged from Config.MoneyAccount.
  • Tour before buying: if the garage has a walk-in interior, players can take an empty walk-through first.
  • Sell back: owners sell a bought garage back from /mygarages for a share of its price, and it goes back on the market.
  • Ownership limit: cap how many garages one player can buy.

๐Ÿ‘‘ Listing a Garage (Admins)

  1. Open /garageadmin โ†’ Garages and pick a private garage.
  2. Open For sale, switch on Listed for sale and set the Price.
  3. Save.

Listing removes the garage's current owner and members, so the garage must be empty first. Only private garages can be listed.

Un-listing a garage keeps it unowned until an admin assigns an owner. Changing the price of a garage that isn't listed only updates the price, and the owner stays.


๐Ÿ›’ Buying & Selling (Players)

  • Buy: enter the garage zone and open the sale menu (radial, key or target, depending on your interaction mode). It shows the price with Buy garage and, when available, Tour garage. Buying asks for confirmation first.
  • Sell back: in /mygarages, a bought garage shows a Sell garage button with the refund amount. The garage must be empty. Only garages that were bought can be sold back. Garages an admin assigned directly can't be.

Purchases and sell-backs are logged to the garage_sale webhook in shared/server_config.lua.


โš™๏ธ Configuration (shared/garage_sales_config.lua)

Config.GarageSales = {
    enabled = true,                -- Admins can list private garages; players tour and buy them
    allowTour = true,              -- Walk through the garage's interior before buying (needs an interior)
    maxOwnedPerPlayer = 0,         -- Garages one player may buy (0 = unlimited)
    sellBackPercent = 50,          -- Refund when an owner sells back from /mygarages (0 = selling disabled)
    blip = { sprite = 369, color = 2, label = "Garage for sale" },
}

On this page