General Settings
📄 Config file: shared/general.lua
This is the main configuration file for Kartik-Mechanic. It controls core behaviour like debug mode, autosaving, interaction style, which parts are tracked, anti-lag, brake glow, and which vehicle classes are excluded.
Debug Mode
Config.Debug = falseSet to true to enable debug prints in the console. Useful for troubleshooting during development, always keep this false on a live server to avoid console spam.
Autosave
Config.Autosave = true
Config.AutosaveInterval = 30
Config.MinDiffToSave = 100.0| Setting | What it does |
|---|---|
Autosave | When true, vehicle data (mileage, wear) is automatically saved to the database at regular intervals. |
AutosaveInterval | How often (in seconds) the autosave runs. Default is every 30 seconds. |
MinDiffToSave | Minimum distance (in game units) the vehicle must have traveled since the last save before it bothers saving. Prevents unnecessary database writes when a car is parked. |
Maintenance Alerts
Config.ChangeWarnings = true
Config.WarningsInterval = 9999
Config.MaintenanceAlertThreshold = 20| Setting | What it does |
|---|---|
ChangeWarnings | When true, players get a notification when a part is getting critically worn. |
WarningsInterval | Time (in seconds) to wait before repeating a critical engine warning. Set very high (e.g. 9999) to only notify once. |
MaintenanceAlertThreshold | The remaining condition percentage (%) at which the alert fires. 20 means the player gets warned when a part drops to 20% remaining life. |
Interaction Type
Config.InteractionType = 'radial'Controls how players interact with mechanic zones:
'radial': Opens a radial menu when the player enters a zone. Best for controllers and immersive servers.'button': Shows a TextUI prompt (e.g. "Press [E]") and waits for a key press. More traditional.
With 'button', the prompt stays on screen while you stand in the zone. It only hides while a mechanic menu or the pause menu is open, and comes back when you close them. Other scripts opening their own screens do not hide it.
HUD & Interaction
Config.HUD = {
Mileage = true, -- Global toggle for mileage counter
Gears = true, -- Global toggle for manual transmission gears
Nitro = true, -- Global toggle for nitro level counter
Seatbelt = true, -- Global toggle for seatbelt indicator
Electronics = true, -- Global toggle for TCS/ESC indicator
}
Config.InteractionType = 'radial'
Config.InstallationCamera = true
Config.ReappearReceipt = true| Setting | What it does |
|---|---|
Config.HUD | Global on/off switches for individual HUD elements: Mileage (odometer), Gears (current gear indicator), Nitro (gas levels), Seatbelt (buckle indicator), and Electronics (TCS/ESC status). |
InteractionType | Controls interaction style: 'radial' for a radial menu on entrance, or 'button' for a traditional TextUI prompt. |
InstallationCamera | When true, enables a cinematic camera zoom on the vehicle during mod installation. |
ReappearReceipt | When true, automatically re-shows the modification receipt after a purchase is completed. |
Seatbelt also requires Config.EnableSeatbelt, and Electronics also requires Config.Electronics.Enable. If the underlying system is disabled, the HUD element never shows.
HUD positions, colours, opacity, and scale are not configured here, they are set in-game and stored in the database. See HUD Customization.
Feature Toggles
Config.Features = {
VehicleConfigPhysics = true,
TuningSystem = true,
NitroSystem = true,
StanceSystem = true,
DirtSystem = true,
}Master switches for whole systems. Set one to false and that system is completely turned off, not just hidden. Useful when another resource on your server already handles that feature.
| Feature | What turning it off does |
|---|---|
VehicleConfigPhysics | Turns off the custom torque curves and handling overrides. Vehicles keep their stock handling. |
TuningSystem | Turns off the ECU / Tuning Chip. |
NitroSystem | Turns off the Nitrous system, including its keybinds and HUD gauge. |
StanceSystem | Turns off the stance / camber system. |
DirtSystem | The resource stops touching vehicle dirt entirely. The cleaning kit stops working, wax no longer clears dirt, and repairs leave the vehicle as dirty as it was. Dirt goes back to normal GTA behaviour. |
Already running a car wash script? Turn off DirtSystem. The two scripts will then stop fighting over how dirty a vehicle is. Wax still works and still applies its protection, it just stops cleaning the car.
For a full list of everything you can switch on or off, see Enable / Disable Reference.
Zone Types
Config.ZoneTypes = { ... }Defines the types of zones that shop owners can create through the management UI. Each zone type has:
| Property | What it does |
|---|---|
label | Display name shown in the management menu when creating a zone. |
geometry | Shape of the zone, 'poly' for a polygon area, 'sphere' for a spherical radius. |
textUI | The text shown on screen when a player enters this zone. |
icon | Icon displayed next to the TextUI prompt. |
Built-in zone types:
| Zone Type | Purpose |
|---|---|
Customs | Opens the vehicle customs/upgrade menu. |
Stash | Opens the shop's storage stash. |
ToggleDuty | A press-to-toggle clock in/out point. |
DynamicDuty | Automatically clocks players in/out when entering/leaving the zone. |
Crafting | Opens the crafting workbench menu. |
Billing | Opens the billing interface to charge customers. |
Stance | Opens the vehicle stancing menu. |
Garage | Opens the job garage menu to spawn work vehicles. |
DynoZone | Defines the physical polygon/sphere area where dyno testing is active. |
DynoProp | Specialized zone that spawns the physical dynamometer machine (roller) using the object gizmo. |
Wear Tracking
Config.WearTracking = {
SparkPlugs = true,
Oil = true,
AirFilter = true,
Tires = true,
Brakes = true,
Suspension = true,
Clutch = true,
Gearbox = true,
Pistons = true,
Radiator = true,
FuelPump = true,
Alternator = true,
WheelBalancing = true,
Turbo = true,
AntiLag = true,
}Each entry controls whether that specific part's wear is tracked and simulated. Set any part to false to completely disable its wear system, the part will never degrade, and players won't be able to inspect or repair it.
This is useful if you want a simpler mechanic experience. For example, set everything to false except Tires and Brakes for a lightweight setup.
Anti-Lag System
Config.AntiLag = {
Enabled = true,
MinRPM = 0.6,
MinSpeed = 10.0,
FireChance = 0.8,
Cooldown = 500,
}Controls the exhaust backfire/pop effect that triggers when the anti-lag part is installed and active.
| Setting | What it does |
|---|---|
Enabled | Master toggle for the entire anti-lag system. |
MinRPM | Minimum engine RPM (0.0–1.0 scale) before backfires can happen. 0.6 = 60% RPM. |
MinSpeed | Minimum vehicle speed (km/h) before backfires can happen. Prevents pops at idle. |
FireChance | Probability (0.0–1.0) of a pop occurring each check. 0.8 = 80% chance. |
Cooldown | Minimum time (in milliseconds) between pops. Prevents machine-gun-like spam. |
Check Vehicle Animation
Config.CheckVehicle = {
Animation = "base",
AnimDict = "amb@world_human_clipboard@male@base",
Object = "prop_notepad_01",
Bone = 60309
}The animation played when a mechanic inspects a vehicle's condition. The player holds a clipboard prop while checking.
| Setting | What it does |
|---|---|
Animation | Animation name within the dictionary. |
AnimDict | The animation dictionary to load. |
Object | The prop object attached to the player's hand. |
Bone | The bone ID on the player model where the prop attaches. 60309 is the right hand. |
Disabled Vehicle Classes
Config.DisabledVehicleClasses = {
[13] = true, -- Cycles
[14] = true, -- Boats
[15] = true, -- Helicopters
[16] = true, -- Planes
[19] = true, -- Military vehicles
[20] = true, -- Commercial vehicles
[21] = true, -- Trains
[22] = true, -- Open Wheel
}Vehicle classes listed here are completely excluded from the mechanic system, they won't have wear tracking, can't be customised, and won't trigger any mechanic interactions.
The numbers are GTA V vehicle class IDs. Common classes:
| Class ID | Name |
|---|---|
| 0 | Compacts |
| 1 | Sedans |
| 2 | SUVs |
| 3 | Coupes |
| 4 | Muscle |
| 5 | Sports Classics |
| 6 | Sports |
| 7 | Super |
| 8 | Motorcycles |
| 9 | Off-road |
| 13 | Cycles |
| 14 | Boats |
| 15 | Helicopters |
| 16 | Planes |
Brake Glow Effect
Config.BrakeGlow = {
Enabled = true,
HeatIncRate = 10.0,
CoolRate = 4.0,
GlowThreshold = 80,
MaxHeatFront = 800,
MaxHeatRear = 400,
UpdateInterval = 50,
EnabledClasses = { ... }
}A visual effect where brake discs glow red/orange when hot from heavy braking.
| Setting | What it does |
|---|---|
Enabled | Master toggle for the brake glow system. |
HeatIncRate | How fast heat builds up per tick when the player is braking. Higher = faster glow. |
CoolRate | How fast heat dissipates per tick when the player is not braking. |
GlowThreshold | Minimum heat value before the glow effect becomes visible. Lower = glows sooner. |
MaxHeatFront | Maximum heat the front brake discs can reach. Front brakes typically heat more. |
MaxHeatRear | Maximum heat the rear brake discs can reach. |
UpdateInterval | How often (in milliseconds) the heat calculation runs. Lower = smoother but more CPU. |
EnabledClasses | A table of vehicle class IDs where brake glow is active. Add or remove class IDs as needed. |
If brake glow is causing performance issues, try increasing UpdateInterval to 100 or 200.
Configuration
This section covers every configurable setting in Kartik-Mechanic. All configuration is done through Lua files inside the shared/ folder, these files are not escrowed, so you can freely edit them.
Enable / Disable Reference
Everything in Kartik-Mechanic can be turned off. This page is the shortcut: every on/off switch in one place, with the file to open and the line to change.