For the complete documentation index, see llms.txt. This page is also available as Markdown.

Price Multiplier

How pricing works

Each mod has a base price defined in config/_prices.lua (Config.Prices), grouped into customization, performance (a base plus perLevel), wheels, stancer and painting. The price a player is charged for a part is:

part price = base price × shop multiplier × vehicle class multiplier × vehicle value multiplier
  • Shop multiplier — the Price multiplier you set on this shop (Access & pricing). It scales every part in the cart. Examples:

    • 1.0 → catalog price

    • 1.5 → +50%

    • 0.9 → −10%

    • 0 → the whole shop is free

  • Vehicle class multiplier — taken from Config.Prices.classMultiplier by the vehicle's GTA class, falling back to Config.Prices.defaultClassMultiplier. Use it to charge more for, say, supercars regardless of the shop.

  • Vehicle value multiplier — an optional multiplier based on the car's monetary worth (Config.VehiclePricing, brackets by value). This makes a $300k car cost more to tune than a $20k one for the exact same parts.

The cart total is the sum of every part's price, plus the shop's fixed Labor price.

Pricing is server-authoritative: the total shown in the cart is recomputed and validated on the server at checkout — the same shop, class and vehicle-value multipliers applied to the catalog base prices, plus the labor fee. A player can never pay a total the server didn't calculate.

Config.VehiclePricing is disabled by default. When enabled, the vehicle's value is resolved by getVehiclePrice in server/editable/vehicle_price.lua (implement it for your framework — owned-vehicle DB value, a model→price table, etc.). The same value is used for the client's displayed price and the server's charged price, so they always match.

Last updated