Configuration

The config files of Advanced Garbage Job, the job lock, routes, pay, Waste Bucks, upgrades and the settings owners change most.

Advanced Garbage Job is set up in its config files. It is not in the in-game /ggsettings menu. Edit the files, then restart gg_garbagejob.

Where the settings are

FileWhat it holds
utility.luaNotifications, progress bar, debug mode, and framework, inventory and target overrides
config/shared/general.luaThe Garbage Center location, blip, worker and job lock, the payment table, the truck, the daily challenge and the shop
config/shared/routeData.luaEvery route, its stops, group size, cooldowns and pay
config/shared/pickupData.luaPickup and load times, cuts and needle pokes, what each kind of trash can give, and every trash prop
config/shared/player_levels.luaThe 25 levels and their bonuses
config/shared/player_upgrades.luaThe four upgrades bought with Waste Bucks
config/shared/settings.luaUI colour, groups, uniform, popups, split pay, daily reset time and leaderboards
config/lang.luaEvery text players see
core/lib/miniBridge/client.luaVehicle keys and fuel

Lock the job to a job name

By default anyone can work the job. To make it a company job, set job in config/shared/general.lua:

Lua
cfg.targetSettings = {
    ["garbage"] = {
        icon = "fas fa-recycle",
        distance = 2.5,
        job = "garbage", -- your job name; nil lets everyone in
    },
}

Only players with that job can then use the worker at the Garbage Center, so hiring and firing through your framework or business script controls who can work. The job must exist in your framework.

Routes

Every route lives in cfg.route in config/shared/routeData.lua:

Lua
{
    id = "grove_st_01",           -- unique id
    type = 2,                     -- 1 or 2, see below
    label = "Davis / Grove St House Cleanup",
    level = 1,                    -- level needed to start it
    cooldown = 0,                 -- minutes before the same player can run it again
    global_cooldown = 0,          -- minutes before anyone can run it again
    groups = {min = 1, max = 4},  -- group size
    rewards = {
        money = 425,
        experience = 560,
        shop_currency = 325,      -- Waste Bucks
    },
    route_stages = {
        { coord = vector3(11.27, -1862.36, 23.82), radius = 100.0, trash_collect = 10 },
        -- more stages
    }
},

There are two kinds of route:

typeHow a stage worksA stage looks like
1The job places the trash at each stop. Players collect every pieceA list of { coord = vector4(...), prop_data = cfg.pickups.props['prop_rub_binbag_05'] }
2Players collect trash_collect pieces of any trash prop inside radius metres of coord{ coord = vector3(...), radius = 100.0, trash_collect = 10 }

For type 1, prop_data must name a prop in cfg.pickups.props in pickupData.lua. Props marked "BREAKS ON IMPACT" there are not for type 1 routes. Give every new route its own id.

Pay and Waste Bucks

When the route's last stop is cleared, each player's share of money, experience and shop_currency goes to the payment table at the Garbage Center. With defaults.split_pay on, all three are split across the group. Players pick it up with Collect Payment; money is paid in cash. The level bonus and the Waste Bucks Boost upgrade are added on top.

Waste Bucks pay for the upgrades and the shop:

UpgradeUnlocks at levelWhat it does
Waste Bucks Boost1Up to +100% Waste Bucks, over 25 stages
Trash Pickup Efficiency3Cuts the pickup time, by up to 100% at the last stage
Trash Loading Efficiency5Cuts the loading time, by up to 100% at the last stage
Reinforced Work Gloves7Lowers the chance of cuts and needle pokes, down to none at the last stage

Set enabled = false on an upgrade to remove it. Each stage's level, bonus and cost can be changed in player_upgrades.lua.

Reward items

WhereSettingItems
Finds in the trashcfg.pickups.rewards in pickupData.luacopper, rubber, iron, metalscrap, plastic, glass and, rarely, weapon_knife
Shopcfg.shopItems in general.luaplastic, glass, copper, rubber, metalscrap, iron, steel
Daily rewardcfg.DailyBonusChallenge.items in general.luaPlastic, Glass, Copper, with capital letters

Item names are case sensitive in most inventories. Change each item to the exact name your inventory uses, or remove the line. Remove the weapon_knife line if you do not want players to find knives.

Settings owners change

SettingFileWhat it doesDefault
cfg.npcLocations[1].coordsgeneral.luaWhere the worker standsvector4(-349.7, -1569.83, 25.22, 305.81)
rentalSpawngeneral.luaWhere garbage trucks spawn14 spots at the Garbage Center
cfg.tableDatageneral.luaThe payment table and its cash propsNext to the worker
cfg.TrashVehicle.vehiclegeneral.luaThe garbage truck"trash"
cfg.TrashVehicle.spawn_in_vehiclegeneral.luaPuts the player in the truck when it spawnsfalse
cfg.DailyBonusChallengegeneral.luaRoutes needed for the daily reward, and the reward5 routes: $1,000, 1,250 XP, 1,000 Waste Bucks and 10 to 20 Plastic, Glass or Copper
cfg.shopItemsgeneral.luaShop items, unlock level and Waste Bucks priceSeven materials, 25 to 60 Waste Bucks
cfg.levelsplayer_levels.luaXP needed for each level and its money and XP bonus25 levels, up to +50% money and +100% XP
cfg.pickups.timeoutspickupData.luaMilliseconds to pick up and to load a piece of trash2000 each
cfg.pickups.affectspickupData.luaChance and damage of cut hands and needle pokes10% each
general.clothing_enabledsettings.luaAdds Swap Uniform at the workertrue
general.group_keyssettings.luaEvery group member gets the truck keystrue
general.currency_typesettings.luaCurrency shown in the menu"USD"
defaults.prop_rendersettings.luaDistance in metres at which route trash appears50.0
defaults.split_paysettings.luaSplits route pay across the grouptrue
reset_timesettings.luaWhen the daily challenge resets, and the time zone"00:00", "GMT"
leaderboards.total_requestssettings.luaPlayers shown on each leaderboard250

utility.lua

SettingWhat it doesDefault
notificationsNotification style: ox, qb or esx"ox"
ProgressBarProgress bar style: ox, qb or esx"ox"
frameworkForces a framework: qbx_core, qb-core or es_extended. Leave blank to detect""
inventoryForces an inventory by its resource name. Leave blank to detect""
targetForces ox_target or qb-target. Leave blank to detect""
debugModePrints debug lines in the consolefalse

Vehicle keys and fuel

The job gives keys and sets fuel through core/lib/miniBridge/client.lua. It uses the first key script it finds started, in this order: bhd_garage, brutal_keys, cd_garage, F_RealCarKeysSystem, mk_vehiclekeys, mono_carkeys, MrNewbVehicleKeys, 0r-vehiclekeys, p_carkeys, Renewed-Vehiclekeys, qb-vehiclekeys, qbx_vehiclekeys, qs-vehiclekeys, tgiann-hotwire, vehicles_keys, wasabi_carlock.

Fuel works with bigDaddy-Fuel, cdn-fuel, esx-sna-fuel, frkn-fuelstationv4, lc_fuel, LegacyFuel, okokGasStation, ox_fuel, ps-fuel, qb-fuel, qs-fuelstations, rcore_fuel, Renewed-Fuel, ti_fuel and x-fuel. With any other fuel script, the job sets the game's own fuel level.

Support

Questions before you buy?

Ask the team in our Discord before you pay a thing. Setup help, update notes, giveaways and discount codes, all in one place.

831 online now2,241 members