> For the complete documentation index, see [llms.txt](https://docs.tzmc.dev/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tzmc.dev/docs/qb-core/chopping/config.md).

# Config

```lua
TZMCChoppingConfig = {}

TZMCChoppingConfig.QuitCooldownTime = 900 -- How many seconds does the player need to wait till they can do another chop job
TZMCChoppingConfig.MissionStartCooldown = math.random(10,30) -- How many seconds does the player need to wait till the car position is shown - set this to 0 if you'd like the mission to start immediately

TZMCChoppingConfig.UsingLegacyQBCore = false -- If you're using an older version of QB core, giving items is slightly different. However, if you are on a recent version feel free to leave this false.

-- COMMAND --

TZMCChoppingConfig.StopJobCommand = 'stopchop'
TZMCChoppingConfig.StopJobCommandHelpText = "Stop the chop you're currently on."

-- NPC --

TZMCChoppingConfig.StartJobNPC = { 
    model = 's_m_m_dockwork_01',
    x = -455.89,
    y = -1671.95,
    z = 19.29,
    h = 344.91,
}

-- TARGET --

TZMCChoppingConfig.TargetStartJobLabel = "Start Job"
TZMCChoppingConfig.TargetStartJobIcon = "fa-solid fa-car"
TZMCChoppingConfig.TargetChopVehicleLabel = "Chop Vehicle"
TZMCChoppingConfig.TargetChopVehicleIcon = "fa-solid fa-wrench"

-- PROGRESS BAR --

TZMCChoppingConfig.ProgressBarLabel = "Chopping Vehicle"
TZMCChoppingConfig.ProgressBarTime = 10

-- NOTIFICATIONS --

TZMCChoppingConfig.UseQBNotify = true
TZMCChoppingConfig.NotificationEvent = ""  -- If you're using your own notification system, enter the event here. If you leave this blank and set QBNotify to false this will use the FiveM chat to notify the player. The parameters are (text, status) Status can be either 'success' or 'error'.

TZMCChoppingConfig.SuccessTitle = 'Success'
TZMCChoppingConfig.ErrorTitle = 'Error'
TZMCChoppingConfig.AlreadyInJob = "You're in a job already"
TZMCChoppingConfig.RecentlyQuitJob = "You recently quit a job"
TZMCChoppingConfig.NotInJob = "You're not in a job"
TZMCChoppingConfig.JobStopped = "You stopped the job"
TZMCChoppingConfig.JobStarted = "Job started - head to the vehicle"
TZMCChoppingConfig.StealVehicle = "Steal the vehicle"
TZMCChoppingConfig.HeadToChopSpot = "Head to the chop spot"
TZMCChoppingConfig.JobComplete = "Job complete"
TZMCChoppingConfig.FindingVehicle = "We're sourcing a vehicle for you, please wait."

--[[
    PAYOUT

    You can set the odds for each item and how much cash the player earns in each class. For example, you may include marked bills in a higher vehicle class chop. 

    item - This is the item that is given to the player.
    data - Any data required for each item like markedbills requires an amount
    odds - This is the percentage chance of the player recieving this item, it is best to always set at least one item to 100% chance of recieving it.
    minimum/maximum - The minimum/maximum amount of the item. This will select a number between these numbers to give.

]]--

TZMCChoppingConfig.MoneyType = 'cash'

TZMCChoppingConfig.Payout = {
    ['S'] = {
        minimumPayoutCash = 1000,
        maximumPayoutCash = 10000,
        items = {
            {
                item = 'markedbills',
                odds = 10,
                minimum = 10,
                maximum = 30,
                data = {
                    worth = 500
                }
            },
            {
                item = 'plastic',
                odds = 100,
                minimum = 20,
                maximum = 100
            },
            {
                item = 'metalscrap',
                odds = 80,
                minimum = 20,
                maximum = 100
            },
            {
                item = 'copper',
                odds = 50,
                minimum = 20,
                maximum = 100
            },
            {
                item = 'aluminum',
                odds = 20,
                minimum = 20,
                maximum = 100
            },
            {
                item = 'aluminumoxide',
                odds = 30,
                minimum = 20,
                maximum = 100
            },
            {
                item = 'iron',
                odds = 10,
                minimum = 20,
                maximum = 100
            },
            {
                item = 'ironoxide',
                odds = 30,
                minimum = 20,
                maximum = 100
            },
            {
                item = 'steel',
                odds = 50,
                minimum = 20,
                maximum = 100
            },
            {
                item = 'rubber',
                odds = 20,
                minimum = 20,
                maximum = 100
            },
            {
                item = 'glass',
                odds = 5,
                minimum = 20,
                maximum = 100
            }
        }
    },
    ['A'] = {
        minimumPayoutItem = 10,
        maximumPayoutItem = 100,
        minimumPayoutCash = 500,
        maximumPayoutCash = 5000,
        items = {
            {
                item = 'markedbills',
                odds = 10,
                minimum = 10,
                maximum = 30,
                data = {
                    worth = 500
                }
            },
            {
                item = 'plastic',
                odds = 100,
                minimum = 20,
                maximum = 100
            },
            {
                item = 'metalscrap',
                odds = 80,
                minimum = 20,
                maximum = 100
            },
            {
                item = 'copper',
                odds = 50,
                minimum = 20,
                maximum = 100
            },
            {
                item = 'aluminum',
                odds = 20,
                minimum = 20,
                maximum = 100
            },
            {
                item = 'aluminumoxide',
                odds = 30,
                minimum = 20,
                maximum = 100
            },
            {
                item = 'iron',
                odds = 10,
                minimum = 20,
                maximum = 100
            },
            {
                item = 'ironoxide',
                odds = 30,
                minimum = 20,
                maximum = 100
            },
            {
                item = 'steel',
                odds = 50,
                minimum = 20,
                maximum = 100
            },
            {
                item = 'rubber',
                odds = 20,
                minimum = 20,
                maximum = 100
            },
            {
                item = 'glass',
                odds = 5,
                minimum = 20,
                maximum = 100
            }
        }
    },
    ['B'] = {
        minimumPayoutItem = 10,
        maximumPayoutItem = 80,
        minimumPayoutCash = 500,
        maximumPayoutCash = 5000,
        items = {
            {
                item = 'markedbills',
                odds = 10,
                minimum = 10,
                maximum = 20,
                data = {
                    worth = 500
                }
            },
            {
                item = 'plastic',
                odds = 100,
                minimum = 20,
                maximum = 70
            },
            {
                item = 'metalscrap',
                odds = 80,
                minimum = 20,
                maximum = 70
            },
            {
                item = 'copper',
                odds = 50,
                minimum = 20,
                maximum = 70
            },
            {
                item = 'aluminum',
                odds = 20,
                minimum = 20,
                maximum = 70
            },
            {
                item = 'aluminumoxide',
                odds = 30,
                minimum = 20,
                maximum = 70
            },
            {
                item = 'iron',
                odds = 10,
                minimum = 20,
                maximum = 70
            },
            {
                item = 'ironoxide',
                odds = 30,
                minimum = 20,
                maximum = 70
            },
            {
                item = 'steel',
                odds = 50,
                minimum = 20,
                maximum = 70
            },
            {
                item = 'rubber',
                odds = 20,
                minimum = 20,
                maximum = 70
            },
            {
                item = 'glass',
                odds = 5,
                minimum = 20,
                maximum = 70
            }
        }
    },
    ['C'] = {
        minimumPayoutItem = 10,
        maximumPayoutItem = 60,
        minimumPayoutCash = 250,
        maximumPayoutCash = 2500,
        items = {
            {
                item = 'markedbills',
                odds = 10,
                minimum = 10,
                maximum = 20,
                data = {
                    worth = 500
                }
            },
            {
                item = 'plastic',
                odds = 100,
                minimum = 20,
                maximum = 50
            },
            {
                item = 'metalscrap',
                odds = 80,
                minimum = 20,
                maximum = 50
            },
            {
                item = 'copper',
                odds = 50,
                minimum = 20,
                maximum = 50
            },
            {
                item = 'aluminum',
                odds = 20,
                minimum = 20,
                maximum = 50
            },
            {
                item = 'aluminumoxide',
                odds = 30,
                minimum = 20,
                maximum = 50
            },
            {
                item = 'iron',
                odds = 10,
                minimum = 20,
                maximum = 50
            },
            {
                item = 'ironoxide',
                odds = 30,
                minimum = 20,
                maximum = 50
            },
            {
                item = 'steel',
                odds = 50,
                minimum = 20,
                maximum = 50
            },
            {
                item = 'rubber',
                odds = 20,
                minimum = 20,
                maximum = 50
            },
            {
                item = 'glass',
                odds = 5,
                minimum = 20,
                maximum = 50
            }
        }
    },
    ['D'] = {
        minimumPayoutItem = 10,
        maximumPayoutItem = 50,
        minimumPayoutCash = 250,
        maximumPayoutCash = 2500,
        items = {
            {
                item = 'plastic',
                odds = 100,
                minimum = 20,
                maximum = 60
            },
            {
                item = 'metalscrap',
                odds = 80,
                minimum = 20,
                maximum = 60
            },
            {
                item = 'copper',
                odds = 50,
                minimum = 20,
                maximum = 60
            },
            {
                item = 'aluminum',
                odds = 20,
                minimum = 20,
                maximum = 60
            },
            {
                item = 'iron',
                odds = 10,
                minimum = 20,
                maximum = 60
            },
            {
                item = 'steel',
                odds = 50,
                minimum = 20,
                maximum = 60
            },
            {
                item = 'rubber',
                odds = 20,
                minimum = 20,
                maximum = 60
            },
            {
                item = 'glass',
                odds = 5,
                minimum = 20,
                maximum = 60
            }
        }
    }
}

-- VEHICLES --

TZMCChoppingConfig.Vehicles = {
    { model = "bullet", class = 'S'},
    { model = "sultanrs", class = 'S'},
    { model = "comet5", class = 'S'},
    { model = "drafter", class = 'A'},
    { model = "jugular", class = 'A'},
    { model = "sultan2", class = 'A'},
    { model = "paragon", class = 'A'},
    { model = "remus", class = 'B'},
    { model = "oracle", class = 'B'},
    { model = "dominator", class = 'B'},
    { model = "casco", class = 'B'},
    { model = "savestra", class = 'B'},
    { model = "sentinel3", class = 'B'},
    { model = "zion3", class = 'B'},
    { model = "z190", class = 'B'},
    { model = "coquette3", class = 'B'},
    { model = "fugitive", class = 'B'},
    { model = "coquette2", class = 'B'},
    { model = "comet3", class = 'B'},
    { model = "baller2", class = 'B'},
    { model = "contender", class = 'B'},
    { model = "dubsta2", class = 'B'},
    { model = "novak", class = 'B'},
    { model = "toros", class = 'B'},
    { model = "xls", class = 'B'},
    { model = "dominator8", class = 'C'},
    { model = "futo", class = 'C'},
    { model = "rt3000", class = 'C'},
    { model = "brioso2", class = 'C'},
    { model = "weevil", class = 'C'},
    { model = "club", class = 'C'},
    { model = "asbo", class = 'C'},
    { model = "dynasty", class = 'C'},
    { model = "clique", class = 'C'},
    { model = "cheburek", class = 'C'},
    { model = "issi3", class = 'C'},
    { model = "michelli", class = 'C'},
    { model = "fagaloa", class = 'C'},
    { model = "hermes", class = 'C'},
    { model = "raptor", class = 'C'},
    { model = "minivan2", class = 'C'},
    { model = "btype3", class = 'C'},
    { model = "lurcher", class = 'C'},
    { model = "moonbeam", class = 'C'},
    { model = "bifta", class = 'C'},
    { model = "impaler", class = 'C'},
    { model = "rhapsody", class = 'C'},
    { model = "taxi", class = 'D'},
    { model = "rebel", class = 'D'},
    { model = "voodoo2", class = 'D'},
    { model = "ratloader", class = 'D'},
    { model = "regina", class = 'D'},
    { model = "rancherxl", class = 'D'},
    { model = "primo", class = 'D'},
    { model = "picador", class = 'D'},
    { model = "ingot", class = 'D'},
    { model = "stratum", class = 'D'},
    { model = "stanier", class = 'D'},
    { model = "ruiner", class = 'D'},
    { model = "premier", class = 'D'},
    { model = "manana", class = 'D'},
    { model = "surfer", class = 'D'},
    { model = "journey", class = 'D'},
    { model = "rumpo", class = 'D'},
    { model = "bfinjection", class = 'D'},
    { model = "dune", class = 'D'},
    { model = "issi2", class = 'D'},
    { model = "bobcatxl", class = 'D'},
    { model = "rebel2", class = 'D'},
    { model = "paradise", class = 'D'},
    { model = "bodhi2", class = 'D'},
    { model = "dilettante", class = 'D'},
    { model = "tornado", class = 'D'},  
}

-- VEHICLE SPAWNS --

TZMCChoppingConfig.Spawns = {
    { X = 936.51, Y = -94.16, Z = 78.18, H = 42.23},
    { X = 1153.74, Y = -332.16, Z = 68.24, H = 190.51},
    { X = 1246.18, Y = -578.31, Z = 68.69, H = 271.05},
    { X = 965.01, Y = -1038.96, Z = 40.25, H = 269.08},
    { X = 707.18, Y = -980.41, Z = 23.55, H = 224.04},
    { X = 408.83, Y = -1436.71, Z = 28.81, H = 29.34},
    { X = 448.65, Y = -1374.3, Z = 37.98, H = 228.18},
    { X = 256.28, Y = -1520.13, Z = 28.56, H = 211.13},
    { X = -55.12, Y = -1690.01, Z = 28.91, H = 312.4},
    { X = -551.99, Y = -1143.34, Z = 19.34, H = 167.34},
    { X = -814.47, Y = -1312.08, Z = 4.42, H = 348.03},
    { X = -1099.34, Y = -1505.91, Z = 4.11, H = 302.31},
    { X = -966.5, Y = -1477.86, Z = 4.44, H = 107.61},
    { X = -1008.86, Y = -1010.01, Z = 1.57, H = 209.09},
    { X = -1171.36, Y = -917.64, Z = 2.07, H = 211.04},
    { X = -1424.96, Y = -674.29, Z = 26.08, H = 35.76},
    { X = -1392.23, Y = -469.54, Z = 31.01, H = 9.18},
    { X = -1407.08, Y = -276.8, Z = 45.8, H = 312.14},
    { X = -1288.63, Y = -244.44, Z = 50.97, H = 305.84},
    { X = -1112.87, Y = -319.06, Z = 37.1, H = 264.78},
    { X = -1039.6, Y = -412.37, Z = 32.69, H = 206.53},
    { X = -713.25, Y = -174.45, Z = 36.27, H = 29.09},
    { X = -833.05, Y = -134.43, Z = 36.91, H = 66.16},
    { X = -836.17, Y = 111.3, Z = 54.53, H = 31.01},
    { X = -727.96, Y = -68.46, Z = 41.17, H = 207.11},
    { X = -497.39, Y = 64.25, Z = 55.92, H = 175.55},
    { X = -587.42, Y = 137.99, Z = 60.35, H = 22.28},
    { X = -445.76, Y = 99.05, Z = 62.58, H = 176.34},
    { X = -315.79, Y = 108.55, Z = 66.96, H = 359.86},
    { X = -139.21, Y = 151.73, Z = 76.93, H = 160.05},
    { X = -72.38, Y = 147.62, Z = 80.77, H = 303.13},
    { X = -126.5, Y = 210.53, Z = 92.6, H = 178.86},
    { X = -63.26, Y = 326.8, Z = 109.97, H = 154.95},
    { X = -29.32, Y = 201.54, Z = 101.4, H = 255.61},
    { X = 120.76, Y = 287.61, Z = 109.39, H = 70.58},
    { X = 220.21, Y = 174.92, Z = 104.7, H = 249.38},
    { X = 357.05, Y = 282.83, Z = 102.84, H = 69.11},
    { X = 334.34, Y = -129.01, Z = 66.51, H = 339.83},
}

-- CHOP SPOTS --

TZMCChoppingConfig.ChopSpots = {
    vector3(1564.35, -2166.65, 77.52),
    vector3(765.97, -3195.27, 5.95),
    vector3(2349.47, 3051.55, 48.17),
    vector3(1539.77, 6336.09, 24.07),
}
```


---

# 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, and the optional `goal` query parameter:

```
GET https://docs.tzmc.dev/docs/qb-core/chopping/config.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
