🔧Config

Explanations for all config values.

General Information

To understand the structure

Because we have extensive configuration files, nested tables is an inevitability. To keep track of which values are for which table we use the tablename.value. This can also stack, for example location.blip.enabled etc.

Additional Settings

If there is a feature within the script that you can't find in the script's config, there is a chance that the configuration lies within Zyke Lib. This is to ensure that you never have to configure your targeting menu, framework etc over and over again.

Keys

All available keys can be found here.

Props Models

All prop models can be found here.

Ped Models All ped models can be found here.

Blip Settings All blip settings can be found here.

Config.Settings

All basic settings.

language

Set this to a language file available. By default there is "en". You can create your own translations in the locales folder and set your language here. Example:

-- Set to any available translation
Config.Settings = {
    language = "en",
}

vehicleSound

When the catalytic converter has been stolen the vehicle will produce a new sound. Set this value to the a vehicle you wish to copy. Example:

-- Accepts any available vehicle
Config.Settings = {
    vehicleSound = "TORNADO6",
}

keyToStart

Set this as a key you want to press to start the stealing. Example:

Config.Settings = {
    keyToStart = "LEFTMOUSE",
}

drawPolyzone

Simple value to decide if you want polyzones to be drawn on each side of the vehicle where you can start the stealing. You will always see the prompt top left when you can start. Example:

-- Set to true/false to enable/disable
Config.Settings = {
    drawPolyzone = true,
}

repairJobs

A list of jobs allowed to run the vehicle repair event. Leave it empty as an empty table {} if you don't want it restricted to any job. Example:

Config.Settings = {
    repairJobs = {"mechanic", "mechanic"},
}

miniGame

Various minigame settings to configure to match your servers' difficulty. Example:

Config.Settings = {
    miniGame = {
        totalClicks = 15,
        timePerKey = 1.8,
        scrambleKeys = true,
        cancelKey = "X",
        keys = {"Q", "W", "E", "A", "S", "D"},
    },
}

miniGame.totalClicks

The total amount of correct clicks you have to do to complete the minigame. Free: 1-10 Easy: 10-15 Medium: 15-25 Hard: 25+

Example:

-- Set to any amount above 1
totalClicks = 15,

miniGame.timePerKey

In seconds, this is the time you have to press the correct key to not fail the minigame. Free: 2.5+ Easy: 2-2.5s Medium: 1.5-2s Hard: < 1.5s

Example:

-- In seconds, decimals are accepted
timePerKey = 1.8,

miniGame.scramleKeys

To intensify the minigame and make it slightly harder, the keys will scramble to a random order everytime you press a key and progress.

Example:

-- true/false
scrambleKeys = true,

miniGame.cancelKey

Simply the key to cancel the minigame.

Example:

cancelKey = "X",

miniGame.keys

A list of keys that the player has to press to progress in the minigame. We recommend to keep these keys default, but can be changed to any available key to switch it up for your server.

Example:

keys = {"Q", "W", "E", "A", "S", "D"},

alert

Various settings to configure the alerts and blips. Alerts are started

Example:

Config.Settings = {
    alert = {
        jobs = {"police", "police2"},
        alertChance = 30,
        vehicleAlarm = true,
        blipTime = 60,
    },
}

alert.jobs

A list of jobs that will be notified when an alert is started. Set to an empty table {} to not alert anyone.

Example:

jobs = {"police", "police2"},

alert.alertChance

When you start stealing there's a percentage roll to see if the alarm activates or not. Any value between 0-100 is accepted. Set to 0 to disable the alarms.

Example:

-- 30% chance the alarm starts
alertChance = 30,

alert.vehicleAlarm

If set to true, the vehicle will start honking, beeping and flashing if the alarmChance roll hits.

Example:

-- true/false
vehicleAlarm = true,

alert.blipTime

This value dictates how long the blip on the map will be displayed after it has been created. Recommended to keep default, but can be changed to any number you wish.

Example:

blipTime = 60,

grinderItems

Configurable items to use to start stealing. You can modify the multipliers for these items to allow for more expensive alternatives that are quicker to use. This introduces a bit of a risk as you can lose much more if you get caught, but if you are smart you will be able to steal at a faster rate and therefore make more money. Example:

Config.Settings = {
    grinderItems = {
        ["angle_grinder"] = {
            timeMultiplier = 1.0,
            totalClicksMultiplier = 1.0,
            model = "tr_prop_tr_grinder_01a",
            offsets = {x = 0.12, y = 0.09, z = -0.02},
            rotation = {x = 25.0, y = 0.0, z = 0.0},
        },
        ["advanced_angle_grinder"] = {
            timeMultiplier = 1.2,
            totalClicksMultiplier = 0.8,
            model = "xm3_prop_xm3_grinder_02a",
            offsets = {x = 0.12, y = 0.09, z = -0.02},
            rotation = {x = 25.0, y = 0.0, z = 0.0},
        },
    },
}

