# Configuration

Edit `shared/config.lua` to match your server:

```
Config.Debug = false          -- Enable debug prints
Config.Framework = 'auto'  -- 'auto', 'esx', 'qb', 'standalone'
Config.Target = 'auto'     -- 'auto', 'ox', 'qb', 'none'
Config.Locale = 'en'       -- 'tr', 'en', 'de', 'es', 'fr', 'pt'
```

### Step 5: Start Resource

Add to your `server.cfg`:

```
ensure oxmysql
ensure elenachop
```

⚠️ Make sure `elenachop` starts **after** your framework and oxmysql.

<br>

### Parts Configuration

```
Config.Parts = {
    engine = {
        label = 'Engine',
        item = 'chop_engine',
        itemAmount = 1,
        basePrice = { min = 500, max = 2000 },
        chopTime = 10000,           -- milliseconds
        animation = 'engine',
        skillCheck = true,
        skillDifficulty = 'hard',   -- 'easy', 'medium', 'hard'
        skillType = 'circle',       -- 'circle', 'sequence', 'wire_cut'
    },
}
```

| Option            | Description                                               |
| ----------------- | --------------------------------------------------------- |
| `label`           | Display name                                              |
| `item`            | Inventory item name                                       |
| `itemAmount`      | How many items given (doors = auto 4)                     |
| `basePrice`       | Min/max cash reward                                       |
| `chopTime`        | Duration in milliseconds                                  |
| `animation`       | Animation type: engine, mechanic, wheels, pulling, wiring |
| `skillCheck`      | Enable minigame (true/false)                              |
| `skillDifficulty` | easy, medium, hard                                        |
| `skillType`       | circle, sequence, wire\_cut                               |

### Payment Settings

```
Config.Payment = {
    type = 'both',    -- 'cash', 'item', 'both'
}
```

| Type   | Description          |
| ------ | -------------------- |
| `cash` | Only money reward    |
| `item` | Only inventory items |
| `both` | Money + items        |

### Vehicle Class Multipliers

```
Config.VehicleClassMultiplier = {
    [0]  = 1.0,   -- Compact
    [1]  = 1.1,   -- Sedan
    [2]  = 1.3,   -- SUV
    [3]  = 1.2,   -- Coupe
    [4]  = 1.4,   -- Muscle
    [5]  = 1.5,   -- Sports Classic
    [6]  = 1.8,   -- Sports
    [7]  = 2.5,   -- Super
    [8]  = 0.8,   -- Motorcycle
    [9]  = 0.6,   -- Off-road
}
```

Higher multiplier = more money for that vehicle class.

### Special Vehicles (Bonus)

```
Config.SpecialVehicles = {
    ['adder']    = { bonusMultiplier = 3.0, repBonus = 10 },
    ['zentorno'] = { bonusMultiplier = 2.5, repBonus = 8 },
}
```

These vehicles give extra money and reputation.

### Blacklisted Vehicles

```
Config.BlacklistedVehicles = {
    'police', 'police2', 'police3',
    'ambulance', 'firetruk',
    'fbi', 'fbi2', 'riot',
}
```

These vehicles cannot be chopped.

### Chop Rules

```
Config.ChopRules = {
    allowPlayerOwnedVehicles = false,
    onlyMissionVehicles = true,
    deleteOwnedVehicleFromDB = true,
}
```

| Option                     | Description                                 |
| -------------------------- | ------------------------------------------- |
| `allowPlayerOwnedVehicles` | Can players chop their own vehicles?        |
| `onlyMissionVehicles`      | Only mission vehicles can be chopped?       |
| `deleteOwnedVehicleFromDB` | Remove vehicle from garage DB when chopped? |

### Vehicle Delete

```
Config.VehicleDelete = {
    enabled = true,
    requireAllParts = false,
    deleteTime = 120,        -- seconds
    fadeOut = true,
}
```

### Cooldown

```
Config.Cooldown = {
    enabled = true,
    playerCooldown = 5,      -- minutes (between different vehicles)
}
```

Note: No cooldown when chopping parts from the same vehicle.

### Police Alert

```
Config.PoliceAlert = {
    enabled = true,
    chance = 35,              -- 35% chance
    requiredCops = 0,         -- minimum online cops (0 = always)
    alertMessage = 'Suspicious vehicle chopping activity',
    blipSprite = 446,
    blipColor = 1,
    blipTime = 60,            -- seconds

    policeJobs = {
        'police', 'lspd', 'bcso', 'sheriff',
    },
}
```

### Anti-Cheat

```
Config.AntiCheat = {
    enabled = false,
    maxChopsPerHour = 15,
    minChopInterval = 20,      -- seconds
    maxDistanceFromZone = 15.0,
}
```

### Discord Webhook

```
Config.Webhook = {
    enabled = false,
    url = 'YOUR_WEBHOOK_URL',
    botName = 'Chop Shop Logger',
```

<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://elena-scripts.gitbook.io/elenascripts/jobs-and-activities/chop-shop-v1/configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
