> For the complete documentation index, see [llms.txt](https://mole-resource.gitbook.io/mole-resource-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mole-resource.gitbook.io/mole-resource-docs/scripts/editor/configuration-file.md).

# Configuration file

Configuration file explanation

## Table of Contents

1. [Basic Settings](#basic-settings)
2. [Notifications and Target System](#notifications-and-target-system)
3. [User Interface](#user-interface)
4. [Commands](#commands)
5. [Map and Locations](#map-and-locations)
6. [NPCs and Markers](#npcs-and-markers)
7. [Camera](#camera)
8. [Blocked Locations](#blocked-locations)
9. [Controls](#controls)
10. [Vehicle Shop](#vehicle-shop)
11. [RC Range](#rc-range)
12. [Colors](#colors)
13. [Tuning](#tuning)
14. [Handling](#handling)
15. [Addon Costs](#addon-costs)
16. [Logs](#logs)
17. [Text Localization](#text-localization)

***

## Basic Settings

### Config.Notify

```lua
Config.Notify = "ox_lib"
```

**Options:** `"ESX"`, `"ox_lib"`, `"mythic_notify"` **Description:** Specifies the notification system used in the script.

### Config.Dui

```lua
Config.Dui = false
```

**Type:** `boolean` **Description:** Enables/disables DUI for speedometer and other elements. Requires ox\_lib.

### Config.RemoveOnTouchWater

```lua
Config.RemoveOnTouchWater = true
```

**Type:** `boolean` **Description:** If enabled, the vehicle will be removed when it touches water.

### Config.Instructions

```lua
Config.Instructions = true
```

**Type:** `boolean` **Description:** Displays steering instructions on screen.

### Config.DefaultPaymethod

```lua
Config.DefaultPaymethod = "bank"
```

**Options:** `"bank"`, `"cash"` **Description:** Default payment method in the shop.

### Config.ShopCurrency

```lua
Config.ShopCurrency = "$"
```

**Type:** `string` **Description:** Currency symbol displayed in the shop.

### Config.AutoDeleteDistance

```lua
Config.AutoDeleteDistance = 250
```

**Type:** `number` **Description:** Distance in meters after which the vehicle will be automatically removed if not used.

***

## Notifications and Target System

### Config.Target

```lua
Config.Target = {
    name = "ox_target",
    enable = true,
}
```

**name:** `"ox_target"`, `"qtarget"`, `"sleepless_interact"` **enable:** `boolean` - enables/disables target system

***

## Commands

### Config.SpawnCommandName

```lua
Config.SpawnCommandName = "rccar"
```

**Type:** `string` **Description:** Command to spawn RC vehicle.

### Config.EmergencyRemoveCommandName

```lua
Config.EmergencyRemoveCommandName = "rccar_remove"
```

**Type:** `string` **Description:** Command for emergency removal of RC vehicle.

***

## Map and Locations

### Config.Blip

```lua
Config.Blip = { 
    name = "RC SHOP",
    Sprite = 646,
    Display = 4,
    Scale = 1.5,
    Colour = 29,
}
```

* **name:** Blip name on the map
* **Sprite:** Blip icon ID ([Sprite List](https://docs.fivem.net/docs/game-references/blips/))
* **Display:** Blip display type
* **Scale:** Blip size (1.0 = normal)
* **Colour:** Blip color ([Color List](https://docs.fivem.net/docs/game-references/blips/))

### Config.Marker

```lua
Config.Marker = {
    DrawDistance = 10,
    type = 1,
    size = {x = 1.5, y = 1.5, z = 1.0}, 
    color = {r = 255, g = 255, b = 255},
    coords = vector3(-1110.712036, -1655.512085, 4.426392)
}
```

* **DrawDistance:** Marker render distance
* **type:** Marker type ([Type List](https://docs.fivem.net/docs/game-references/markers/))
* **size:** Marker size (x, y, z)
* **color:** Marker color (RGB)
* **coords:** Marker coordinates (DO NOT CHANGE)

***

## NPCs and Markers

### Config.ShopNPC

```lua
Config.ShopNPC = {
    model = "S_M_M_LifeInvad_01",
    animDict = "anim@heists@heist_corona@single_team",
    animName = "single_team_loop_boss",
    coords = vector3(-1109.736206, -1654.443970, 3.409546),
    heading = 120.5
}
```

* **model:** NPC model ([Model List](https://forge.plebmasters.de/peds))
* **animDict:** Animation dictionary
* **animName:** Animation name
* **coords:** NPC coordinates (DO NOT CHANGE)
* **heading:** NPC facing direction (DO NOT CHANGE)

***

## Camera

### Config.ExtraCameraSettings

```lua
Config.ExtraCameraSettings = {
    Enable = true,
    Timecycle = "scanline_cam_cheap",
    EaseTime = 1,
}
```

* **Enable:** Enables/disables extra camera
* **Timecycle:** Camera visual effect
* **EaseTime:** Time to return to normal camera (seconds)

***

## Blocked Locations

### Config.BlockedLocation

```lua
Config.BlockedLocation = {
    {coords = vector3(438.874, -983.249, 30.689), distance = 20, enable = true},
    {coords = vector3(296.431, -584.618, 43.135), distance = 20, enable = true}
}
```

Locations where RC vehicle cannot be spawned:

* **coords:** Blocked zone coordinates
* **distance:** Block radius (meters)
* **enable:** Enables/disables block

***

## Controls

### Config.Controls

```lua
Config.Controls = {
    ["lights"] = { 
        enable = true,
        name = "INPUT_VEH_HEADLIGHT",
        id = 74
    },
    ["camera"] = {
        name = "INPUT_CELLPHONE_CAMERA_FOCUS_LOCK",
        id = 182
    },
    -- ... more controls
}
```

**Control List:**

* **lights:** Turn lights on/off
* **camera:** Change camera mode
* **acceleration:** Accelerate
* **turnright/turnleft:** Turn
* **brakes:** Brake
* **pickup:** Pick up vehicle
* **ShopOpen:** Open shop

Each control contains:

* **enable:** Whether control is active
* **name:** Control name ([Control List](https://docs.fivem.net/docs/game-references/controls/))
* **id:** Control ID

### Config.BlockedKeys

```lua
Config.BlockedKeys = {157, 158, 150, 164, 165, 310, 346, 24, 25}
```

List of key IDs blocked while controlling RC vehicle.

***

## Vehicle Shop

### Config.Shop

```lua
[1] = { 
    model = "rcjester3", 
    category = "sport", 
    label = "Jester Classic", 
    price = 240, 
    customheight = 3.6, 
    statsmods = { 
        engine = {1,25, 50, 100, 250}, 
        brakes = {1,25,50,100}, 
        gearbox = {1,50,100,250}, 
        suspension = {1,4,8,12,16,20}
    }, 
    cameraoffset = { x = 0.0, y = 0.0, z= 0.3 }
}
```

**Vehicle Parameters:**

* **model:** Vehicle model name
* **category:** Category (`"sport"`, `"super"`, `"off-road"`)
* **label:** Display name
* **price:** Base price
* **customheight:** Spawn height in shop (default 3.6)
* **statsmods:** Stat modifiers for each tuning level
* **cameraoffset:** Camera offset for vehicle

**Statsmods Explanation:**

* **engine:** Engine modifiers `{level 1, level 2, level 3, level 4, level 5}`
* **brakes:** Brake modifiers
* **gearbox:** Transmission modifiers
* **suspension:** Suspension modifiers

***

## RC Range

### Config.Range

```lua
Config.Range = {
    LimitedRange = true,
    LengthUnit = "m",
    [1] = {
        range = 25,
        price = 0,
        antenna = false,
    },
    [2] = {
        range = 50, 
        price = 25,
        antenna = true,
    },
    [3] = {
        range = 150,
        price = 50, 
        antenna = true,
    },
}
```

**Range Settings:**

* **LimitedRange:** Whether range is limited
* **LengthUnit:** Length unit (`"m"` or `"ft"`)

**Range Levels:**

* **range:** Range in meters
* **price:** Percentage of vehicle price for this range
* **antenna:** Whether antenna is visible

***

## Colors

### Config.Colors

```lua
Config.Colors = {
    price = 10, -- percentage of vehicle price for color change
    [Config.Locale["black"]] = {
        [0] = Config.Locale["black"],
        [1] = Config.Locale["graphite"],
        -- ... more colors
    },
    -- ... more color categories
}
```

**Color Structure:**

* **price:** Percentage of vehicle price for color change
* **Categories:** Black, white, gray, red, pink, blue, yellow, green, orange, brown, purple, chrome, gold
* **Format:** `[Color_ID] = Color_Name`

***

## Tuning

### Config.Tuning

```lua
[0] = {
    label = Config.Locale["spoilers"], 
    percent = 10, 
    type = "visual", 
    heading = 305,
    name = "modSpoilers"
}
```

**Modification Parameters:**

* **label:** Display name
* **percent:** Percentage of vehicle price for modification (or array for levels)
* **type:** Modification type (`"visual"` or `"mechanical"`)
* **heading:** Camera direction during preview
* **name:** Technical modification name

**Modification Types:**

* **Visual:** Spoilers, bumpers, wheels, liveries, extras
* **Mechanical:** Engine, brakes, transmission, suspension, turbo

**Special Modifications:**

* **Wheels (ID 23):** Contains `wheelstypes` with wheel types
* **Leveled (11,12,13,15):** Use percentage array for different levels

***

## Handling

### Config.HandlingScale

```lua
Config.HandlingScale = {
    speed = 120,
    acceleration = 0.25,
    brakes = 2.5,
    steering = 45,
}
```

**Property Scale:**

* **speed:** Maximum speed
* **acceleration:** Acceleration
* **brakes:** Braking force
* **steering:** Steering sensitivity

***

## Addon Costs

### Config.AddonsCost

```lua
Config.AddonsCost = {
    ["diesel"] = 10,
    ["camera"] = 10,
    ["livery"] = 10,
}
```

Percentage of vehicle price for addons:

* **diesel:** Diesel engine
* **camera:** Extra camera
* **livery:** Vehicle livery

***

## Logs

### Config.Logs

```lua
Config.Logs = {
    enable = true,
    footer = "Your server name", 
    buy = "",  
    tune = ""
}
```

* **enable:** Enables/disables logs
* **footer:** Server name in logs
* **buy:** Webhook URL for purchase logs
* **tune:** Webhook URL for tuning logs

**Log Formats:**

* **buy-logs:** Purchase logs with nickname, ID, item, name, range, camera, diesel, price
* **tune-logs:** Tuning logs with similar information

***

## Text Localization

### Config.Locale

All texts in the script are defined in the `Config.Locale` section. They are divided into categories:

#### Controls

* `camera-mode`, `car-steering`, `lights` - Control instructions
* `losing-signal`, `signal-restored`, `no-signal` - Signal messages
* `pickup`, `cant-place`, `using-veh` - Vehicle messages

#### Payments

* `bank-accept/refuse`, `cash-accept/refuse` - Payment messages
* `paymethod` - Payment method

#### Shop

* `choose-livery`, `name-veh`, `pick-color` - Shop options
* `speed-label`, `acceleration-label` - Stat labels
* `buy`, `exit`, `menu-tuning` - Menu buttons

#### Tuning

* `no-vehicle`, `default`, `back` - Menu navigation
* `vis`, `mech`, `color` - Tuning categories
* `level`, `selectcategory` - Level options

#### Part Names

Complete list of vehicle part names from `doorleft` to `extras`.

#### Wheels

Wheel types: `sport`, `muscle`, `lowrider`, `allterrain`, `tuning`, `highend`, `dragster`, `street`, `bennys`, `rally`.

#### Colors

Extensive color palette organized by categories (black, white, gray, etc.).

***

## Configuration Tips

### ⚠️ Important Notes

* **DO NOT CHANGE** NPC and marker coordinates
* Before changing vehicle models, ensure they are installed
* Prices are given as percentages of vehicle base price
* Control IDs can be found in [FiveM documentation](https://docs.fivem.net/docs/game-references/controls/)

### 💡 Tips

* Test changes on a test server
* Create backups before modification
* Check logs in case of problems
* Adjust prices to your server's economy

### 🔧 Troubleshooting

* Check if all required scripts are installed
* Ensure RC vehicle models are properly installed
* Verify webhook URLs for logs are correct
* Check console for Lua errors

***

*Documentation created for MR RC Cars script*