grinderItems[itemName]

This is the template for a new item. Fill in the itemName variable with the item you wish to use.

[itemName] = {
    timeMultiplier = 1.0,
    totalClicksMultiplier = 1.0,
    model = "tr_prop_tr_grinder_01a",
    offsets = {x = 0.12, y = 0.09, z = -0.02},
    rotation = {x = 25.0, y = 0.0, z = 0.0},
},

grinderItems[itemName].timeMultiplier

This setting will modify miniGame.timePerKey, granting you more time to find the right key before the minigame fails. The higher this value is, the longer time you have. How it works: miniGame.timePerKey * timeMultiplier

Example:

-- 1.0 will give you the default timePerKey
timeMultiplier = 1.0,

grinderItems[itemName].totalClicksMultiplier

This setting will modify miniGame.totalClicks, possibly shaving down on the amount of successful clicks you need to complete the minigame. The lower this value is, the fewer successful clicks you need. How it works: miniGame.totalClicks * totalClicksMultiplier

Example:

-- 1.0 will give you the default totalClicksMultiplier
totalClicksMultiplier = 1.0,

grinderItems[itemName].model

This is the model for the item that you will equip in your hand.

Example:

model = "tr_prop_tr_grinder_01a",

grinderItems[itemName].offsets

To keep the prop in place, it is attached to the player. These values is the offset from the plane bone (location) it is attached to.

Example:

offsets = {x = 0.12, y = 0.09, z = -0.02}

grinderItems[itemName].rotation

To keep the prop in place, it is attached to the player. These values decides how the prop rotates in place.

Example:

rotation = {x = 25.0, y = 0.0, z = 0.0}

availableToSell

This is a list of the items that you can sell to the buyer and their price.

Config.Settings = {
    availableToSell = {
        {name ="small_catalytic_converter", price = 230},
        {name ="medium_catalytic_converter", price = 260},
        {name ="large_catalytic_converter", price = 300},
        {name ="gigantic_catalytic_converter", price = 350},
    },
}

availableToSell[x].name

The name of the item you wish to sell.

Example:

name = "small_catalytic_converter"

availableToSell[x].price

The price of the item you wish to sell.

Example:

price = 230,

itemsForVehicleTypes

This is a list of all items you get for each vehicle type / class. A list of all of these types can be found here, but is also documented in the config. Set a value to "none" to disable stealing for that vehicle type.

Example:

Config.Settings = {
    itemsForVehicleTypes = {
        "small_catalytic_converter", -- Compacts
        "medium_catalytic_converter", -- Sedans
        "medium_catalytic_converter", -- SUVs
        "medium_catalytic_converter", -- Coupes
        "medium_catalytic_converter", -- Muscle
        "medium_catalytic_converter", -- Sports Classics
        "medium_catalytic_converter", -- Sports
        "medium_catalytic_converter", -- Super
        "small_catalytic_converter", -- Motorcycles
        "medium_catalytic_converter", -- Off-road
        "large_catalytic_converter", -- Industrial
        "medium_catalytic_converter", -- Utility
        "medium_catalytic_converter", -- Vans
        "none", -- Cycles
        "medium_catalytic_converter", -- Boats
        "large_catalytic_converter", -- Helicopters
        "gigantic_catalytic_converter", -- Planes
        "large_catalytic_converter", -- Service
        "medium_catalytic_converter", -- Emergency
        "large_catalytic_converter", -- Military
        "large_catalytic_converter", -- Commercial
        "none", -- Trains
        "none" -- Open Wheel
    },
}

buyer

Various settings for where to spawn and how to display the buyer. Example:

Config.Settings = {
    buyer = {
        enabled = true,
        name = "Robert",
        model = "mp_m_waremech_01",
        pos = vec4(-1151.49, -1992.79, 13.16, 47.09),
        anim = {dict = "WORLD_HUMAN_LEANING", name = ""},
        dealTime = 10,
        playerAnim = {dict = "misscarsteal3", name = "racer_argue_01_a"},
        talkKey = "E",
        blip = {
            enabled = true,
            sprite = 739,
            color = 5,
            scale = 0.8,
        }
    },
}

buyer.enabled

Simple switch to enable/disable the buyer. Perhaps you have another script taking care of the market.

Example:

-- true/false
enabled = true,

buyer.name

