Showcase
RECYCLER JOB
Purchase
ESX - Recycler Job | QBCORE - Recycler Job
Code is accessible | No, (target, menu, minigame customization, elevator, notifications, refill bottle function are accessible) |
Subscription-based | No |
Lines (approximately) | ~1900 |
Requirements | [QB] (qb-menu, qb-target, qb-input - optional, you can adapt to your own.) |
Requirements | [ESX] (nh-context, qtarget, nh-keyboard / qb-input - optional, you can adapt to your own.) |
Support | Yes |
Asset is encrypted using fivem escrow system but a lot of configurable values are present for you to edit plus a couple of files are unencrypted too.
Optimization
Full optimized.
0.00 ms
Features
-
Easy customization
-
Collecting materials
-
Machine controls, power controls, materials hopper, machine cooler.
-
Cooling water shop - Working time function (opening, closing time)
-
Advanced machine process
-
Installing sensors (water, materials, machine, power, temperature)
-
Remote machine monitor
-
Overheat alarm
-
Fire sprinklers kit
-
Machine visual and sound effects
-
Overheating of the machine is possible.
-
Machine explosion punishment
-
Temperature light indicator
-
Experience system
-
Job vehicle
-
Deposit
-
Advanced elevator (synced with all players)
-
The duration of the cardboard shredding process depends on the experience of the player
-
Refilling empty water bottles.
-
Effects synchronization with all players
-
Shredding cardboard
-
Packaging shredded cardboard
-
Sell recycled materials
-
SYNCHRONIZATION WITH OTHER PLAYERS (all animations and effects are synced with other players.)
-
Server-side checks to prevent abuse and cheating.
Other Resources
- [ESX] & [QBCORE] Tailor job
- [ESX & QBCORE] Potions
- [ESX] Oxy Run | NoPixel Inspired
- [ESX] Easter Hunt
Config
-- Config.JobRequired = "recycler" -- if you want to disable it just set it to false like Config.JobRequired = false
Config.JobRequired = false -- Job name e.g. Config.JobRequired = "recycler"
Config.Identifier = 1 -- 0 = steam identifier, 1 = license identifier
Config.DebugPolyZone = false
Config.Target = "qb-target"
Config.KickReason = "[d3MBA Recycler job] | Protection!"
-- Particles synchronization
Config.SyncParticlesWithAllPlayers = { -- ⚠️ If is false particles will see only the player who triggered it.
MachineCooler = true,
Machine = true,
FireSprinklersSystem = true,
}
-- Machine sound
Config.MachineSound = { -- ⚠️ READ README FILE!!
Use = true,
Volume = 0.3,
Distance = 25
}
Config.ClearPedTasksImmediately = true
Config.UseJobElevator = true -- Job elevator
Config.TemperatureIndicatorLight = true -- Temperature indicator light - img: https://imgur.com/a/QGjKep4
Config.ProgressBar = { -- qb-progressbar or lj-progressbar
-- https://github.com/qbcore-framework/progressbar
Use = true,
InstallingSensor = "Installing sensor...",
CuttingPaper = "Shredding cardboard...",
PutWaterIntoCooler = "Adding water to a cooler...",
CollectingMaterials = "Collecting materials...",
TakingPaperBales = "Taking paper bale...",
RefillBottle = "Reffiling water bottle...",
Packaging = "Packaging...",
}
Config.Items = {
-- Paper
Paper = "recycler_paper",
PaperBale = "paper_bale",
-- Cardboard
Cardboard = "recycler_cardboard",
ShreddedCardboard = "shredded_cardboard",
BoxShreddedCardboard = "box_shredded_cardboard",
-- Water
CoolingWater = "recycler_cooling_water", -- Water for machine cooling.
EmptyCoolingWaterBottle = "recycler_empty_water_bottle"
}
Config.Blip = { -- Main blip
-- https://docs.fivem.net/docs/game-references/blips/
Use = true,
Pos = vector3(-609.689, -1606.58, 26.750),
Sprite = 467,
Scale = 1.2,
Color = 68,
Label = "[Recycler Job]",
}
Config.JobVehicle = {
Pos = vector3(-580.02, -1590.88, 26.75),
SpawnPos = vector4(-588.639, -1589.04, 26.489, 88.07), -- vehicle spawn position
SetPedIntoVehicle = true,
FullFuel = true, -- Read ⬇️
Deposit = {
Use = true,
Account = "cash", -- QB("cash", "bank") --- ESX("money", "bank")
Amount = 100,
},
SpawnPointCheck = { -- It will check spawn point. To prevent spawning vehicle on vehicle.
Use = true,
Radius = 3.5 -- Default radius 3.5
},
VehicleModels = {
[1] = "biff",
},
}
-- Fuel function if you're set "FullFuel = true"
function fullFuel()
-- If you using "lj-fuel" just replace "LegacyFuel" with "lj-fuel"! ⬇️
exports["LegacyFuel"]:SetFuel(recyclerJobVehicle, 100) -- Legacy Fuel
end
RegisterNetEvent('d3:recyclerJob:GiveCarKeys', function(vehiclePlate)
-- Here you can put event or export to give player vehicle keys
TriggerEvent("vehiclekeys:client:SetOwner", vehiclePlate) -- QB-CORE
-- Job vehicle
-- For T1GER-KEYS script use ("recyclerJobVehicle")
-- exports['t1ger_keys']:SetVehicleLocked(recyclerJobVehicle, 0) -- If you using T1GER-KEYS script just uncoment line.
end)
Config.Reception = {
-- Ped
CreatePed = true,
Model = "a_m_m_business_01", -- https://docs.fivem.net/docs/game-references/ped-models/
Pos = vector4(-616.938, -1622.73, 32.010, 351.98),
-- Sensors menu
Account = "cash", -- QB("cash", "bank") --- ESX("money", "bank")
Sensors = {
{itemName = "recycler_remote_monitor", price = 300, emoji = "🖥️"},
{itemName = "machine_sensor", price = 160, emoji = "⚙️"},
{itemName = "materials_sensor", price = 120, emoji = "📦"},
{itemName = "power_sensor", price = 130, emoji = "🔌"},
{itemName = "temperature_sensor", price = 140, emoji = "🌡"},
{itemName = "water_sensor", price = 120, emoji = "💧"},
{itemName = "fire_sprinklers_system", price = 1000, emoji = "🧯"},
{itemName = "overheat_alarm", price = 250, emoji = "⏰"},
},
-- Materials
MaterialsContainersLoc = {
{coords = vector3(433.2812, -1550.29, 31.107)},
{coords = vector3(218.7353, -2011.57, 20.885)},
{coords = vector3(891.0105, -1731.21, 31.133)},
{coords = vector3(974.1326, -1702.90, 30.874)},
{coords = vector3(954.1549, -1580.52, 32.715)},
{coords = vector3(949.1590, -1580.77, 32.654)},
{coords = vector3(896.9542, -1585.98, 31.373)},
{coords = vector3(869.9802, -1607.57, 32.220)},
{coords = vector3(776.8347, -1625.62, 33.232)},
{coords = vector3(-1785.42, -492.561, 40.612)},
{coords = vector3(133.5384, -344.457, 45.921)},
{coords = vector3(19.39390, -367.463, 41.622)},
{coords = vector3(1617.809, -1885.83, 106.06)},
{coords = vector3(1075.310, -2388.57, 32.767)},
{coords = vector3(1095.281, -2395.50, 31.932)},
{coords = vector3(830.1606, -2489.85, 25.352)},
{coords = vector3(798.2069, -2530.18, 24.185)},
{coords = vector3(598.9206, -2774.81, 7.0704)},
{coords = vector3(593.9295, -2791.59, 7.2892)},
{coords = vector3(-190.166, -1373.47, 32.643)},
{coords = vector3(1250.471, -1591.22, 55.432)},
{coords = vector3(1168.997, -1652.31, 38.668)},
{coords = vector3(1172.402, -1642.57, 38.784)},
{coords = vector3(740.7584, -990.886, 26.875)},
{coords = vector3(719.6326, -993.610, 26.215)},
{coords = vector3(1433.103, 3622.709, 35.851)},
{coords = vector3(1284.749, 3622.694, 33.790)},
{coords = vector3(465.2329, 3552.872, 34.934)},
{coords = vector3(1066.799, 2658.188, 41.947)},
{coords = vector3(1443.054, -1675.70, 67.806)},
{coords = vector3(948.3063, -2171.15, 32.948)},
{coords = vector3(-2945.44, 416.9829, 16.432)},
{coords = vector3(-1536.89, -886.185, 11.750)},
{coords = vector3(-1235.15, -1401.99, 5.9935)},
{coords = vector3(-1264.90, -1376.51, 5.3568)},
{coords = vector3(-1290.55, -1318.85, 5.7346)},
{coords = vector3(-1208.55, -1482.26, 6.2747)},
{coords = vector3(-1012.07, -1347.76, 7.1559)},
},
RandomMaterialsAmount = {
Min = 5,
Max = 15
},
MaterialsControl = 38, -- (E) -- https://docs.fivem.net/docs/game-references/controls/
-- Materials blip
-- https://docs.fivem.net/docs/game-references/blips/
Blip = {
Sprite = 467,
Scale = 1.3,
Color = 2,
RotuteColor = 47,
Label = "[Recycler job] - Materials",
},
TimeToNextLocation = {
Min = 15, -- seconds
Max = 40 -- seconds
},
}
Config.Water = { -- Ped(shop) where you can buy water for machine cooling.
Use = true,
Model = "s_m_m_gardener_01", -- https://docs.fivem.net/docs/game-references/ped-models/
Pos = vector4(-587.033, -1645.31, 18.597, 354.9),
Account = "cash", -- QB("cash", "bank") --- ESX("money", "bank")
Price = 10, -- Price for 10l (one bottle of water for machine cooling.)
TimeCheck = {
Use = true,
CheckTime = 3, -- Evenry 3 sec scitpt will check in game time.
OpeningTime = 8,
ClosingTime = 20,
},
Blip = {
-- https://docs.fivem.net/docs/game-references/blips/
Use = true,
Sprite = 256,
Scale = 0.7,
Color = 3,
Label = "[Recycler Job] Cooling water",
},
}
Config.PaperCutter = { -- Shredding cardboard
UseMiniGame = true, -- Check cl-customization.lua file for more settings about mini game.
-- Process duration time in seconds
ProcessDuration = 15, -- If is experience system = false then this will be the duration time of process
-- Experience System
ExperienceSystem = {
Use = true,
IncreaseExperience = {
Min = 1,
Max = 3
},
},
Amount = 5, -- Amount need to start cutting paper
Loc = {
vector3(-586.55, -1628.49, 33.02),
vector3(-583.79, -1628.71, 33.04),
vector3(-580.0, -1629.11, 33.07),
vector3(-576.83, -1629.36, 33.01),
vector3(-586.43, -1622.51, 33.01),
},
ShreddedCardboardAmount = {
Min = 15,
Max = 23
},
}
Config.Packaging = {
-- Process duration time in seconds
ProcessDuration = 15, -- If is experience system = false then this will be the duration time of process
Amount = 40, -- Amount need to start cutting pape
}
Config.Delivery = { -- sell recycled materials
Ped = "a_m_m_soucent_02", -- https://docs.fivem.net/docs/game-references/ped-models/
Time = 10, --minutes, player have to sell materials
Account = "cash", -- QB("cash", "bank") --- ESX("money", "bank")
Price = {
["paper_bale"] = 500, -- price = 500$
["box_shredded_cardboard"] = 350 -- price = 350$
},
Blip = { -- https://docs.fivem.net/docs/game-references/blips/
Colour = 76,
Sprite = 480,
Scale = 1.2,
Label = "[Recycler Job] Sell recycled materials.",
RouteColor = 3,
},
Locations = {
vector4(-731.314, -811.865, 22.676, 193.4),
vector4(759.0201, -719.838, 27.145, 276.93),
vector4(1124.124, -345.150, 66.124, 191.92),
vector4(571.8167, 2676.948, 40.972, 11.15),
vector4(1039.345, 2664.121, 38.551, 358.91),
vector4(2555.694, 2607.425, 37.086, 290.89),
vector4(1441.283, -1669.11, 65.645, 115.19),
vector4(1037.496, -2173.21, 30.533, 264.97),
vector4(-1042.10, -1351.11, 4.5191, 53.06),
vector4(-1175.69, -1332.03, 4.0243, 246.28),
vector4(-1222.21, -1339.36, 3.1748, 295.66),
vector4(-1471.81, -920.282, 9.025, 229.74),
},
}
-- Power
Config.PowerControl = {
PricePerKwh = 10,
Account = "cash", -- "cash", "bank"
}
-- Machine
Config.RecycleMachine = {
Punishment = 5000, -- 5k $
PunishmentAccount = "cash", -- QB("cash", "bank") --- ESX("money", "bank")
OverheatAlarm = 100, -- Temperature when alarm will be activated.
FireSprinklersSystem = 130, -- Temperature when Fire sprinklers system will be activated.
TakePaperBaleDuration = 8, -- Seconds
ChanceIncreaseTemp = 20, -- Chance to increase machine temperature -- 20 = 80%, 50 = 50%, 70 = 30%.
Materials = 60, -- Min materials needed to start process, materials per one paper bale
MachineOffDecreasingTemperature = {
-- RANDOM TIME (MIN, MAX)
Time = {
Min = 15,
Max = 30
},
Temperature = {
-- RANDOM TEMPERATURE (MIN, MAX)
Min = 2,
Max = 4
},
},
Speed1 = {
Power = 2,
ProcessDuration = 17, -- Seconds
IncreaseMachineTemperature = {
Time = 6, -- every 6 seconds temperature will be increased
-- Random
Min = 2,
Max = 6,
},
},
Speed2 = {
Power = 4,
ProcessDuration = 12, -- Seconds
IncreaseMachineTemperature = {
Time = 4.5, -- every 6 seconds temperature will be increased
-- Random
Min = 5,
Max = 7,
},
},
Speed3 = {
Power = 6,
ProcessDuration = 7, -- Seconds
IncreaseMachineTemperature = {
Time = 3.5, -- every 6 seconds temperature will be increased
-- Random
Min = 5,
Max = 8,
},
},
}
-- Machine Cooler
Config.MachineCooler = {
ProgressDuration = 5, -- default 5 seconds per bottle, e.g. if player put 2 bottles progress will be 10 seconds
DecreaseTemperature = {
-- random (min, max)
Min = 3,
Max = 7
},
Speed1Time = 7, -- Seconds
Speed2Time = 5, -- Seconds
Speed3Time = 3, -- Seconds
}
Config.Notifications = {
["spawnpoint_check"] = "Vehicle spawnpoint has been blocked!",
["paid_deposit"] = "You paid " ..Config.JobVehicle.Deposit.Amount.. "$ for the vehicle deposit!",
["deposit_back"] = "You got your deposit back " ..Config.JobVehicle.Deposit.Amount.. "$",
["no_enough_money_deposit"] = "You don't have enough money to pay the vehicle deposit " ..Config.JobVehicle.Deposit.Amount.. "$",
["no_enough_money"] = "You don't have enough money - ",
["return_vehicle"] = "[E] Return job vehicle",
["no_enough_paper"] = "You don't have enough paper!",
["no_enough_paper_hopper"] = "Invalid amount of materials!",
["no_water"] = "You don't have enough water!",
["bought_water"] = "You bought 5 litres of water for " ..Config.Water.Price.. " $",
["bought"] = "Bought ", -- Sensors menu
["no_sensor_item"] = "You don't have sensor.",
["no_fire_sprinklers_kit"] = "You don't have fire sprinklerskit.",
["no_overheat_alarm"] = "You don't have overheat alarm.",
["increase_experience"] = "Experience + ",
["elevator_aleady_use"] = "The elevator is already in use, please wait.",
["not_near_water"] = "You are not near water!",
["you_dont_have_empty_bottle"] = "You don't have empty bottle!",
["already_reffiling"] = "You are already reffiling bottle!",
["next_location"] = "Wait for the next location...",
["nothing_to_sell"] = "You have nothing to sell!",
["materials_sold"] = "You sold ",
["bought_power"] = "Bought ",
["bought_power2"] = " kW for ",
["box_shredded_cardboard"] = "box of shredded cardboard",
["paper_bale"] = "paper bale",
["no_enough_cardboard"] = "You don't have enough cardboard",
["no_enough_shreddedcardboard"] = "You don't have enough shredded cardboard - " ..Config.Packaging.Amount.. ".",
["machine_is_already_in_that_speed"] = "The machine is already in that speed ",
["machine_too_hot"] = "Machine is too hot, wait for it to cool down!",
["cooler_is_already_in_that_speed"] = "The cooler is already in that speed ",
["cannot_change_machine_speed"] = "You cannot change the speed of the machine while the machine is running!",
["put_machine_in_gear"] = "You have to put the machine in gear!",
["machine_output_blocked"] = "The output on the machine is blocked!",
["machine_blocked"] = "Machine blocked ",
["cant_use_machine_punishment"] = "There is a punishment for exploding the machine, so you can't use it!",
["no_enouth_materials_or_power"] = "You don't have enough material or power to start/continue the process!",
["no_enough_money_punishment"] = "You don't have enough money to pay the machine explosion punishment " ..Config.RecycleMachine.Punishment.. "$",
["punishemnt_paid"] ="You paid " ..Config.RecycleMachine.Punishment.. "$ for the machine explosion punishment!",
}
Config.NotificationsSettings = {
Info = "primary",
Error = "error",
Success = "success",
}
Config.TargetLabels = {
["reception"] = "Reception",
["spawn_job_vehicle"] = "Take a vehicle keys",
["return_job_vehicle"] = "Back a vehicle keys",
["power_control"] = "Power control",
["recycle_machine_controls"] = "Recycle machine controls",
["machine_materials_hopper"] = "Hopper",
["recycle_machine_cooler"] = "Cooler",
["water_ped"] = "Water for machine cooling.",
["install_sensors"] = "Install sensors",
["elevator"] = "Elevator",
["paper_cutter"] = "Shredder cardboard",
["paper_bale"] = "Take paper bale",
["sell_paper_bale"] = "Sell paper bale",
["sell_shredded_cardboard"] = "Sell shredded cardboard",
["packaging"] = "Package shredded cardboard - ",
}
Config.TargetIcons = {
["reception"] = "fas fa-circle-user",
["job_vehicle"] = "fas fa-car",
["power_control"] = "fas fa-plug",
["recycle_machine_controls"] = "fas fa-gauge-high",
["recycle_machine_cooler"] = "fas fa-fan",
["machine_materials_hopper"] = "fas fa-box-open",
["water_ped"] = "fas fa-faucet",
["sensor"] = "fas fa-network-wired",
["elevator"] = "fas fa-elevator",
["paper_cutter"] = "fas fa-hand-scissors",
["paper_bale"] = "fas fa-cube",
["sell_materials"] = "fas fa-cube",
["packaging"] = "fas fa-box-open",
}