config.lua
Copy
Config, Seconds, Minutes, Hours = {}, 1000, 60000, 3600000 -- Do not touch
-- Use only if needed, directed by support or know what you're doing
-- Notice: enabling debug features can significantly increase resmon
-- And should always be disabled in production unless otherwise needed
Config.Debug = false
-- Do you want to be notified via server console if an update is available?
-- True if yes, false if no
Config.VersionCheck = true
-- Select your context menu below
-- Available options are: 'lation_ui', 'ox_lib', 'esx' or 'qb'
Config.Menu = 'ox_lib'
-- Target system - options are: 'ox_target', 'qb-target', 'qtarget', 'custom' & 'none'
-- 'custom' needs to be added to client/functions.lua
-- If 'none' then TextUI is used instead of targeting
Config.Target = 'none'
-- Set your progress bar system below
-- Available options are: 'lation_ui', 'ox_lib', 'qbcore' & 'custom'
-- 'custom' needs to be added to client/functions.lua
-- Any custom progress bar must also support animations
Config.Progress = 'ox_lib'
-- Notification system - options are: 'lation_ui', 'ox_lib', 'esx', 'qb', 'okok', 'sd-notify', 'wasabi_notify' & 'custom'
-- 'custom' needs to be added to client/functions.lua
Config.Notify = 'ox_lib'
-- The below is only used if Config.Target = 'none'
-- This will be the key used for interactions if no target is set
-- More options here: https://docs.fivem.net/docs/game-references/controls/
Config.InteractKey = 38 -- E
-- How do you want to notify users their money is ready (when using the warehouse)?
-- You can set your phone system below or set to 'none' to use a default alert
-- Options: 'qb-phone', 'npwd', 'qs-smartphone', 'qs-smartphonepro', 'lb-phone', 'gksphone', 'yseries', 'custom' or 'none'
-- If 'custom' you will have to configure your event(s) via client & server functions.lua
-- If 'none' then it will use a default alert dialog from ox_lib
Config.Phone = 'none'
-- Customize how you want players to begin money laundering
Config.Start = {
-- If spawnPed = true, the main starting NPC will be spawned as normal
-- If false, there will be no starting NPC at all
-- This option exists for those who want to handle where
-- When and how to open the main menu via exports, etc
spawnPed = true,
-- If enabled, the NPC spawned from above will be spawned randomly
-- At only one of the locations listed. If false, the ped will spawn
-- Normally at all the locations listed below
randomizeSpawn = false,
-- The "require" option below is for requiring a specific item to
-- Interact with/begin the money laundering process with the starting ped
-- If you want to require an item, set require to true and set item below
require = false,
-- If require = true, then what item do you want to require?
-- If require = false, this can be ignored
-- If you want the item removed, set remove = true & if not, remove = false
item = { name = 'water', quantity = 1, remove = false },
-- Render is the distance a player must be within to the starting ped
-- In order for it to spawn, outside this radius and the ped is deleted
-- Until it is needed again
render = 75,
-- If we're spawning a ped (or peds), what model is the ped?
-- You can find more here: https://docs.fivem.net/docs/game-references/ped-models/
model = 'g_m_importexport_01',
-- Below is where the ped (or peds) will spawn
-- Be sure to use vector4 coordinates
locations = {
vec4(138.6853, 270.6841, 109.9740, 73.0269),
-- Add more spawns here if desired
}
}
-- Customize your police related settings below
Config.Police = {
-- List your police jobs below
jobs = { 'police', 'sheriff' },
-- Do you want to require police be online to start laundering?
-- If true, this only applies to ped contracts, not the warehouse
require = false,
-- If require = true above, how many must be online?
count = 3,
-- Do you want to allow players with the police job access to the
-- Warehouse, ignoring all requirements such as level, key, etc?
warehouseAccess = true,
-- Do you want to enable police dispatch alerts? Police will only be
-- Notified upon a player being rejected - so Config.Reject.enable must
-- Be true to use this feature
enableDispatch = false,
-- If enableDispatch = true, what dispatch system do you use? Available
-- Options are: 'linden_outlawalert', 'cd_dispatch', 'ps-dispatch', 'qs-dispatch',
-- 'core_dispatch', 'rcore_dispatch', 'aty_dispatch' & 'custom'
-- 'custom' must be manually added in client/functions.lua
dispatchSystem = 'none'
}
-- Customize item spawn names here if needed
Config.Items = {
key = 'warehouse_key',
uncountedMoney = 'uncounted_money'
}
-----------------------------------------------------------------
-- ⛔ QBCore Users: IMPORTANT - PLEASE READ CAREFULLY BELOW ⛔
-----------------------------------------------------------------
-- The options below are vitally important to ensure things work
-- The way you wish them to work. Read carefully and set your options
Config.QBCore = {
-- If your dirty money item (markedbills or similar) uses metadata
-- (metadata meaning a "worth" or "value" when you hover over the item)
-- Then ensure you have metadata set to true! If false, it will count
-- Your dirty money item as 1:1, so 1 markedbills item will equal $1
metadata = true,
-- If you use metadata, do you want to count (add) up the total value
-- Of all dirty money found in the inventory? If so, set to true
-- If false, it'll only consider the first dirty money item found
-- In the inventory and work one bag at a time (not add up total)
countTotal = true,
-- If you use metadata, do you want to simply clean the entire items
-- Value? For example, if a player has a markedbills value of $100
-- Or $10,000, it don't matter, it'll clean whatever the total value is
-- If countTotal = true then it'll clean everything found in inventory
takeAll = false,
-- If you don't use metadata, but want the laundering script to assign
-- Values itself to your dirty money item (or items), you can do so here
-- By setting hardValues = true and listing your items values below
-- This option will completely ignore any worth or values already existing
-- For example, if you want markedbills to always be worth $500 each
hardValues = false,
-- List your items below you want to hard-assign values too
-- Be sure to follow the format below
items = {
['markedbills'] = 500,
-- ['cashrolls'] = 250,
-- Add more items here following the same format above
}
}
-- Vehicle related options when starting a new contract mission
Config.Vehicle = {
-- When a player starts a new contract run, do you want
-- To spawn a vehicle for them to use?
spawn = true,
-- If spawning a vehicle, do you want to teleport (warp)
-- The player directly into the vehicle's driver seat?
teleport = true,
-- If spawning a vehicle, how much fuel should the vehicle
-- Be spawned with? Be sure to use a float value! That simply
-- Means to include a .0 on whatever number you set here
fuel = 85.0,
-- If spawning a vehicle, what model should be spawned?
models = { 'baller3', 'fugitive' },
-- If you add multiple models to the list above you can
-- Set random = true to randomly select a model from the list
random = true,
-- Do you want to require the player pay for the vehicle that
-- Is being supplied for them to use if spawn = true?
requireDeposit = true,
-- If requireDeposit is true, how much should it cost?
depositPrice = 500,
-- When a player ends their contracts runs, should we
-- Return their deposit? The vehicle must be returned
-- At the initial starting location in the main menu
returnDeposit = true,
-- If returnDeposit is true, how much should we give back?
depositReturn = 250,
-- If requireDeposit is true, what account do you want to use
-- To pay for the rental and return deposit? (cash or bank)
account = 'cash',
-- If spawning a vehicle, where should the vehicle spawn?
-- If you have multiple starting ped locations, ensure you
-- Have a location for the vehicle to spawn at each location
-- The script will automatically detect which location to spawn
-- The vehicle at based on the location of the player
locations = {
vec4(125.9180, 278.1013, 109.9004, 249.8953),
-- Add more locations here if necessary
}
}
-- Customize your rejection settings here
-- Rejection is the ability for a ped to reject a player during cleaning
-- You can customize the rejection chance per level below (Config.Levels)
Config.Reject = {
-- Do you want to enable rejections? If true, a player can be rejected
-- Based on the chance set in their respective level. If false a player
-- Will never be rejected (unless they don't have enough money, of course)
enable = true,
-- If rejections are enabled, do you want to allow missions to continue
-- As normal after a rejection? Set to true if so. If you want missions
-- To end after a rejection, set continue to false
continue = true
}
-- Customize all warehouse related options below
Config.Warehouse = {
-- Below is the level the player unlocks the use of the warehouse
unlockAt = 5,
-- By default, when a player reaches the level to unlock use of the
-- Warehouse then they are no longer able to run contracts like previous
-- Levels. However, if you wish to allow them the option of both, you
-- Can set allowContracts to true
allowContracts = false,
-- The option below allows you to customize who can and who cannot enter
-- and use the warehouse. If requireLvl is true, then it requires the player
-- Attempting to enter be the correct level (unlockAt). If set to false,
-- Anyone can enter (and use) as long as they have the key required to enter
requireLvl = true,
-- If you want to require the player to purchase the warehouse key
-- Ensure requirePurchase is set to true. If set to false, the key will
-- Be given to the player for free
requirePurchase = true,
-- If requirePurchase is set to true above, how much does the key cost?
-- If requirePurchase is false, this can be ignored
price = 2500,
-- If requirePurchase is set to true above, what account is used to
-- Purchase the key? Options are 'bank' and 'cash' - if requirePurchase
-- Is false, this can also be ignored
account = 'cash',
-- When a player unlocks use of the warehouse, do you want to create a
-- Blip showing the location to enter the warehouse?
showBlip = true,
-- Below is the location at which the players are able to enter the warehouse
-- This is also the same location the blip will be displayed if enabled
enterAt = vec4(1142.6859, -986.6674, 45.9059, 96.6889),
-- exitAt is the coords the player will be teleported too upon entering
-- It will also be the same point at which the player will exit the warehouse
-- And they will then be teleported back to enterAt
exitAt = vec4(1138.0872, -3199.1570, -39.6657, 181.2139),
-- Rotate is the amount of degrees to turn the player upon exit and entry
-- To ensure the player is facing the correct direction when teleported
rotate = 180,
-- If you are using a custom location and it is an MLO, be sure to set
-- isMLO to true, which will disable the usage of enter/exit points, etc
isMLO = false,
-- Duration is how long in hours, minutes + seconds it takes to complete a washing
-- Cycle for money before it is ready to be picked up and counted. This can be as
-- Long as you desire - the script will save the time remaining upon server
-- Restarts and player logout events and pick back up wherever they left off at
duration = 1 * Hours + 25 * Minutes + 30 * Seconds,
-- Below is the location of the washing machine at which players can use
-- To put dirty money in to begin the washing process
washer = {
coords = vec3(1122.4, -3193.5, -40.35), -- The location of the washing machine itself
size = vec3(1.7, 4.35, 2.1), -- The size of the zone around the washer (for TextUI only)
rotation = 0, -- The rotation of the zone (for TextUI only)
debug = false, -- Enable or disable zone debugging (visual display, for TextUI only)
},
-- Below is the configurations for each money counting machine
counters = {
[1] = {
coords = vec3(1116.0024, -3194.9362, -40.5910), -- The location of the counting machine itself
size = vec3(3.2, 1.0, 1.8), -- The size of the zone around the machine (for TextUI only)
rotation = 0, -- The rotation of the zone (for TextUI only)
radius = 0.35, -- The size of the radius around the machine (for targeting only)
offset = vec3(0.6327, 0.0385, -0.8101), -- The offset from the machine where chair spawns & player sits
heading = 88.88, -- The direction the player is facing when counting money
debug = false -- Enable or disable zone debugging (visual display, for TextUI only)
},
[2] = {
coords = vec3(1116.0164, -3196.2717, -40.5917),
size = vec3(3.2, 1.0, 1.8),
rotation = 0,
radius = 0.35,
offset = vec3(0.5997, 0.0329, -0.8074),
heading = 88.88,
debug = false
},
-- Add more here as needed or desired
-- Note: this does not spawn the money counter, just makes one that exists interactable
-- Be sure to follow the same format as above
},
-- Set your money washing & counting limits below
limits = {
washing = {
-- Minimum amount that can be washed in one cycle
min = 500,
-- Maximum amount that can be washed in one cycle
-- (To change mission/contract limits go to Config.Levels)
max = 25000
},
counting = {
-- Set the minimum amount of money a player can count in one sitting
min = 0,
-- Set the maximum amount of money a player can count in one sitting
max = 15000,
-- Interval is how much money equals one full animation to play
-- For example, if a player is counting $5,000 uncounted_money
-- And the interval is set to 2500, that means it will play 2 times
-- If counting $10,000 then it will play 4 times, so on and so forth
-- Because it will play once for every $2,500 in money being counted
interval = 2500
}
},
-- While a player is counting money, below are what keys/actions are disabled
-- During the animation. Find more here: https://docs.fivem.net/docs/game-references/controls/
-- You can also use empty functions StartedCounting & StoppedCounting
-- Found in client/functions.lua for further control/integration
disable = {
200, -- ESC / pause menu
36, -- Left CTRL / duck
-- Add or remove as you wish
},
-- ConvertTo below is what we are converting our uncounted_money too
-- When the user has completed the counting process. By default this is
-- Cash, but can be set to 'cash' or 'bank'
convertTo = 'cash'
}
-- Customize the leveling system below
Config.Levels = {
[1] = { -- Level 1
-- The dirty money item used at level 1
dirtyMoney = 'markedbills',
-- Tax rate is how much dirty money is lost during the cleaning process
-- For example, a 25% tax rate means the player will receive $750 clean
-- Cash for $1,000 dirty
taxRate = 25,
-- The clean options below are the minimum and maximum amounts each ped
-- Will clean in one contract. The ped will randomly select an amount
-- Between these two values and offer to clean that amount
clean = { min = 500, max = 1000 },
-- AddXP is how much experience is rewarded per cleaning contract
-- This is where you can adjust how fast or slow leveling is
addXP = 1000,
-- If negotiations are enabled, this is the percentage chance a
-- Players negotiation is accepted
negotiateChance = 60,
-- If negotiations are enabled and the ped successfully accepts
-- This is how much the cleaning amount offered is increased
-- This is a percentage, so 25 means 25% boost ($1000 offer becomes $1250)
multiplier = 25,
-- If Config.Reject.enable is true, RejectChance is the percentage
-- chance a player gets rejected during cleaning contracts at this level
rejectChance = 20
},
[2] = { -- Level 2
dirtyMoney = 'markedbills',
taxRate = 20,
clean = { min = 750, max = 1500 },
addXP = 500,
negotiateChance = 70,
multiplier = 50,
rejectChance = 15
},
[3] = { -- Level 3
dirtyMoney = 'markedbills',
taxRate = 15,
clean = { min = 1000, max = 2000 },
addXP = 250,
negotiateChance = 80,
multiplier = 75,
rejectChance = 10
},
[4] = { -- Level 4
dirtyMoney = 'markedbills',
taxRate = 10,
clean = { min = 1500, max = 3000 },
addXP = 125,
negotiateChance = 90,
multiplier = 100,
rejectChance = 5
},
[5] = { -- Level 5
dirtyMoney = 'markedbills',
taxRate = 5,
-- (To change warehouse washing limits go to Config.Warehouse.limits.washing)
clean = { min = 2000, max = 10000 },
-- When a player achieves the final level, no more XP is gained
-- No matter what is in addXP below
addXP = 1,
-- At the final level, by default level 5, the options below
-- negotiateChance, multiplier & rejectChance are only used
-- If allowContracts above is true, otherwise don't matter
negotiateChance = 95,
multiplier = 125,
rejectChance = 0
},
-- Add or remove levels with custom options however you wish!
-- Be sure to follow the correct format and increment numbers correctly
}
-- This is the amount of experience that must be earned between
-- Each level. For example, from level 1 to level 2 you must gain
-- 100,000 XP. Same goes for level 2 to level 3. To customize how
-- Fast or slow the leveling happens between levels, it's best
-- to simply adjust "addXP" above for each level, not this
Config.LevelUp = 100000
-- If you want to allow players the ability to negotiate with the ped
-- The amount of money they are offering to clean for a chance at a
-- Higher amount, set to true. If not, set to false. You can customize
-- The chances at which players are successful above in Config.Levels
Config.AllowNegotiations = true
-- Customize how you wants your blips to display
Config.Blips = {
start = { -- The ped location(s) to start cleaning money
enabled = true, -- Do you want blip(s) showing where to start money laundering?
sprite = 47, -- Sprite ID: https://docs.fivem.net/docs/game-references/blips/
color = 0, -- Color: https://docs.fivem.net/docs/game-references/blips/#blip-colors
scale = 0.8, -- Size of the blip on the map
label = 'Money Laundering' -- Blip name/label
},
contracts = { -- Blip used when washing money with various peds
sprite = 500,
color = 2,
scale = 0.8,
label = 'Money Contract'
},
warehouse = { -- Blip used for the warehouse location if enabled
sprite = 473,
color = 17,
scale = 0.8,
label = 'Warehouse'
}
}
-- Manage all animations used here
Config.Animations = {
accept = {
label = 'Making deal..',
duration = 5000,
position = 'bottom',
useWhileDead = false,
canCancel = true,
disable = { move = true, car = true, combat = true },
anim = { dict = 'missfam4', clip = 'base' },
prop = { model = `p_amb_clipboard_01`, bone = 36029, pos = vec3(0.160, 0.080, 0.100), rot = vec3(-130.00, -50.00, 0.00) }
},
negotiate = {
label = 'Negotiating..',
duration = 6000,
position = 'bottom',
useWhileDead = false,
canCancel = true,
disable = { move = true, car = true, combat = true },
anim = { dict = 'misscarsteal4@actor', clip = 'actor_berating_loop' },
prop = { }
},
wash = {
duration = 1500,
anim = { dict = 'missfbi_s4mop', clip = 'put_down_bucket' }
},
count = {
anim = { dict = 'anim@amb@business@cfm@cfm_counting_notes@', clip = 'note_counting_counter' },
props = {
chair = 'v_corp_cd_chair',
briefcase = 'prop_cash_case_02',
cash = 'bkr_prop_money_sorted_01',
cashWrapped = 'bkr_prop_money_wrapped_01'
}
}
}
-- Various locations at which NPCs will spawn during contracts
Config.Locations = {
vec4(130.2, -1274.99, 29.24, 0.0),
vec4(162.11, -1268.32, 29.24, 160.62),
vec4(161.79, -1286.42, 29.23, 110.34),
vec4(339.17, -1263.60, 31.96, 74.82),
vec4(306.83, -1246.18, 29.57, 08.58),
vec4(343.40, -1190.28, 29.31, 164.21),
vec4(109.19, -1804.54, 26.50, 179.38),
vec4(524.42, -1831.14, 28.28, 249.49),
vec4(959.98, -2373.81, 30.50, 0.0),
vec4(1062.27, -2408.46, 29.97, 92.5),
vec4(1140.85, -2332.80, 31.34, 166),
vec4(1126.36, -2096.35, 31.08, 278.05),
vec4(990.39, -1791.78, 31.63, 181.86),
vec4(1010.55, -1778.92, 31.42, 83.75),
vec4(977.90, -1708.98, 30.09, 87.52),
vec4(990.39, -1660.08, 29.44, 0.0),
vec4(980.86, -1383.56, 31.54, 29.47),
vec4(935.19, -1520.58, 31.06, 0.0),
vec4(998.07, -1489.55, 31.41, 278.1),
vec4(925.84, -1483.28, 30.11, 50.98),
vec4(886.78, -1516.57, 30.18, 223.01),
vec4(886.59, -1584.52, 30.95, 261.39),
vec4(536.46, -1650.18, 29.26, 259.47),
vec4(491.19, -1705.30, 29.35, 325.47),
vec4(353.25, -1850.11, 27.71, 217.45),
vec4(201.78, -2002.96, 18.86, 234),
vec4(-592.01, -1767.25, 23.18, 235.15),
vec4(-1110.98, -1046.5, 2.153, 214.28),
vec4(1064.63, -2407.89, 29.98, 106.59),
vec4(1078.87, -2443.25, 29.44, 89.69),
vec4(953.97, -2529.31, 28.30, 171.31),
vec4(402.26, -2188.63, 5.917, 243.06),
vec4(-353.99, -1490.89, 30.26, 142.04),
vec4(-312.45, -1342.49, 31.32, 42.24),
vec4(-342.67, -899.03, 31.07, 210.86),
vec4(-317.44, -772.25, 33.96, 28.59),
vec4(-241.84, -785.30, 30.45, 71.82),
vec4(-203.62, -758.88, 30.45, 196.89),
vec4(-222.69, -641.03, 33.39, 142),
vec4(66.48, -266.27, 48.18, 214.91),
vec4(117.78, -265.57, 46.33, 114.95),
vec4(133.96, -258.22, 46.33, 118.89),
vec4(169.79, -279.18, 50.27, 297.43),
vec4(475.16, -105.43, 63.15, 190.25),
vec4(741.29, 140.41, 80.76, 188.99),
vec4(777.54, 210.96, 83.64, 158.28),
vec4(955.28, -194.77, 73.20, 229.43),
vec4(960.85, -210.85, 73.21, 37.49),
vec4(974.39, -192.00, 73.20, 37.49),
vec4(966.46, -203.89, 76.25, 249.08),
vec4(955.76, -195.02, 79.29, 143.23),
vec4(791.53, -102.66, 82.03, 335.53),
vec4(820.06, -124.38, 80.22, 296.63),
vec4(501.94, -612.38, 24.75, 280.33),
vec4(460.75, -698.17, 27.42, 41.48),
vec4(367.92, -776.74, 29.26, 95.15),
vec4(378.51, -900.16, 29.41, 197.58),
vec4(-3.72, -1086.34, 26.67, 65.54),
vec4(-17.60, -1037.06, 28.90, 0.0),
vec4(45.53, -1011.18, 29.52, 109.67),
vec4(2.23, -1024.41, 28.96, 103.56),
vec4(-771.69, -1028.13, 14.13, 254.41),
vec4(-661.76, -710.01, 26.89, 193.05),
vec4(-617.15, -683.27, 32.23, 222.4),
vec4(-584.07, -698.28, 31.23, 176.97),
vec4(-577.70, -676.53, 36.28, 125.32),
vec4(-592.16, -751.90, 36.28, 4.41),
vec4(-594.46, -748.81, 29.48, 225.83),
vec4(-574.89, -800.02, 30.68, 40.03),
vec4(-590.54, -797.30, 26.04, 223.14),
vec4(-1000.58, -945.72, 2.15, 160.51),
vec4(-1055.29, -971.06, 2.00, 198.95),
vec4(-1072.79, -988.20, 2.15, 249.84),
vec4(-1044.78, -1168.74, 2.15, 302.46),
vec4(-1083.22, -1140.00, 2.15, 250.54),
vec4(-1122.34, -1237.42, 3.17, 295.03),
vec4(-1112.39, -1258.41, 6.65, 65.14)
}
-- Various NPC models that will be used as the contract NPCs
Config.Models = {
'a_m_m_afriamer_01',
'u_m_m_aldinapoli',
's_m_y_ammucity_01',
's_m_m_ammucountry',
'u_m_y_antonb',
'csb_anton',
'g_m_m_armboss_01',
'g_m_m_armgoon_01',
'g_m_y_armgoon_02',
'g_m_m_armlieut_01',
'ig_ashley',
'cs_ashley',
's_m_y_autopsy_01',
's_m_m_autoshop_01',
's_m_m_autoshop_02',
'ig_money',
'csb_money',
'g_m_y_azteca_01',
'u_m_y_babyd',
'g_m_y_ballaeast_01',
'g_m_y_ballaorig_01',
'g_f_y_ballas_01',
'ig_ballasog',
'csb_ballasog',
'g_m_y_ballasout_01',
's_m_y_barman_01',
's_f_y_bartender_01',
'u_m_y_baygor',
's_f_y_baywatch_01',
's_m_y_baywatch_01',
'a_f_m_beach_01',
'a_f_y_beach_01',
'a_m_m_beach_01',
'a_m_o_beach_01',
'a_m_y_beach_01',
'a_m_m_beach_02',
'a_m_y_beach_02',
'a_m_y_beach_03',
'a_m_y_beachvesp_01',
'a_m_y_beachvesp_02',
'ig_benny',
'ig_beverly',
'cs_beverly',
'a_f_m_bevhills_01',
'a_f_y_bevhills_01',
'a_m_m_bevhills_01',
'a_m_y_bevhills_01',
'a_f_m_bevhills_02',
'a_f_y_bevhills_02',
'a_m_m_bevhills_02',
'a_m_y_bevhills_02',
'a_f_y_bevhills_03',
'a_f_y_bevhills_04',
'u_m_m_bikehire_01',
'u_f_y_bikerchic',
'a_m_y_breakdance_01',
'u_m_y_burgerdrug_01',
'csb_burgerdrug',
's_m_y_busboy_01',
'u_m_m_rivalpap',
'a_m_y_roadcyc_01',
's_m_y_robber_01',
'ig_roccopelosi',
'csb_roccopelosi',
'a_f_y_runner_01',
'a_m_y_runner_01',
'a_m_y_runner_02',
'a_f_y_rurmeth_01',
'a_m_m_rurmeth_01',
'ig_russiandrunk',
'cs_russiandrunk',
'a_f_m_salton_01',
'a_f_o_salton_01',
'a_m_m_salton_01',
'a_m_o_salton_01',
'a_m_y_salton_01',
'a_m_m_salton_02',
'a_m_m_salton_03',
'a_m_m_salton_04',
'g_m_y_salvaboss_01',
'g_m_y_salvagoon_01',
'g_m_y_salvagoon_02',
'g_m_y_salvagoon_03',
'a_m_y_vinewood_04',
}