Display name on the map and during interaction for the buyer. You can change this into any name you want.

Example:

name = "Robert",

buyer.model

Ped model for the buyer. This can be changed it any ped model you wish.

Example:

model = "mp_m_waremech_01",

buyer.pos

The position for the buyer in vector4 format.

Example:

pos = vec4(-1151.49, -1992.79, 13.16, 47.09),

buyer.anim

This is the animation or scenario executed by the ped when it spawns. Animation: Set dict as the animation dictionary. Set name as the animation name.

Scenario: Set dict as the scenario name. Set name to "" or nil.

Example:

anim = {dict = "WORLD_HUMAN_LEANING", name = ""},

buyer.dealTime

In seconds, how long you will be negotiating with the buyer for when you are selling a part.

Example:

dealTime = 10,

buyer.playerAnim

This is the animation or scenario executed by the ped when it spawns. Animation: Set dict as the animation dictionary. Set name as the animation name.

Scenario: Set dict as the scenario name. Set name to "" or nil.

Example:

playerAnim = {dict = "misscarsteal3", name = "racer_argue_01_a"},

talkKey

This is only used if you are not using a target menu. This is the key that you press to open the buyer's menu when you are next to it.

Example:

talkKey = "E",

blip

Various blip settings, won't go into detail on every value as they are pretty self explanatory. Set enabled to true/false to enable/disable the blip. Example:

Config.Settings = {
    buyer = {
        blip = {
            enabled = true,
            sprite = 739,
            color = 5,
            scale = 0.8,
        }
    },
}

intervals

This is a list of intervals within the script that don't fit in any other config table. They are placed in here for easy configuration. All values are in seconds. Example:

Config.Settings = {
    intervals = {
        findingCatalytic = 10,
        finishMinigameProgressBar = 10,
    },
}

desiredParts

Various settings for the limited-time offers the buyer has.

Config.Settings = {
    desiredParts = {
        deals = 4,
        timeBetween = 3600,
        priceMultiplier = {2.0, 5.0},
        vehicles = {
            {
                model = "adder",
                img = "https://cdn.discordapp.com/attachments/930979289011195924/1205022868912742460/adder.png?ex=65d6dc00&is=65c46700&hm=e8051b5f297156b41c789162adf6b9a2cb377f73f371a50259cdd59cbbef5287&",
            },
            {
                model = "surge",
                img = "https://cdn.discordapp.com/attachments/930979289011195924/1205023029529415690/surge.png?ex=65d6dc26&is=65c46726&hm=aef8044bfc668c4c8f6a9a7bb4b0afdbfa4bda1efa92622458fadbb70c851651&",
            },
            ...
        },
    },
}

desiredParts.deals

Max amount of deals that the buyer can offer at once. Since each offer is unique, it caps out automatically at the length of the desiredParts.vehicles table.

Example:

deals = 4,

desiredParts.timeBetween

In seconds, how long between each batch of offers.

Example:

timeBetween = 3600,

desiredParts.priceMultiplier

Here you can define the range for how much the price multiplier will be. It is individually generated for each offer in a batch, so it is recommended to pick a larger range so there can be difference between the offers. It will choose a random value between the two defined, it also allows for decimals. How it works: price * priceMultiplier

Example:

priceMultiplier = {2.0, 5.0},

desiredParts.vehicles

List of vehicles that can appear as limited-time desired parts.

Example:

vehicles = {
    {
        model = "adder",
        img = "https://cdn.discordapp.com/attachments/930979289011195924/1205022868912742460/adder.png?ex=65d6dc00&is=65c46700&hm=e8051b5f297156b41c789162adf6b9a2cb377f73f371a50259cdd59cbbef5287&",
    },
    {
        model = "surge",
        img = "https://cdn.discordapp.com/attachments/930979289011195924/1205023029529415690/surge.png?ex=65d6dc26&is=65c46726&hm=aef8044bfc668c4c8f6a9a7bb4b0afdbfa4bda1efa92622458fadbb70c851651&",
    },
    ...
}

desiredParts.vehicles[x].model

This is the model for the vehicle.

Example:

model = "adder",

desiredParts.vehicles[x].img

This is the image for the vehicle. Make sure that the images are uploaded to a reliable source so that they always appear in-game. There's plenty of vehicles that will never be found without a picture next to them to describe what they look like.

Example:

img = "https://cdn.discordapp.com/attachments/930979289011195924/1205023029529415690/surge.png?ex=65d6dc26&is=65c46726&hm=aef8044bfc668c4c8f6a9a7bb4b0afdbfa4bda1efa92622458fadbb70c851651&",

TO BE CONTINUED

Example:

W

Last updated