> For the complete documentation index, see [llms.txt](https://lusty94-scripts.gitbook.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lusty94-scripts.gitbook.io/documentation/paid/chop-shop/chop-shops.md).

# Chop Shops

{% hint style="warning" %}
IMPORTANT INFORMATION
{% endhint %}

* Each vehicle has a tracker that must be removed prior to delivering the vehicle to either be chopped into parts or exported
* Players must use a tracker remover tool and then will be presented with the bl\_ui wavematch minigame&#x20;
* Information can be found here: <https://docs.byte-labs.net/bl_ui/hacking/WaveMatch>
* Should you wish to change the minigame or inputs required change the logic to suit in the following event: `lusty94_chopshop:client:UseTrackerRemover`

```lua
local gameInfo = {
    iterations = 1, -- amount of times the player has to complete the minigame
    duration = 90000, -- time to complete the minigame
}
local success = exports.bl_ui:WaveMatch(gameInfo.iterations, {
    duration = gameInfo.duration,
})
```

***

{% hint style="success" %}
Shop Name
{% endhint %}

* The key is the chop shop name and must be unique

```lua
['rogers'] = { -- the key must be unique

},
```

***

{% hint style="success" %}
Label
{% endhint %}

* The label is the name displayed for that chop shop

```lua
label = 'Rogers Chop Shop', -- label for menu
```

***

{% hint style="success" %}
Coords
{% endhint %}

* Define coords for the chop shop ped to spawn at

```lua
coords = vector4(-512.14, -1738.2, 19.28, 341.86), -- coords to spawn ped
```

***

{% hint style="success" %}
Model
{% endhint %}

* Define the ped model you wish to spawn

```lua
model = 'g_m_y_ballaeast_01', -- ped model
```

***

{% hint style="success" %}
Chop Cost
{% endhint %}

* Define the cost to start chop shop missions (set to 0 to be free and incur no charge)

```lua
chopcost = 1500, -- cost to start chop mission
```

***

{% hint style="success" %}
Export Cost
{% endhint %}

* Define the cost to start an export mission (set to 0 to be free and incur no charge)

```lua
exportCost = 2500, -- cost to start export mission
```

***

{% hint style="success" %}
Minimum Export Reputation
{% endhint %}

* Define the minimum reputation level required for this chop shop to start an export mission
* Make sure this coincides with your ranks you set in Config.Reputation!

```lua
exportMinRep = 100, -- minimum amount of rep required to start export missions
```

***

{% hint style="success" %}
Delivery Coords
{% endhint %}

* Define coordinates to deliver the chop shop mission vehicle
* This must be vector4

```lua
deliveryCoords = vector4(938.22, -1223.02, 25.67, 105.1), -- delivery zone location for the vehicles
```

***

{% hint style="success" %}
Work Bench Coords
{% endhint %}

* Define coordinates for the work bench prop to spawn allowing players to process parts
* This must be a vector4
* Do not set the bench prop too far away from the coordinates set for the delivery location incase of triggering false security actions
* Also bare in mind the distance figure you set in Config.CoreSettings.Security.MaxDistance incase of triggering false security actions

```lua
benchCoords = vector4(940.67, -1217.49, 25.72, 181.09), -- work bench coords to take removed parts to and process into materials
```

***

{% hint style="success" %}
Blips
{% endhint %}

* Enable and define blip settings for each chop shop
* Blip info can be found here: <https://docs.fivem.net/docs/game-references/blips/>
* Set enabled to true to enable the blip for this chop shop
* Define the blip ID to be displayed
* Define the colour of the blip to be displayed
* Define the scale of the blip to be displayed
* Define the title of the blip to be displayed

```lua
blip = { -- blip settings
    enabled = true, -- enable blip for ped
    id = 67, -- blip id
    colour = 5, -- blip colour
    scale = 0.5, -- blip scale
    title = 'Chop Shop', -- blip title
},
```

***

{% hint style="success" %}
Time Restrictions
{% endhint %}

* You can set each chop shop to have an open and close time making players only permitted to use the chop shop features during configured hours
* Set enabled to true to enable the time restrictions for each chop shop
* Define the opening hour for this chop shop
* Define the closing hour for this chop shop

```lua
hours = { -- restrict time chop shop can be used
    enabled = false, -- set to true to make chop shop use opening / closing times set to false for 24/7
    open = 22, -- open time
    close = 5, -- close time
},
```

***

{% hint style="success" %}
Reputation
{% endhint %}

* Define each chop shops minimum and maximum amount of reputation points that can be earnt by doing chop shop and export missions

```lua
reputation = { -- rep settings
    increase = {  -- amount to increase rep when scrapping parts
        min = 5, -- min amount
        max = 10, -- max amount
    },
},
```

***

{% hint style="success" %}
Target Information
{% endhint %}

* Define settings for various target interactions such as icons, labels and distances

```lua
target = { -- target settings
    ped = { -- target settings for ped
        icon = 'fas fa-car', -- target icon
        label = 'Chop Shop', -- target label
        distance = 2.0, -- target distance
    },
    vehicle = { -- target settings for vehicle
        icon = 'fas fa-car', -- target icon
        label = 'Break into vehicle', -- target label
        distance = 3.0, -- target distance
    },
    scrapVehicle = {
        icon = 'fas fa-tools', -- target icon
        label = 'Scrap vehicle', -- target label
        distance = 3.0, -- target distance
    },
    workBench = {
        icon = 'fas fa-cogs', -- target icon
        label = 'Use Workbench', -- target label
        distance = 3.0, -- target distance
    },
},
```

***

{% hint style="success" %}
Police Alert
{% endhint %}

* Define the chance for police to be alerted if failing chop shop or export mission requirements

```lua
alert = { -- police alert settings
    chance = 50, -- chacne to alert police
},
```

***

{% hint style="success" %}
Skill Check
{% endhint %}

* Define settings for the mini game when breaking into `normal` vehicles
* Special vehicles have their own minigame settings which is covered in more detail further below

```lua
skillCheck = { -- skillCheck settings
    {'easy', 'easy', 'easy', 'easy', 'easy',}, {'e',} -- skillCheck settings for breaking into normal vehicles
},
```

***

{% hint style="success" %}
Prop Models
{% endhint %}

* Define prop models that are spawned and attached to the player when removing parts from the chop shop vehicle
* You can use custom props if you wish but you must ensure these are streamed correctly before declaring them in this script

```lua
propModels = { -- prop models used when interacting with vehicle parts if adding more vehicle parts above then define their props below
    hood = 'prop_car_bonnet_01',
    trunk = 'imp_prop_impexp_trunk_02a',
    door = 'prop_car_door_01',
    wheels = 'imp_prop_impexp_tyre_01b',
    engine = 'prop_car_engine_01',
    seats = 'prop_car_seat',
    transmission = 'imp_prop_impexp_gearbox_01',
    battery = 'prop_car_battery_01',
    --add more prop models below
},
```

***

{% hint style="success" %}
Vehicle Bones
{% endhint %}

* Some parts of vehicles can be visually removed such as the hood, trunk and wheels etc
* Define what vehicle bones are being used
* Not all vehicle parts have props that can be visually removed so please bare this in mind when adding additional parts available to remove

```lua
vehicleBones = { --if adding more vehicle parts you can define their default bones here (not all props will have corresponding bones)
    hood = 'bonnet',
    trunk = 'boot',
    door = 'door_dside_f',
    wheels = 'wheel_lf',
    --define more vehicle bones below if adding custom parts
},
```

***

{% hint style="success" %}
Vehicle Spawns
{% endhint %}

* Define locatons where vehicles will spawn at when requesting a chop shop or export mission
* The coords must be a vector4 and you can use multiple locations
* The script will pick a location at random to spawn the vehicle at

<pre class="language-lua"><code class="lang-lua">vehicleSpawns = { -- vehicle spawn locations - location is chosen at random - MUST BE VECTOR4
<strong>    vector4(135.39, -1069.45, 29.19, 182.28),
</strong><strong>    --define more spawn locations below
</strong>},
</code></pre>

***

{% hint style="success" %}
Shell Pickup
{% endhint %}

* Once the player has removed all the parts from the vehicle they can request for an NPC to come and collect the remaining vehicle shell and get paid a small amount for it
* Model is the spawn name of the vehicle
* Driver Model is the ped that spawns inside driving the vehicle
* TruckSpawnLoc is the location where the vehicle will spawn (set this nearby as the NPC will drive to the vehicles location before attaching it and driving off)
* Reward is the minimum and maximum the player will be paid for the remaining vehicle shell

```lua
ShellPickup = { -- settings for the remaining vehicle body to be collected once all  parts are harvested
    model = 'flatbed', -- vehicle model for flatbed
    driverModel = 's_m_m_dockwork_01', -- ped that drives the flatbed
    truckSpawnLoc = vector4(891.03, -1216.42, 25.56, 176.49), -- spawn location for the collection vehicle before driving to the scrapped vehicle
    reward = { min = 500, max = 800 }, -- cash reward for vehicle shell this is slightly higher for rare vehicles so set this accordingly to a normal vehicle reward
},
```

***

{% hint style="success" %}
Vehicles
{% endhint %}

* Define normal vehicles that can spawn when requesting a chop shop mission
* Special vehicles are covered in more detail further below as they have slightly different logic
* If changing vehicles make sure they are a valid model
* If using custom vehicles ensure these are streamed correctly before being declared in this script

```lua
vehicles = { -- list of normal vehicles that can spawn at the random coord
    'sultan', 
    'buffalo', 
    'dominator',
    'glendale',
    'washington',
    'rhinehart',
    'baller',
    'weevil',
    'boor',
    'feltzer2',
    --add more vehicles below
},
```

***

{% hint style="success" %}
Rare Vehicles
{% endhint %}

* Define rare vehicles that can spawn when requesting a chop shop mission
* The key is the vehicle spawn name
* The chance is the chance for that vehicle to spawn when requesting the mission
* Define hacking settings for bl\_ui pathfind to break into the vehicle
* Nodes is the amount of nodes required to be linked together
* Timer is the duration the player has to connect the nodes together
* BL\_UI docs: <https://docs.byte-labs.net/bl_ui/hacking/PathFind>

```lua
rareVehicles = { -- list of rare vehicles that can spawn at the random coord
    ['trophytruck'] = { -- the key is the vehicle name
        chance = 10, --chance for this vehicle to spawn instead of a normal one
        hacking = { -- hacking settings for breaking into vehicle
            nodes = 5, -- nodes required to link up
            timer = 20000, -- timer to complete minigame
        },
    },
    --add more vehicles below
},
```

***

{% hint style="success" %}
Export Vehicles
{% endhint %}

* Define special vehicles that can spawn when requesting an export mission
* The key is the vehicle spawn name
* Define reward settings providing a minimum and maximum amount received for this vehicle
* Define random drop locations that the vehicle must be delivered to
* These must be vector4
* The script will pick a location at random
* Define the timer duration that the player must deliver the vehicle within to receive payment
* Define hacking settings for bl\_ui pathfind to break into the vehicle
* Nodes is the amount of nodes required to be linked together
* Timer is the duration the player has to connect the nodes together
* BL\_UI docs: <https://docs.byte-labs.net/bl_ui/hacking/PathFind>

```lua
 exports = { -- list of export vehicles that can spawn
    ['zentorno'] = { -- the key is the vehicle name
        reward = { -- reward settings for delivery
            min = 12500, -- min
            max = 18000, -- max
        },
        dropLocations = { --random drop off locations
            vector4(-418.06, -2280.2, 7.61, 107.71),
        },
        timer = { -- delivery timer settings in minutes -- vehicle must be delivered within this time to get paid, if they dont they get nothing at all!
            due = 10, -- time in minutes before delivery is classed as late and no rewards are given
        },
        hacking = { -- hacking settings for breaking into vehicle
            nodes = 5, -- nodes required to link up
            timer = 20000, -- timer to complete minigame
        },
    },
    --add more vehicles below
},
```

***

{% hint style="success" %}
Parts
{% endhint %}

* Define parts available to remove from a chop shop vehicle
* The key is the item name
* Label is the item label
* Duration is the time to remove that part (this is adjusted by rep level)
* Define a required item if enabled to remove parts
* Define materials given from removing this part
* Define a chance for this part to be damaged and yield less returns
* Define coords where the prop attaches to the player
* Define coords for the part to be attached to the work bench prop

```lua
parts = { -- define parts that can be removed from a vehicle from this chop shop - the key is the item name hood, trunk, seats etc
    battery = { -- item name
        label = 'Battery', -- part label for menu
        duration = 5000, --duration to remove part
        required = {
            enabled = true, -- requires an item to remove this part
            item = 'toolbox', -- required item name
        },
        materials = { -- materials given and amount
            iron = 3, 
            steel = 2,
            copper = 2,
            plastic = 2,
        },
        damageChance = 20, -- chance for part to be damaged and reduce materials given
        coords = { -- coords for attaching prop
            bone = 18905, --bone index for prop
            pos = { x = 0.12, y = 0.04, z = 0.24 }, 
            rot = { x = -56.0, y = -68.0, z = 0.0 },
        },
        benchOffset = { -- prop offset on the work bench
            pos = { x = 0.0, y = -0.2, z = 0.95 },
            rot = { x = 0.0, y = 0.0, z = 0.0 }
        },
    },
    -- add more parts below       
},
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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://lusty94-scripts.gitbook.io/documentation/paid/chop-shop/chop-shops.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.
