
🏠Recycling Locations
Define locations as recycling centers for players to visit and interact with
Zone Name
The key is the zone name and must be unique, ensure this matches anywhere it is required
Set enabled to true to enable this location
Set debug to true to visually debug all target zones at this location
Config.Locations = {
['My Recycling Zone Name'] = { -- the key is the zone name
enabled = true, -- enable this location
debug = false, -- debug target zones
},
}Cooldown
If required a cooldown can be set per location for recycling
Set enabled to true to enable cooldown at this location
Define the duration (time in seconds) for the cooldown period
Config.Locations = {
['My Recycling Zone Name'] = { -- the key is the zone name
---
cooldown = { -- cooldown settings
enabled = true, -- enable cooldown after searching to prevent spam
duration = 5, -- time in seconds for cooldown if enabled to prevent spam
},
---
},
}Teleport
If using an IPL or shell, you can set teleporting to locations at this recycling center
It is recommended to only use 1 location that teleports to an IPL, this is due to servers likely using the same IPL of a warehouse which is located under the docks, this could potentially clash with another location that uses the same IPL teleports so please bare this in mind.
Set enabled to true to use the teleport features
Set the entrance zone
Set the exit zone
Set the zone radius (default is 1.5)
Set the target interaction distance (default is 3.0)
Config.Locations = {
['My Recycling Zone Name'] = { -- the key is the zone name
---
teleport = { -- teleport settings
enabled = false, -- enable a teleport at this location (for IPL)
entrance = nil, -- entrance to location
exit = nil, -- exit of location
radius = 1.5, -- target zone radius
distance = 3.0, -- target distance
},
---
},
}Searching
Define settings for searching recycling zones
Define the target icon
Define the target label
Define the target distance
Define the zone radius
Define the zone debug choice
Define locations (these must be vector3)
Define progressCircle settings
Define duration
Define label
Define animation settings
Define a list of props that are attached to the player if they find a recycle box to process
Define a list of objects that spawn inside (for empty shells)
Define a list of coordinates for those objects to spawn (must be vector4)
Follow the index number to add more
Config.Locations = {
['My Recycling Zone Name'] = { -- the key is the zone name
---
searching = { -- searching zones
icon = 'fa-solid fa-hand-point-up', -- target icon
label = 'Search For Recycling', -- target label
distance = 3.0, -- target distance
radius = 1.5, -- target zone radius
debug = true, -- debug target search zones
locations = { -- searching locations
vector3(-358.82, -1555.44, 25.74),
vector3(-352.38, -1556.07, 25.67),
vector3(-349.0, -1555.67, 25.77),
vector3(-345.49, -1555.58, 25.23),
vector3(-330.64, -1561.95, 25.23),
},
progress = { -- progressCircle settings
duration = 10000, -- duration to process recycling items
label = 'Searching for recyclables', -- label
anim = { -- animation settings
dict = 'mp_car_bomb', -- anim dict name
clip = 'car_bomb_mechanic', -- anim clip name
flag = 49, -- anim flag number
},
props = { -- prop settings
{ model = "hei_prop_drug_statue_box_01", xPos = 0.08, yPos = 0.05, zPos = 0.06, xRot = 7.0, yRot = 198.0, zRot = 145.0},
{ model = "prop_cs_cardbox_01", xPos = 0.04, yPos = 0.04, zPos = 0.28, xRot = 52.0, yRot = 294.0, zRot = 177.0 },
{ model = "v_ret_gc_bag01", xPos = 0.16, yPos = 0.08, zPos = 0.24, xRot = 68.0, yRot = 394.0, zRot = 141.0 },
{ model = "prop_ld_suitcase_01", xPos = -0.04, yPos = 0.06, zPos = 0.31, xRot = -2.0, yRot = 21.0, zRot = 155.0 },
{ model = "v_ind_cs_toolbox2", xPos = 0.04, yPos = 0.12, zPos = 0.29, xRot = 56.0, yRot = 287.0, zRot = 169.0 },
},
},
objects = { -- object settings for inside an IPL (this location is an IPL so we use it here)
props = { --list of prop objects that can spawn (these are picked randomly)
[1] = "ex_Prop_Crate_Bull_SC_02",
[2] = "ex_prop_crate_wlife_bc",
[3] = "ex_Prop_Crate_watch",
[4] = "ex_Prop_Crate_SHide",
[5] = "ex_Prop_Crate_Oegg",
[6] = "ex_Prop_Crate_MiniG",
[7] = "ex_Prop_Crate_FReel",
[8] = "ex_Prop_Crate_Closed_BC",
[9] = "ex_Prop_Crate_Jewels_BC",
[10] = "ex_Prop_Crate_Art_02_SC",
[11] = "ex_Prop_Crate_clothing_BC",
[12] = "ex_Prop_Crate_biohazard_BC",
[13] = "ex_Prop_Crate_Bull_BC_02",
[14] = "ex_Prop_Crate_Art_BC",
[15] = "ex_Prop_Crate_Money_BC",
[16] = "ex_Prop_Crate_clothing_SC",
[17] = "ex_Prop_Crate_Art_02_BC",
[18] = "ex_Prop_Crate_Money_SC",
[19] = "ex_Prop_Crate_Med_SC",
[20] = "ex_Prop_Crate_Jewels_racks_BC",
[21] = "ex_Prop_Crate_Jewels_SC",
},
locations = { -- locations to spawn props defined above
[1] = vector4(1067.68, -3095.57, -39.9, 2.58),
[2] = vector4(1065.20, -3095.57, -39.9, 2.58),
[3] = vector4(1062.73, -3095.57, -39.9, 2.58),
[4] = vector4(1060.37, -3095.57, -39.9, 2.58),
[5] = vector4(1057.95, -3095.57, -39.9, 2.58),
[6] = vector4(1055.58, -3095.57, -39.9, 2.58),
[7] = vector4(1053.09, -3095.57, -39.9, 2.58),
[8] = vector4(1053.07, -3102.62, -39.9, 2.58),
[9] = vector4(1055.49, -3102.62, -39.9, 2.58),
[10] = vector4(1057.93, -3102.62, -39.9, 2.58),
[11] = vector4(1060.19, -3102.62, -39.9, 2.58),
[12] = vector4(1062.71, -3102.62, -39.9, 2.58),
[13] = vector4(1065.19, -3102.62, -39.9, 2.58),
[14] = vector4(1067.46, -3102.62, -39.9, 2.58),
[15] = vector4(1067.69, -3109.71, -39.9, 2.58),
[16] = vector4(1065.13, -3109.71, -39.9, 2.58),
[17] = vector4(1062.70, -3109.71, -39.9, 2.58),
[18] = vector4(1060.24, -3109.71, -39.9, 2.58),
[19] = vector4(1057.76, -3109.71, -39.9, 2.58),
[20] = vector4(1055.52, -3109.71, -39.9, 2.58),
[21] = vector4(1053.16, -3109.71, -39.9, 2.58),
},
},
},
---
},
}Processing
Define settings for processing recycle boxes if found when searching
Coords must be vector3
Define target icon
Define target label
Define target distance
Define target zone radius
Define a prop if required
Set enabled to true to use a prop
Define the model and heading
Define progressCircle settings
Define the duration
Define the label
Define the animation settings
Define the rewards available
Name is the item name
Amount is the amount received (this is altered by level if using XP)
Config.Locations = {
['My Recycling Zone Name'] = { -- the key is the zone name
---
processing = { -- processing settings
coords = vector3(-349.79, -1565.38, 25.23), -- processing location
icon = 'fa-solid fa-hand-point-up', -- target icon
label = 'Process recyclable box', -- target label
distance = 3.0, -- target distance
radius = 1.0, -- radius of zone if not using prop
prop = { -- prop settings
enabled = true, -- set to true to use a prop for processing if set to false then its a target zone
model = 'h4_prop_h4_boxpile_01b', -- prop model
heading = 0.0, -- prop heading
},
progress = { -- progressCircle settings
duration = 10000, -- duration to process recycling items
label = 'Searching for valuables', -- label
anim = { -- animation settings
dict = 'mp_car_bomb', -- anim dict name
clip = 'car_bomb_mechanic', -- anim clip name
flag = 49, -- anim flag number
},
},
rewards = { -- rewards given from procesing recyclable material
--name is item name
--amount is amount given -- {min, max} -- for 1 item just set to {1,1}
--one item will be picked from this list as a reward (dont forget xp level will determine final reward amount if enabled in config)
{name = 'iron', amount = {1,4} },
{name = 'plastic', amount = {1,4} },
{name = 'rubber', amount = {1,4} },
{name = 'glass', amount = {1,4} },
{name = 'steel', amount = {1,4} },
{name = 'aluminum', amount = {1,4} },
{name = 'copper', amount = {1,4} },
--add more items as required
},
},
---
},
}Selling
Players can sell their items they have found from recycling or searching bins at their designated seller for this location
Define the ped model
Coords must be vector4
Define target icon
Define target label
Define target distance
Define animation scenario
Define blip settings if required
Define items available to sell and their prices
Name is item name
Price is the value PER unit of that item (multiplied by amount player chooses to sell)
Config.Locations = {
['My Recycling Zone Name'] = { -- the key is the zone name
---
selling = { -- selling settings
ped = { -- ped settings
model = 'a_m_m_hillbilly_01', -- ped model
coords = vector4(-349.52, -1569.84, 25.23, 297.2), -- ped coords
icon = 'fa-solid fa-hand-holding-dollar', -- target icon
label = 'Sell Recyclables', -- target label
distance = 3.0, -- target distance
scenario = 'WORLD_HUMAN_CLIPBOARD', -- ped scenario
blip = { -- blip settings
enabled = true, -- enable blip for ped
id = 272, -- blip id
colour = 2, -- blip colour
title = 'Recycling Seller', -- blip title
},
},
items = { -- sellable items
--name is item name
--price is value per item
{ name = 'iron', price = 12 },
{ name = 'plastic', price = 8 },
{ name = 'rubber', price = 9 },
{ name = 'glass', price = 7 },
{ name = 'steel', price = 14 },
{ name = 'aluminum', price = 11 },
{ name = 'copper', price = 10 },
}
},
---
},
}Collections
If defined for this location players can start garbage bag collection missions to earn extra cash
They must collect all the bags defined and then return to get paid / end round
Coords must be vector4
Define ped model
Define target icon
Define target label
Define target distance
Define animation scenario
Define blip settings if required
Define start mission coords (must be vector4)
Define the vehicle to be used for the collection missions
Define finish settings for payment amounts PER bag collected and payment type either 'CASH' or 'BANK'
Define locations for bags to spawn that must be collected
Coords must be vector4
To add more locations follow the correct index number
Config.Locations = {
['My Recycling Zone Name'] = { -- the key is the zone name
---
collections = { -- collection settings
ped = { -- ped settings
coords = vector4(-348.03, -1572.54, 25.23, 307.37), -- ped coords
model = 'a_m_m_mexcntry_01', -- ped model
icon = 'fa-solid fa-truck', -- target icon
label = 'Garbage Collection', -- target label
distance = 3.0, -- target distance
scenario = 'WORLD_HUMAN_CLIPBOARD', -- ped scenario
blip = { -- blip settings
enabled = true, -- eanble blip for ped
id = 67, -- blip id
colour = 8, -- blip colour
scale = 0.7, -- blip scale
title = 'Garbage Collection', -- blip title
},
},
start = { -- mission start settings
coords = vector4(-343.02, -1561.61, 25.23, 98.87), -- vehicle spawn coords
vehicle = 'trash2', -- vehicle model to spawn
},
finish = { -- mission finish settings
pay = { min = 100, max = 150, }, -- pay per bag collected (totalled up at the end)
type = 'cash', -- cash or bank
},
locations = { -- locations
[1] = {
coords = vector4(-342.84, -1460.32, 30.76, 300.01), -- prop spawn coords
},
[2] = {
coords = vector4(-343.36, -1457.86, 30.76, 50.13), -- prop spawn coords
},
[3] = {
coords = vector4(-341.7, -1458.42, 30.76, 101.05), -- prop spawn coords
},
[4] = {
coords = vector4(-156.75, -1341.95, 30.03, 232.55), -- prop spawn coords
},
[5] = {
coords = vector4(-155.28, -1342.68, 30.03, 258.11), -- prop spawn coords
},
[6] = {
coords = vector4(-49.4, -1350.85, 29.33, 194.42), -- prop spawn coords
},
[7] = {
coords = vector4(10.44, -1410.01, 29.31, 155.72), -- prop spawn coords
},
[8] = {
coords = vector4(11.95, -1411.58, 29.33, 312.86), -- prop spawn coords
},
[9] = {
coords = vector4(174.52, -1513.54, 29.25, 313.94), -- prop spawn coords
},
[10] = {
coords = vector4(175.77, -1515.61, 29.24, 266.77), -- prop spawn coords
},
[11] = {
coords = vector4(452.29, -1496.85, 29.29, 342.71), -- prop spawn coords
},
[12] = {
coords = vector4(451.17, -1495.62, 29.29, 290.92), -- prop spawn coords
},
[13] = {
coords = vector4(494.42, -1307.28, 29.29, 108.02), -- prop spawn coords
},
[14] = {
coords = vector4(493.45, -1305.88, 29.29, 83.96), -- prop spawn coords
},
[15] = {
coords = vector4(483.64, -1062.13, 29.1, 35.07), -- prop spawn coords
},
--add more as required
}
},
},
}Finished Config
Below is an example of a finished config file for a recycling center location
Config.Locations = {
['Docks'] = { -- the key is the zone name
enabled = true, -- enable this location
debug = false, -- debug target zones
cooldown = { -- cooldown settings
enabled = true, -- enable cooldown after searching to prevent spam
duration = 5, -- time in seconds for cooldown if enabled to prevent spam
},
teleport = { -- teleport settings
enabled = true, -- enable a teleport at this location (for IPL)
entrance = vector3(822.84, -3194.43, 5.99), -- entrance to location
exit = vector3(1072.9, -3102.3, -39.0), -- exit of location
radius = 1.5, -- target zone radius
distance = 3.0, -- target distance
},
searching = { -- searching zones
icon = 'fa-solid fa-hand-point-up', -- target icon
label = 'Search For Recycling', -- target label
distance = 3.0, -- target distance
radius = 1.5, -- target zone radius
debug = true, -- debug target search zones
locations = { -- searching locations
vector3(1067.68, -3095.57, -39.0),
vector3(1065.20, -3095.57, -39.0),
vector3(1062.73, -3095.57, -39.0),
vector3(1060.37, -3095.57, -39.0),
vector3(1057.95, -3095.57, -39.0),
vector3(1055.58, -3095.57, -39.0),
vector3(1053.09, -3095.57, -39.0),
vector3(1053.07, -3102.62, -39.0),
vector3(1055.49, -3102.62, -39.0),
vector3(1057.93, -3102.62, -39.0),
vector3(1060.19, -3102.62, -39.0),
vector3(1062.71, -3102.62, -39.0),
vector3(1065.19, -3102.62, -39.0),
vector3(1067.46, -3102.62, -39.0),
vector3(1067.69, -3109.71, -39.0),
vector3(1065.13, -3109.71, -39.0),
vector3(1062.70, -3109.71, -39.0),
vector3(1060.24, -3109.71, -39.0),
vector3(1057.76, -3109.71, -39.0),
vector3(1055.52, -3109.71, -39.0),
vector3(1053.16, -3109.71, -39.0),
},
progress = { -- progressCircle settings
duration = 10000, -- duration to process recycling items
label = 'Searching for recyclables', -- label
anim = { -- animation settings
dict = 'mp_car_bomb', -- anim dict name
clip = 'car_bomb_mechanic', -- anim clip name
flag = 49, -- anim flag number
},
props = { -- prop settings
{ model = "hei_prop_drug_statue_box_01", xPos = 0.08, yPos = 0.05, zPos = 0.06, xRot = 7.0, yRot = 198.0, zRot = 145.0},
{ model = "prop_cs_cardbox_01", xPos = 0.04, yPos = 0.04, zPos = 0.28, xRot = 52.0, yRot = 294.0, zRot = 177.0 },
{ model = "v_ret_gc_bag01", xPos = 0.16, yPos = 0.08, zPos = 0.24, xRot = 68.0, yRot = 394.0, zRot = 141.0 },
{ model = "prop_ld_suitcase_01", xPos = -0.04, yPos = 0.06, zPos = 0.31, xRot = -2.0, yRot = 21.0, zRot = 155.0 },
{ model = "v_ind_cs_toolbox2", xPos = 0.04, yPos = 0.12, zPos = 0.29, xRot = 56.0, yRot = 287.0, zRot = 169.0 },
},
},
objects = { -- object settings for inside an IPL (this location is an IPL so we use it here)
props = { --list of prop objects that can spawn (these are picked randomly)
[1] = "ex_Prop_Crate_Bull_SC_02",
[2] = "ex_prop_crate_wlife_bc",
[3] = "ex_Prop_Crate_watch",
[4] = "ex_Prop_Crate_SHide",
[5] = "ex_Prop_Crate_Oegg",
[6] = "ex_Prop_Crate_MiniG",
[7] = "ex_Prop_Crate_FReel",
[8] = "ex_Prop_Crate_Closed_BC",
[9] = "ex_Prop_Crate_Jewels_BC",
[10] = "ex_Prop_Crate_Art_02_SC",
[11] = "ex_Prop_Crate_clothing_BC",
[12] = "ex_Prop_Crate_biohazard_BC",
[13] = "ex_Prop_Crate_Bull_BC_02",
[14] = "ex_Prop_Crate_Art_BC",
[15] = "ex_Prop_Crate_Money_BC",
[16] = "ex_Prop_Crate_clothing_SC",
[17] = "ex_Prop_Crate_Art_02_BC",
[18] = "ex_Prop_Crate_Money_SC",
[19] = "ex_Prop_Crate_Med_SC",
[20] = "ex_Prop_Crate_Jewels_racks_BC",
[21] = "ex_Prop_Crate_Jewels_SC",
},
locations = { -- locations to spawn props defined above
[1] = vector4(1067.68, -3095.57, -39.9, 2.58),
[2] = vector4(1065.20, -3095.57, -39.9, 2.58),
[3] = vector4(1062.73, -3095.57, -39.9, 2.58),
[4] = vector4(1060.37, -3095.57, -39.9, 2.58),
[5] = vector4(1057.95, -3095.57, -39.9, 2.58),
[6] = vector4(1055.58, -3095.57, -39.9, 2.58),
[7] = vector4(1053.09, -3095.57, -39.9, 2.58),
[8] = vector4(1053.07, -3102.62, -39.9, 2.58),
[9] = vector4(1055.49, -3102.62, -39.9, 2.58),
[10] = vector4(1057.93, -3102.62, -39.9, 2.58),
[11] = vector4(1060.19, -3102.62, -39.9, 2.58),
[12] = vector4(1062.71, -3102.62, -39.9, 2.58),
[13] = vector4(1065.19, -3102.62, -39.9, 2.58),
[14] = vector4(1067.46, -3102.62, -39.9, 2.58),
[15] = vector4(1067.69, -3109.71, -39.9, 2.58),
[16] = vector4(1065.13, -3109.71, -39.9, 2.58),
[17] = vector4(1062.70, -3109.71, -39.9, 2.58),
[18] = vector4(1060.24, -3109.71, -39.9, 2.58),
[19] = vector4(1057.76, -3109.71, -39.9, 2.58),
[20] = vector4(1055.52, -3109.71, -39.9, 2.58),
[21] = vector4(1053.16, -3109.71, -39.9, 2.58),
},
},
},
processing = { -- processing settings
coords = vector3(1049.92, -3097.87, -39.0), -- processing location
icon = 'fa-solid fa-hand-point-up', -- target icon
label = 'Process recyclable box', -- target label
distance = 3.0, -- target distance
radius = 1.0, -- radius of zone if not using prop
prop = { -- prop settings
enabled = true, -- set to true to use a prop for processing if set to false then its a target zone
model = 'h4_prop_h4_boxpile_01b', -- prop model
heading = 228.3, -- prop heading
},
progress = { -- progressCircle settings
duration = 10000, -- duration to process recycling items
label = 'Searching for valuables', -- label
anim = { -- animation settings
dict = 'mp_car_bomb', -- anim dict name
clip = 'car_bomb_mechanic', -- anim clip name
flag = 49, -- anim flag number
},
},
rewards = { -- rewards given from procesing recyclable material
--name is item name
--amount is amount given -- {min, max} -- for 1 item just set to {1,1}
--one item will be picked from this list as a reward (dont forget xp level will determine final reward amount if enabled in config)
{name = 'iron', amount = {1,4} },
{name = 'plastic', amount = {1,4} },
{name = 'rubber', amount = {1,4} },
{name = 'glass', amount = {1,4} },
{name = 'steel', amount = {1,4} },
{name = 'aluminum', amount = {1,4} },
{name = 'copper', amount = {1,4} },
},
},
selling = { -- selling settings
ped = { -- ped settings
model = 'a_m_m_prolhost_01', -- ped model
coords = vector4(1048.83, -3102.31, -39.0, 271.55), -- ped coords
icon = 'fa-solid fa-hand-holding-dollar', -- target icon
label = 'Sell Recyclables', -- target label
distance = 3.0, -- target distance
scenario = 'WORLD_HUMAN_SMOKING', -- ped scenario
blip = {
enabled = true,
id = 272,
colour = 2,
title = 'Recycling Seller',
},
},
items = { -- sellable items
--name is item name
--price is value per item
{ name = 'iron', price = 12 },
{ name = 'plastic', price = 8 },
{ name = 'rubber', price = 9 },
{ name = 'glass', price = 7 },
{ name = 'steel', price = 14 },
{ name = 'aluminum', price = 11 },
{ name = 'copper', price = 10 },
}
},
collections = { -- collection settings
ped = { -- ped settings
coords = vector4(819.76, -3200.83, 5.9, 88.38), -- ped coords
model = 'a_m_m_genfat_02', -- ped model
icon = 'fa-solid fa-truck', -- target icon
label = 'Garbage Collection', -- target label
distance = 3.0, -- target distance
scenario = 'WORLD_HUMAN_CLIPBOARD', -- ped scenario
blip = { -- blip settings
enabled = true, -- eanble blip for ped
id = 67, -- blip id
colour = 8, -- blip colour
scale = 0.7, -- blip scale
title = 'Garbage Collection', -- blip title
},
},
start = { -- mission start settings
coords = vector4(815.54, -3196.81, 5.9, 173.89), -- vehicle spawn coords
vehicle = 'trash2', -- vehicle model to spawn
},
finish = { -- mission finish settings
pay = { min = 100, max = 150, }, -- pay per bag collected (totalled up at the end)
type = 'cash', -- cash or bank
},
locations = { -- locations
[1] = {
coords = vector4(820.29, -3001.14, 6.02, 313.91), -- prop spawn coords
},
[2] = {
coords = vector4(640.61, -2712.32, 6.11, 84.09), -- prop spawn coords
},
[3] = {
coords = vector4(641.06, -2715.17, 6.11, 98.58), -- prop spawn coords
},
[4] = {
coords = vector4(256.9, -2500.42, 6.5, 294.79), -- prop spawn coords
},
[5] = {
coords = vector4(259.26, -2499.55, 6.5, 27.01), -- prop spawn coords
},
[6] = {
coords = vector4(148.54, -2403.01, 6.0, 140.17), -- prop spawn coords
},
[7] = {
coords = vector4(152.65, -2475.33, 5.99, 152.57), -- prop spawn coords
},
[8] = {
coords = vector4(369.0, -2449.12, 6.1, 82.25), -- prop spawn coords
},
[9] = {
coords = vector4(367.11, -2450.04, 6.13, 158.58), -- prop spawn coords
},
[10] = {
coords = vector4(768.28, -2483.32, 20.2, 96.34), -- prop spawn coords
},
[11] = {
coords = vector4(766.03, -2483.27, 20.15, 76.54), -- prop spawn coords
},
[12] = {
coords = vector4(633.75, -2797.88, 6.06, 63.13), -- prop spawn coords
},
[13] = {
coords = vector4(602.58, -2773.29, 6.06, 248.58), -- prop spawn coords
},
[14] = {
coords = vector4(487.22, -2712.07, 6.06, 150.67), -- prop spawn coords
},
[15] = {
coords = vector4(488.31, -2709.74, 6.06, 321.69), -- prop spawn coords
},
--add more as required following the index number
}
},
},
}Last updated