Config = {}SD.Locale.LoadLocale('en')-- Table of items used in the scriptConfig.Items = { BottleCap ='bottle_cap', -- Bottle Caps Grinder ='powersaw' -- Power Saw}Config.DumpsterCooldown =10-- Cooldown in minutes before a player can loot a dumpster or trash can again-- Controls chance-based events during dumpster diving (e.g., needle pricks, hobo attacks).Config.Events = { NeedlePrick = { -- Settings for the Needle Prick event Enable =false, -- Enable Needle Prick Event Chance =20, -- Chance of the player being pricked Duration =120, -- Duration of the drunk/drug effect in seconds Cooldown =600, -- Cooldown before the player can get pricked again in seconds }, HoboAttack = { -- Settings for the Hobo Attack event Enable =true, -- Enable the Hobo attack event Chance =100, -- Chance of the player being attacked Cooldown =600, -- Cooldown before the player can get attacked again in seconds Models = { -- Models that are used for the hobo attack event, will randomize between them.'a_m_m_tramp_01','a_m_m_trampbeac_01','a_m_m_hillbilly_01','a_m_m_hillbilly_02','a_f_m_tramp_01','a_f_m_trampbeac_01', }, MaxDistance =150, -- Maximum distance the player can be from the hobo before it despawns }}-- Determines how buying/selling transactions are handled (e.g., 'cash' or 'caps').-- This value is referenced to decide if the player uses money or bottle caps.Config.Payout ='caps' -- cash/caps-- Controls the Hobo King NPC itself (model, spawn location, scenario, etc.).-- Location is randomized from Config.Ped.Location in your script.-- Interaction: sets up the NPC target so players can open the PedMenu.Config.Ped = { Enable =true, -- true/false Location = { {x =3.152987, y =-1215.155, z =25.70303, w =267.1587}-- Add more locations as needed (Will Randomize from available locations each script start) }, Model ="u_m_y_militarybum", Interaction = { Icon ="fas fa-circle", Distance =3.0, }, Scenario ="WORLD_HUMAN_BUM_STANDING" -- Full list of scenarios @ https://pastebin.com/6mrYTdQv}-- Creates a map blip for the Hobo King’s location (if enabled).Config.Blip = { Enable =false, -- Change to false to disable blip creation Sprite =480, -- Sprite/Icon Display =4, -- No Touce Scale =0.6, -- Scale of the Blip Colour =1, -- Color of the Blip Name ="Hobo King", -- Name of the blip}-- This table holds descriptive metadata for various items in your script.-- Key (e.g., 'lockpick', 'weapon_knuckle') is the item's "internal" name.-- Value is a table defining:-- label = A player-friendly display name (used in menus, notifications, etc.).-- icon = A Font Awesome (or similar) icon reference for UI elements.Config.ItemsMetadata = { ['lockpick'] = { label ='Lockpick', icon ='fas fa-tools' }, ['weapon_knuckle'] = { label ='Knuckle Duster', icon ='fas fa-hand-rock' }, ['weapon_switchblade'] = { label ='Switchblade', icon ='fas fa-tools' }, ['low_quality_meth'] = { label ='Low Quality Meth', icon ='fas fa-vial' }, ['metalscrap'] = { label ='Scrap Metal', icon ='fas fa-cogs' }, ['plastic'] = { label ='Plastic', icon ='fas fa-box-open' }, ['glass'] = { label ='Glass', icon ='fas fa-glass-martini' }, ['rubber'] = { label ='Rubber', icon ='fas fa-circle' }, ['steel'] = { label ='Steel', icon ='fas fa-tools' }, ['garbage'] = { label ='Garbage', icon ='fas fa-trash' }, ['paperbag'] = { label ='Paper Bag', icon ='fas fa-shopping-bag' }, ['cleaningkit'] = { label ='Cleaning Kit', icon ='fas fa-broom' }, ['walkstick'] = { label ='Walking Stick', icon ='fas fa-cane' }, ['lighter'] = { label ='Lighter', icon ='fas fa-fire' }, ['toaster'] = { label ='Toaster', icon ='fas fa-box' }, ['10kgoldchain'] = { label ='10k Gold Chain', icon ='fas fa-gem' }, ['ruby_earring_silver'] = { label ='Ruby Earring', icon ='fas fa-gem' }, ['goldearring'] = { label ='Gold Earring', icon ='fas fa-gem' }, ['antique_coin'] = { label ='Antique Coin', icon ='fas fa-coins' }, ['rims'] = { label ='Rims', icon ='fas fa-cogs' }, ['md_silverearings'] = { label ='Silver Earrings', icon ='fas fa-gem' }, ['bottle_cap'] = { label ='Bottle Cap', icon ='fas fa-circle' }, ['gold_nugget'] = { label ='Gold Nugget', icon ='fas fa-gem' }, ['ancient_coin'] = { label ='Ancient Coin', icon ='fas fa-coins' }, ['weapon_bottle'] = { label ='Broken Bottle', icon ='fas fa-wine-bottle' },}-- Config.Shop-- Defines items the Hobo King can Buy or Sell, along with their prices.Config.Shop = {-- Format: [itemName] = { price = number, level = optional required level }, Buy = { ['lockpick'] = { price =150 }, ['weapon_knuckle'] = { price =100 }, ['weapon_switchblade'] = { price =150 }, ['low_quality_meth'] = { price =150, level =3 }, }, Sell = {-- Format: [itemName] = { price = number }, ['metalscrap'] = { price =5 }, ['plastic'] = { price =5 }, ['glass'] = { price =5 }, ['rubber'] = { price =5 }, ['steel'] = { price =5 }, ['garbage'] = { price =2 }, ['paperbag'] = { price =5 }, ['cleaningkit'] = { price =5 }, ['walkstick'] = { price =10 }, ['lighter'] = { price =5 }, ['toaster'] = { price =10 }, ['10kgoldchain'] = { price =150 }, ['ruby_earring_silver'] = { price =130 }, ['goldearring'] = { price =180 }, ['antique_coin'] = { price =120 }, ['rims'] = { price =50 }, ['md_silverearings'] = { price =75 }, },}-- Organizes which world-models are considered "Small" trash bins vs. "Large" dumpsters.-- This helps the script determine locked/unlocked logic (for large dumpsters) -- or other distinctions.Config.BinProps = { Small = { -- Trashcans/bins'prop_bin_07b','prop_bin_01a','prop_recyclebin_03_a','zprop_bin_01a_old','prop_bin_07c','prop_bin_04a','prop_bin_09a','prop_bin_03a','prop_bin_02a','prop_bin_12a','prop_bin_05a','prop_bin_07a', }, Large = { -- Large bins/Dumpsters/Skips'prop_skip_05a','prop_dumpster_3a','prop_skip_08a','prop_dumpster_4b','prop_bin_14a','prop_skip_03','prop_dumpster_01a','prop_dumpster_4a','prop_skip_10a','prop_dumpster_02b','prop_bin_14b','prop_skip_06a','prop_dumpster_02a','prop_skip_02a', },}-- Defines player levels by specifying an XPThreshold and certain properties -- (like how long it takes to search or chance to find locked dumpsters).-- The script uses the highest index for players above the final XP threshold.Config.Levels = { [1] = { Duration =10, -- Time in seconds to loot a dumpster XPThreshold =2000, -- XP required to reach level 2 LockChance =25, -- Chance of a dumpster being locked (percentage) SawDuration =15, -- Time in seconds to saw open a locked dumpster LockCooldown =30, -- Cooldown between locked dumpsters (minutes) LootChance =25, -- Chance of finding loot in bags (percentage) }, [2] = { Duration =9, XPThreshold =5000, LockChance =20, SawDuration =11, LockCooldown =35, LootChance =30, }, [3] = { Duration =8, XPThreshold =10000, LockChance =15, SawDuration =8, LockCooldown =40, LootChance =40, }, [4] = { Duration =6, XPThreshold =16000, LockChance =10, SawDuration =7, LockCooldown =45, LootChance =50, }, [5] = { Duration =4, XPThreshold =24000, LockChance =5, SawDuration =5, LockCooldown =50, LootChance =75, }}Config.LockedDumpster = { Enable =true,}-- Simple toggle controlling if the script will track and display player stats -- (like how many dumpsters they've searched, hobos looted, etc.).Config.Stats = { Enable =true,}-- Enables a global leaderboard system based on the total stats and XP.-- ShowNames: if false, only the local player sees their name; others are "Anonymous."-- Amount: how many top players to show (e.g., top 5).-- LevelMultipliers: multiplies your total stats by a factor based on your level.Config.Leaderboard = { Enable =true, -- Enable the Leaderboard ShowNames =true, -- Show in-game Names of the Players, if false just says Anonymous Amount =5, -- The amount of players to display on the leaderboard-- Leaderboard 'score' is calculated like this: total amount of stats * LevelMultiplier LevelMultipliers = { -- Define the multiplier for each level [1] =1, -- Level 1: No additional multiplier [2] =2, -- Level 2: 2x multiplier [3] =3, -- Level 3: 3x multiplier [4] =4, -- Level 4: 4x multiplier [5] =5-- Level 5: 5x multiplier-- Add more levels as needed }}-- Controls which mini-hack or skill-check is used to search certain dumpsters-- or hobo camps. 'Args' is used to pass the correct arguments to that minigame.Config.Minigame = { Dumpsters = { Enable =true, -- Enable/Disable the minigame for looting Dumpsters Minigame ='lib.skillCheck', -- Choose any available minigame from SD.StartHack/below listed minigames. Args = { ['ps-circle'] = {2, 10}, -- {Number of circles, Time in milliseconds} ['ps-maze'] = {20}, -- {Time in seconds} ['ps-varhack'] = {2, 3}, -- {Number of blocks, Time in seconds} ['ps-thermite'] = {10, 5, 3}, -- {Time in seconds, Grid size, Incorrect blocks} ['ps-scrambler'] = {'numeric', 30, 0}, -- {Type, Time in seconds, Mirrored option} ['memorygame-thermite'] = {10, 3, 3, 10}, -- {Correct blocks, Incorrect blocks, Show time in seconds, Lose time in seconds} ['ran-memorycard'] = {360}, -- {Time in seconds} ['ran-openterminal'] = {}, -- No additional arguments ['hacking-opengame'] = {15, 4, 1}, -- {Time in seconds, Number of blocks, Number of repeats} ['howdy-begin'] = {3, 5000}, -- {Number of icons, Time in milliseconds} ['sn-memorygame'] = {3, 2, 10000}, -- {Keys needed, Number of rounds, Time in milliseconds} ['sn-skillcheck'] = {50, 5000, {'w', 'a', 's', 'w'}, 2, 20, 3}, -- {Speed in milliseconds, Time in milliseconds, Keys, Number of rounds, Number of bars, Number of safe bars} ['sn-thermite'] = {7, 5, 10000, 2, 2, 3000}, -- {Number of boxes, Number of correct boxes, Time in milliseconds, Number of lives, Number of rounds, Show time in milliseconds} ['sn-keypad'] = {999, 3000}, -- {Code number, Time in milliseconds} ['sn-colorpicker'] = {3, 7000, 3000}, -- {Number of icons, Type time in milliseconds, View time in milliseconds} ['rm-typinggame'] = {'easy', 20}, -- {Difficulty, Duration in seconds} ['rm-timedlockpick'] = {200}, -- {Speed value} ['rm-timedaction'] = {3}, -- {Number of locks} ['rm-quicktimeevent'] = {'easy'}, -- {Difficulty} ['rm-combinationlock'] = {'easy'}, -- {Difficulty} ['rm-buttonmashing'] = {5, 10}, -- {Decay rate, Increment rate} ['rm-angledlockpick'] = {'easy'}, -- {Difficulty} ['rm-fingerprint'] = {200, 5}, -- {Time in seconds, Number of lives} ['rm-hotwirehack'] = {10}, -- {Time in seconds} ['rm-hackerminigame'] = {5, 3}, -- {Length, Number of lives} ['rm-safecrack'] = {'easy'}, -- {Difficulty} ['lib.skillCheck'] = { {'easy', 'medium', {areaSize =40, speedMultiplier =1.2}}, -- Preset/custom difficulties {'w', 'a', 's', 'd'} -- Inputs for skill check } } }, Camps = { Minigame ='lib.skillCheck', -- Choose any available minigame from SD.StartHack/below listed minigames. Args = { ['ps-circle'] = {2, 10}, -- {Number of circles, Time in milliseconds} ['ps-maze'] = {20}, -- {Time in seconds} ['ps-varhack'] = {2, 3}, -- {Number of blocks, Time in seconds} ['ps-thermite'] = {10, 5, 3}, -- {Time in seconds, Grid size, Incorrect blocks} ['ps-scrambler'] = {'numeric', 30, 0}, -- {Type, Time in seconds, Mirrored option} ['memorygame-thermite'] = {10, 3, 3, 10}, -- {Correct blocks, Incorrect blocks, Show time in seconds, Lose time in seconds} ['ran-memorycard'] = {360}, -- {Time in seconds} ['ran-openterminal'] = {}, -- No additional arguments ['hacking-opengame'] = {15, 4, 1}, -- {Time in seconds, Number of blocks, Number of repeats} ['howdy-begin'] = {3, 5000}, -- {Number of icons, Time in milliseconds} ['sn-memorygame'] = {3, 2, 10000}, -- {Keys needed, Number of rounds, Time in milliseconds} ['sn-skillcheck'] = {50, 5000, {'w', 'a', 's', 'w'}, 2, 20, 3}, -- {Speed in milliseconds, Time in milliseconds, Keys, Number of rounds, Number of bars, Number of safe bars} ['sn-thermite'] = {7, 5, 10000, 2, 2, 3000}, -- {Number of boxes, Number of correct boxes, Time in milliseconds, Number of lives, Number of rounds, Show time in milliseconds} ['sn-keypad'] = {999, 3000}, -- {Code number, Time in milliseconds} ['sn-colorpicker'] = {3, 7000, 3000}, -- {Number of icons, Type time in milliseconds, View time in milliseconds} ['rm-typinggame'] = {'easy', 20}, -- {Difficulty, Duration in seconds} ['rm-timedlockpick'] = {200}, -- {Speed value} ['rm-timedaction'] = {3}, -- {Number of locks} ['rm-quicktimeevent'] = {'easy'}, -- {Difficulty} ['rm-combinationlock'] = {'easy'}, -- {Difficulty} ['rm-buttonmashing'] = {5, 10}, -- {Decay rate, Increment rate} ['rm-angledlockpick'] = {'easy'}, -- {Difficulty} ['rm-fingerprint'] = {200, 5}, -- {Time in seconds, Number of lives} ['rm-hotwirehack'] = {10}, -- {Time in seconds} ['rm-hackerminigame'] = {5, 3}, -- {Length, Number of lives} ['rm-safecrack'] = {'easy'}, -- {Difficulty} ['lib.skillCheck'] = { {'easy', 'medium', {areaSize =40, speedMultiplier =1.2}}, -- Preset/custom difficulties {'w', 'a', 's', 'd'} -- Inputs for skill check } } }}-- Players can hit milestones (e.g., X dumpsters searched) to earn extra rewards.-- Each key corresponds to a stat or category (like 'dumpstersSearched').-- Each element in the array has:-- RequiredAmount: how many times you need to do X-- Reward: a sub-table telling what the reward is (type=item, xp, money).Config.Milestones = { Enable =true, -- Enables/disables the entire milestone system-- The next four milestones are hard-coded to increment at certain actions, you can't just add some random name and expect it work, if you want to implement item-specific ones-- You can do that here, please reference the default (pre-existing) ones below the three below. -- This milestone is for total dumpsters searched ["dumpstersSearched"] = { Name ="Dumpster Diver", -- Overall name for this milestone category-- Stage 1 [1] = { RequiredAmount =5, -- Amount of dumpsters searched-- Type: item, xp, money-- If Type 'item' then Paramters Name, Amount, Label have to be specified-- If Type 'xp' then Paramters Amount have to be specified-- If Type 'money' then Paramters Amount have to be specified Reward = { Type ="item", Name ="bottle_cap", Amount =250, Label ="Bottle Caps" } },-- Stage 2 [2] = { RequiredAmount =10, -- Amount of dumpsters searched Reward = { Type ="xp", Amount =200 } },-- Stage 3 [3] = { RequiredAmount =20, -- Amount of dumpsters searched Reward = { Type ="money", Amount =500 } } },-- This milestone is for total camps searched ["campSearched"] = { Name ="Camp Explorer", -- Overall name for this milestone category [1] = { RequiredAmount =5, Reward = { Type ="item", Name ="bottle_cap", Amount =250, Label ="Bottle Caps" } }, [2] = { RequiredAmount =10, Reward = { Type ="xp", Amount =200 } }, [3] = { RequiredAmount =2, Reward = { Type ="money", Amount =500 } } },-- This milestone is for total amount of Hobos Looted ["hoboLooted"] = { Name ="Hobo Scavenger", -- Overall name for this milestone category [1] = { RequiredAmount =2, Reward = { Type ="item", Name ="bottle_cap", Amount =250, Label ="Bottle Caps" } }, [2] = { RequiredAmount =2, Reward = { Type ="xp", Amount =200 } }, [3] = { RequiredAmount =2, Reward = { Type ="money", Amount =500 } } },-- This milestone is for total amount of trash bags looted ["bagsLooted"] = { Name ="Trash Master", -- Overall name for this milestone category [1] = { RequiredAmount =2, Reward = { Type ="item", Name ="bottle_cap", Amount =200, Label ="Bottle Caps" } }, [2] = { RequiredAmount =2, Reward = { Type ="xp", Amount =200 } }, [3] = { RequiredAmount =2, Reward = { Type ="money", Amount =500 } } },-- Below this point are item-specific Milestones, you can add as many as you want!-- Milestone for the item "metalscrap" ["metalscrap"] = { Name ="Metal Master", -- Overall name for this milestone category [1] = { RequiredAmount =20, Reward = { Type ="money", Amount =1000 } }, [2] = { RequiredAmount =50, Reward = { Type ="xp", Amount =300 } } },-- Milestone for the item "rubber" ["rubber"] = { Name ="Rubber Collector", -- Overall name for this milestone category [1] = { RequiredAmount =10, Reward = { Type ="item", Name ="bottle_cap", Amount =200, Label ="Bottle Caps" } }, [2] = { RequiredAmount =25, Reward = { Type ="money", Amount =250 } } },-- Add more milestones for other items or categories as needed-- Example:-- ["exampleItem"] = {-- Name = "Example Collector", -- Overall name for this milestone category-- [1] = {-- RequiredAmount = 100,-- Reward = { Type = "money", Amount = 500 }-- },-- [2] = {-- RequiredAmount = 200,-- Reward = { Type = "xp", Amount = 1000 }-- }-- }}-- Controls custom “dumpster zones” or areas of the map where the loot table-- can be overridden or specialized. If Enable = true, the script creates-- polygonal zones that can define unique loot behaviors.Config.Zones = { Enable =false, -- Enable/Disable the zone system { name ="Burgershot", points = { -- Define polygon points for the zone vector3(-1155.22, -892.34, 0.0),vector3(-1205.06, -921.80, 0.0),vector3(-1223.98, -893.33, 0.0),vector3(-1174.48, -860.87, 0.0) }, thickness =100, debug =true, LootTable = { Amount =1, Items = { { name ='WEAPON_CARBINERIFLE', quantity =1, chance =5, xp =100 },--{ name = 'metal_scrap', quantity = 5, chance = 50, xp = 10 },-- additional items... } } },-- Add more zones as needed}-- Loot table used when you defeat a hostile "hobo" NPC.Config.HoboLoot = { Amount =math.random(1, 3), -- Number of items to give Items = { { name ='bottle_cap', quantity =math.random(1, 2), chance =50, xp =10 }, { name ='metalscrap', quantity =math.random(1, 3), chance =40, xp =5 }, { name ='plastic', quantity =math.random(1, 2), chance =30, xp =5 }, { name ='lockpick', quantity =1, chance =3, xp =25 }, { name ='rims', quantity =1, chance =6, xp =20 }, { name ='gold_nugget', quantity =1, chance =1, xp =50 }, }, RareItem = { Enable =true, Items = { { name ='md_silverearings', quantity =1, xp =100 }, }, Quantity =1, Chance =5, -- 10% chance to get a rare item Cooldown =15, -- in minutes }}-- For loose trash bags in the world that players can interact with and possibly loot.-- Models: which bag prop models to target.-- Loot: per-level loot table for these bags.Config.Bags = { Enable =true, -- Enable/Disable the ability to target trash bags and search for loot Models = { -- Loose trash bags and similar props'bkr_prop_fakeid_binbag_01','prop_rub_binbag_01','prop_rub_binbag_02','prop_rub_binbag_03','prop_rub_binbag_04','prop_rub_binbag_05','prop_rub_binbag_06','prop_rub_binbag_07','prop_rub_binbag_08','prop_rub_binbag_01b','prop_ld_binbag_01','p_rub_binbag_test','prop_cs_street_binbag_01','prop_cs_rub_binbag_01','rop_rub_binbag_08','prop_rub_binbag_03','prop_rub_binbag_01','prop_rub_binbag_05','prop_rub_binbag_06','prop_rub_binbag_04','prop_rub_binbag_03b','prop_ld_binbag_01','prop_rub_binbag_sd_01','prop_rub_binbag_sd_02','prop_cs_rub_binbag_01','prop_ld_rub_binbag_01', }, Loot = { [1] = { -- Level 1 Amount =math.random(2, 3), Items = { { name ='metalscrap', quantity =math.random(1, 2), chance =50, xp =5 }, { name ='plastic', quantity =math.random(1, 2), chance =30, xp =5 }, { name ='glass', quantity =math.random(1, 2), chance =20, xp =5 } }, RareItem = { Enable =true, Items = { { name ='lockpick', quantity =1, xp =50 } }, Quantity =math.random(1, 2), Chance =2, Cooldown =30 } }, [2] = { -- Level 2 Amount =math.random(2, 4), Items = { { name ='metalscrap', quantity =math.random(1, 3), chance =40, xp =5 }, { name ='plastic', quantity =math.random(1, 3), chance =30, xp =5 }, { name ='glass', quantity =math.random(1, 3), chance =20, xp =5 }, { name ='rubber', quantity =1, chance =15, xp =10 }, { name ='steel', quantity =math.random(1, 2), chance =5, xp =15 } }, RareItem = { Enable =true, Items = { { name ='10kgoldchain', quantity =1, xp =50 } }, Quantity =1, Chance =3, Cooldown =27 } }, [3] = { -- Level 3 Amount =math.random(3, 5), Items = { { name ='metalscrap', quantity =math.random(1, 4), chance =35, xp =5 }, { name ='plastic', quantity =math.random(1, 4), chance =25, xp =5 }, { name ='glass', quantity =math.random(1, 4), chance =25, xp =5 }, { name ='rubber', quantity =1, chance =20, xp =10 }, { name ='steel', quantity =math.random(1, 3), chance =15, xp =15 }, { name ='bottle_cap', quantity =1, chance =5, xp =20 }, { name ='lockpick', quantity =math.random(1, 2), chance =5, xp =25 } }, RareItem = { Enable =true, Items = { { name ='ruby_earring_silver', quantity =1, xp =50 } }, Quantity =1, Chance =9, Cooldown =22 } }, [4] = { -- Level 4 Amount =math.random(4, 6), Items = { { name ='metalscrap', quantity =math.random(1, 5), chance =30, xp =5 }, { name ='plastic', quantity =math.random(1, 5), chance =25, xp =5 }, { name ='glass', quantity =math.random(1, 5), chance =20, xp =5 }, { name ='rubber', quantity =1, chance =20, xp =10 }, { name ='steel', quantity =math.random(1, 4), chance =20, xp =15 }, { name ='bottle_cap', quantity =1, chance =10, xp =20 }, { name ='lockpick', quantity =math.random(1, 2), chance =5, xp =25 }, { name ='garbage', quantity =math.random(1, 3), chance =2, xp =2 } }, RareItem = { Enable =true, Items = { { name ='goldearring', quantity =1, xp =150 } }, Quantity =1, Chance =12, Cooldown =18 } }, [5] = { -- Level 5 Amount =math.random(5, 7), Items = { { name ='metalscrap', quantity =math.random(1, 6), chance =25, xp =5 }, { name ='plastic', quantity =math.random(1, 6), chance =20, xp =5 }, { name ='glass', quantity =math.random(1, 6), chance =15, xp =5 }, { name ='rubber', quantity =1, chance =10, xp =10 }, { name ='steel', quantity =math.random(1, 5), chance =15, xp =15 }, { name ='bottle_cap', quantity =1, chance =15, xp =20 }, { name ='lockpick', quantity =math.random(1, 2), chance =10, xp =25 }, { name ='garbage', quantity =math.random(1, 4), chance =2, xp =2 }, { name ='paperbag', quantity =math.random(1, 2), chance =2, xp =3 }, { name ='cleaningkit', quantity =math.random(1, 2), chance =2, xp =8 }, { name ='walkstick', quantity =1, chance =1, xp =15 }, { name ='lighter', quantity =1, chance =1, xp =5 }, { name ='toaster', quantity =math.random(1, 2), chance =1, xp =10 }, { name ='weapon_bottle', quantity =1, chance =1, xp =10 } }, RareItem = { Enable =true, Items = { { name ='antique_coin', quantity =1, xp =150 } }, Quantity =1, Chance =15, Cooldown =15 } } }}-- Defines the search for special "hobo camp" props. -- Models: which prop models are recognized as "hobo camps."-- Cooldown: how many minutes until the same camp can be searched again.-- Loot: per-level loot tables for these camp props.Config.HoboCamps = { Enable =true, -- Enable/Disable the ability to search hobo camps Cooldown =1, -- Cooldown in minutes before a player can loot a camp again Models = { -- Models to be able to target and search for loot"prop_skid_tent_01b","m23_2_prop_m32_tent_01a","prop_skid_tent_cloth","prop_skid_tent_03","prop_skid_tent_01","prop_skid_tent_01b" }, Loot = { -- Loot Table [1] = { -- Level 1 Amount =math.random(2, 3), Items = { { name ='metalscrap', quantity =math.random(1, 2), chance =50, xp =5 }, { name ='plastic', quantity =math.random(1, 2), chance =30, xp =5 }, { name ='glass', quantity =math.random(1, 2), chance =20, xp =5 } }, RareItem = { Enable =true, Items = { { name ='lockpick', quantity =1, xp =50 } }, Quantity =math.random(1, 2), Chance =2, Cooldown =30 } }, [2] = { -- Level 2 Amount =math.random(2, 4), Items = { { name ='metalscrap', quantity =math.random(1, 3), chance =40, xp =5 }, { name ='plastic', quantity =math.random(1, 3), chance =30, xp =5 }, { name ='glass', quantity =math.random(1, 3), chance =20, xp =5 }, { name ='rubber', quantity =1, chance =15, xp =10 }, { name ='steel', quantity =math.random(1, 2), chance =5, xp =15 } }, RareItem = { Enable =true, Items = { { name ='10kgoldchain', quantity =1, xp =50 } }, Quantity =1, Chance =3, Cooldown =27 } }, [3] = { -- Level 3 Amount =math.random(3, 5), Items = { { name ='metalscrap', quantity =math.random(1, 4), chance =35, xp =5 }, { name ='plastic', quantity =math.random(1, 4), chance =25, xp =5 }, { name ='glass', quantity =math.random(1, 4), chance =25, xp =5 }, { name ='rubber', quantity =1, chance =20, xp =10 }, { name ='steel', quantity =math.random(1, 3), chance =15, xp =15 }, { name ='bottle_cap', quantity =1, chance =5, xp =20 }, { name ='lockpick', quantity =math.random(1, 2), chance =5, xp =25 } }, RareItem = { Enable =true, Items = { { name ='ruby_earring_silver', quantity =1, xp =50 } }, Quantity =1, Chance =9, Cooldown =22 } }, [4] = { -- Level 4 Amount =math.random(4, 6), Items = { { name ='metalscrap', quantity =math.random(1, 5), chance =30, xp =5 }, { name ='plastic', quantity =math.random(1, 5), chance =25, xp =5 }, { name ='glass', quantity =math.random(1, 5), chance =20, xp =5 }, { name ='rubber', quantity =1, chance =20, xp =10 }, { name ='steel', quantity =math.random(1, 4), chance =20, xp =15 }, { name ='bottle_cap', quantity =1, chance =10, xp =20 }, { name ='lockpick', quantity =math.random(1, 2), chance =5, xp =25 }, { name ='garbage', quantity =math.random(1, 3), chance =2, xp =2 } }, RareItem = { Enable =true, Items = { { name ='goldearring', quantity =1, xp =150 } }, Quantity =1, Chance =12, Cooldown =18 } }, [5] = { -- Level 5 Amount =math.random(5, 7), Items = { { name ='metalscrap', quantity =math.random(1, 6), chance =25, xp =5 }, { name ='plastic', quantity =math.random(1, 6), chance =20, xp =5 }, { name ='glass', quantity =math.random(1, 6), chance =15, xp =5 }, { name ='rubber', quantity =1, chance =10, xp =10 }, { name ='steel', quantity =math.random(1, 5), chance =15, xp =15 }, { name ='bottle_cap', quantity =1, chance =15, xp =20 }, { name ='lockpick', quantity =math.random(1, 2), chance =10, xp =25 }, { name ='garbage', quantity =math.random(1, 4), chance =2, xp =2 }, { name ='paperbag', quantity =math.random(1, 2), chance =2, xp =3 }, { name ='cleaningkit', quantity =math.random(1, 2), chance =2, xp =8 }, { name ='walkstick', quantity =1, chance =1, xp =15 }, { name ='lighter', quantity =1, chance =1, xp =5 }, { name ='toaster', quantity =math.random(1, 2), chance =1, xp =10 }, { name ='weapon_bottle', quantity =1, chance =1, xp =10 } }, RareItem = { Enable =true, Items = { { name ='antique_coin', quantity =1, xp =150 } }, Quantity =1, Chance =15, Cooldown =15 } } }}-- Default loot tables by level for dumpsters (if no zone overrides).-- Each level table should define:-- Amount = how many random items you draw from the 'Items' array-- Items = table of possible items, each with .name, .quantity, .chance, and optional .xp-- RareItem = optional subtable for special chance-based itemsConfig.DumpsterLoot = { [1] = { -- Level 1 Amount =math.random(2, 3), Items = { { name ='metalscrap', quantity =math.random(1, 2), chance =50, xp =5 }, { name ='plastic', quantity =math.random(1, 2), chance =30, xp =5 }, { name ='glass', quantity =math.random(1, 2), chance =20, xp =5 } }, RareItem = { Enable =true, Items = { { name ='lockpick', quantity =1, xp =50 },-- { name = 'gold_nugget', quantity = math.random(1, 2), xp = 100 },-- { name = 'ancient_coin', quantity = 1, xp = 150 }, }, Quantity =math.random(1, 2), Chance =2, Cooldown =30 } }, [2] = { -- Level 2 Amount =math.random(2, 4), Items = { { name ='metalscrap', quantity =math.random(1, 3), chance =40, xp =5 }, { name ='plastic', quantity =math.random(1, 3), chance =30, xp =5 }, { name ='glass', quantity =math.random(1, 3), chance =20, xp =5 }, { name ='rubber', quantity =1, chance =15, xp =10 }, { name ='steel', quantity =math.random(1, 2), chance =5, xp =15 } }, RareItem = { Enable =true, Items = { { name ='10kgoldchain', quantity =1, xp =50 } }, Quantity =math.random(1, 1), Chance =3, Cooldown =27 } }, [3] = { -- Level 3 Amount =math.random(3, 5), Items = { { name ='metalscrap', quantity =math.random(1, 4), chance =35, xp =5 }, { name ='plastic', quantity =math.random(1