Add more locations

Here are explanations on how to add new Processing and Trucking Locations!

Trucking Locations

Within the config file, you will find a table called Trucking.


1. Understand the Structure:

Each location within the script has several components:

  • coords: The coordinates for the delivery point.

  • blip: Visual marker on the map.

  • ped: Information about NPCs (non-playable characters) that spawn at the location.

  • spawnLocations: Where the trucks spawn.

  • deliveryLocations: Random locations for truck deliveries.

  • receive: Rewards for completing deliveries.

  • vehicle: The model of the truck used for the delivery.

  • policeAlert: Determines whether the police get notified about the delivery.

  • cooldown: The time between deliveries for this location.


2. Adding a New Location:

To add a new delivery location, you’ll need to copy the structure of an existing location and customize it with new coordinates, spawn points, and delivery points.


Example: Adding a New Location

Add the new location inside the Locations array like this:

Trucking = {
    Locations = { 
        {
            -- Existing Location 1
            coords = vector4(-492.5, -347.88, 34.5, 0.08),
            width = 2.0,
            length = 2.0,
            blip = {
                enabled = true,
                name = "Codeine Delivery",
                sprite = 51,
                scale = 0.7,
                col = 30,
            },
            ped = {
                enabled = true,
                model = "s_m_m_doctor_01",
            },
            spawnLocations = {
                vector4(854.98, -3145.19, 5.9, 5.57),
                vector4(963.58, -1707.19, 30.06, 177.17),
                vector4(-2013.07, -471.65, 11.52, 51.78),
            },
            deliveryLocations = {
                vector4(-702.14, 5774.57, 17.33, 250.09),
                vector4(-186.81, 3687.05, 44.1, 210.98),
                vector4(271.42, -172.94, 60.54, 249.64),
                vector4(293.08, -610.11, 43.37, 254.83)
            },
            receive = {
                ["codeine_bottle"] = math.random(3, 5),
            },
            codeineOutput = math.random(20, 50),
            vehicle = {
                model = 'pounder'
            },
            policeAlert = {
                enabled = true,
                time = 30,
            },
            cooldown = {
                enabled = true,
                time = 30,
            },
        },
        -- New Location Example
        {
            coords = vector4(1234.56, 789.01, 32.5, 180.0), -- New delivery location coordinates
            width = 2.5, -- Adjust size if necessary
            length = 2.5,
            blip = {
                enabled = true,
                name = "New Codeine Delivery",
                sprite = 51,
                scale = 0.8,
                col = 38,
            },
            ped = {
                enabled = true,
                model = "s_m_m_paramedic_01", -- Different ped model, customize as needed
            },
            spawnLocations = {
                vector4(1000.0, 2000.0, 50.0, 90.0),
                vector4(1050.0, 2050.0, 50.0, 180.0),
            },
            deliveryLocations = {
                vector4(1500.0, 3000.0, 40.0, 270.0),
                vector4(1550.0, 3050.0, 40.0, 360.0),
            },
            receive = {
                ["codeine_bottle"] = math.random(4, 6), -- Different reward range
            },
            codeineOutput = math.random(30, 60), -- Different output range
            vehicle = {
                model = 'mule', -- Different vehicle model
            },
            policeAlert = {
                enabled = true,
                time = 25, -- Different police alert time
            },
            cooldown = {
                enabled = true,
                time = 45, -- Different cooldown time
            },
        }
    },
}

Processing Locations

Within the config file you will find a table called Processing.


1. Understand the Structure:

Each processing location has several components:

  • coords: The coordinates for the processing location.

  • blip: The visual marker that shows the location on the map.

  • crafting: Details about the crafting process, including the items required and the animation to use.


2. Adding a New Location:

To add a new processing location, you need to copy the structure of the existing location and customize it with new coordinates and crafting details.


Example: Adding a New Processing Location

Add the new location inside the Locations array like this:

Processing = {
    Locations = { 
        {
            -- Existing Location 1
            coords = vector4(1394.59, 3600.98, 39.91, 203.6),
            width = 2.0,
            length = 2.0,
            blip = {
                enabled = true,
                name = "Lean Processing",
                sprite = 51,
                scale = 0.7,
                col = 30,
            },
            crafting = {
                Items = {
                    { ['lean'] = { ['codeine_bottle'] = 2, ['cup'] = 3, ['sprunk'] = 2, }, ["amount"] = math.random(2, 3) },
                },
                Progress = {
                    label = Loc[Config.Locale].progress["MixingCodeine"],
                    time = 15,
                    animation = { animDict = "anim@amb@business@coc@coc_unpack_cut_left@", anim = "coke_cut_v5_coccutter" },
                }
            }
        },
        -- New Processing Location Example
        {
            coords = vector4(2000.0, 3000.0, 50.0, 100.0), -- New processing location coordinates
            width = 2.5, -- Adjust size if necessary
            length = 2.5,
            blip = {
                enabled = true,
                name = "New Lean Processing",
                sprite = 51,
                scale = 0.8,
                col = 38,
            },
            crafting = {
                Items = {
                    { ['lean'] = { ['codeine_bottle'] = 3, ['cup'] = 4, ['sprunk'] = 3, }, ["amount"] = math.random(3, 4) }, -- Customize item requirements
                },
                Progress = {
                    label = Loc[Config.Locale].progress["MixingCodeine"], -- Label for progress bar
                    time = 20, -- Time for processing
                    animation = { animDict = "anim@amb@business@coc@coc_unpack_cut_left@", anim = "coke_cut_v5_coccutter" }, -- Custom animation
                }
            }
        }
    },
}

Last updated