Browse docs

Tuning and Orders

Configure tuning access, prices, required parts, payments, installations, and refunds.

Tuning modes

Sky Mechanic Job supports workshop tuning, public self-service tuning, and optional instant tuning locations. Access and pricing should be reviewed separately for each mode.

Instant tuning can be public, mechanic-only, or restricted to an allow-list of jobs. Its price multiplier is applied on top of the normal tuning price.

Order lifecycle

  1. A customer or mechanic selects tuning options.
  2. The resource calculates the price from the configured vehicle value and pricing profile.
  3. The customer selects an enabled payment method.
  4. A tuning order is created for the mechanic workflow.
  5. Required items and installation steps are completed.
  6. Installed tuning and order history are saved for the vehicle plate.

Orders can also store refund information. Confirm the order state before refunding or repeating an installation.

Pricing

Config.TuningCostProfile supports percentage-based and fixed pricing.

SettingPurpose
priceTypeSelects percentage or fixed prices
fallbackVehicleValueUsed when no vehicle purchase price is found
freeVehiclesMakes all tuning options free for listed models
addRevenueToSocietyDeposits paid tuning revenue into the mechanic society account
publicUsersSeePricesControls whether public users see normal prices

Percentage pricing is only reliable when vehicle catalog prices can be resolved. Custom vehicle shops may require the open vehicle price lookup hook in config/sv_functions.lua.

Per-job tuning restrictions

Each mechanic job can control more than complete tuning categories. In Tuning Prices inside /jobconfig, staged upgrades can be enabled or disabled individually, while direct-value options can define allowed or blocked values.

RulePurpose
enabled = false on an optionHides the complete tuning option
enabled = false on a staged entryHides only that upgrade stage
allowedValuesAllows only the listed values or ranges
blockedValuesBlocks the listed values or ranges

Values can be numbers or inclusive ranges written as strings. For example, the GTA Chameleon paint range can be blocked with:

color_primary = {
    enabled = true,
    cost = 1.12,
    items = { "spray_can" },
    blockedValues = { "161-242" }
}

The Job Configurator includes presets for Standard and Chameleon paint values. Restrictions are applied in the menu and validated again by the server when an order is created.

Required items

Individual tuning options can be enabled or hidden and can require one or more inventory items. Items are normally consumed after a successful installation unless that option explicitly keeps them.

Keep these three areas synchronized:

  • Inventory item definitions
  • Mechanic shop or Parts Shop catalog
  • Tuning option item requirements

Workshop enforcement

Config.TuningWorkshopRequirement can require order installations and tuning removals to take place near a self-service tuning workshop point. Enable this when mechanics should not complete work anywhere on the map.

Installation flows

Different modifications can use wheel, hood, lift, oil-change, fluid-refill, paint, or other configured flows. Workshop points and required items must support every enabled flow.

Safe tuning previews

The connected vehicle is frozen while unpaid live-preview modifications are active. Keyboard and controller driving controls are blocked until the tuning session is closed.

The preview is cancelled and the original vehicle state is restored if the player:

  • Leaves the vehicle or loses the driver seat
  • Moves the vehicle unexpectedly
  • Leaves the configured self-service workshop area
  • Stops the resource while a preview is active

Vehicles that were already frozen, such as vehicles on a Workshop Lift, remain frozen after the tuning session closes.

Tuning menu navigation

Performance, Bodywork, Wheels, and Paint remain in the main navigation. Secondary sections such as Lights, Engine Sounds, Stancer, Extras, and Utility are available through the localized More menu. The basket remains directly accessible.

Testing checklist

  • Test both percentage and fixed prices before launch.
  • Verify cash, card, and society behavior used by your setup.
  • Confirm paid revenue reaches the expected society account.
  • Confirm required items are removed only after a successful install.
  • Test a cancelled or failed install for unintended item loss.
  • Verify free vehicles, disabled stages, and allowed or blocked values behave as configured.
  • Confirm a modified or stale order payload cannot submit a blocked value.
  • Confirm closing or leaving an unpaid preview restores the original vehicle.
  • Confirm tuning persists after storing, retrieving, and restarting the vehicle.