Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Server Printers config settings --
- -- Server printers attempts to check secondary ranks, but depending on your secondary rank system, --
- -- you might have to rewrite the sv_secondaryrank.lua function (very simple function) --
- -- !! Clients also receive this file, so don't write down anything sensitive !! --
- -- !! Don't change the layout of this config menu, change any value but respect their bounds !! --
- -- PRINTERS AND TIERS SETTINGS --
- server_printers = server_printers or {}
- server_printers.cfg = server_printers.cfg or {}
- local cfg = server_printers.cfg
- -- In order to apply live updates when changing these values, you should also refresh the sh_printersconfig.lua
- -- Tier 1 settings
- cfg.Tier1PrintAmount = {30, 35, 40} -- The amount of money it prints PER SECOND, separated per level (for when upgraded)
- cfg.Tier1UpgradeCost = 5000 -- The cost for upgrading a printer, each printer can be upgraded twice
- cfg.Tier1HirePrice = 30000 -- How much it costs to hire this printer (player keeps it until the terminal is removed or the printer gets hacked)
- cfg.Tier1ReqDisplayRank = "User" -- This will be required rank SHOWN on the printer, this variable is used for only that
- cfg.Tier1ReqRank = { -- Server will check if the user has any of these ranks (case-sensitive)
- ["user"] = true,
- ["Vip"] = true,
- ["Vip+"] = true,
- ["superadmin"] = true
- }
- -- Tier 1 colors
- cfg.Tier1ReqRankColor = color_white -- The color of the tier title, 'rainbow' will make it cycle through rainbow colors
- cfg.Tier1TitleColor = Color(255, 255, 0) -- The color of the title (title is "Tier" by default), can be rainbow or any color
- cfg.Tier1NameColor = Color(255, 255, 0) -- The color of the tiers titles themselves (default would be "1", "2", "3" etc.), can be any color or rainbow
- -- Tier 2 settings
- cfg.Tier2PrintAmount = {40, 45, 50}
- cfg.Tier2UpgradeCost = 5000
- cfg.Tier2HirePrice = 40000
- cfg.Tier2ReqDisplayRank = "User"
- cfg.Tier2ReqRank = {
- ["user"] = true,
- ["Vip"] = true,
- ["Vip+"] = true,
- ["superadmin"] = true
- }
- -- Tier 2 colors
- cfg.Tier2ReqRankColor = color_white
- cfg.Tier2TitleColor = Color(255, 255, 0)
- cfg.Tier2NameColor = Color(255, 255, 0)
- -- Tier 3 settings
- cfg.Tier3PrintAmount = {50, 55, 60}
- cfg.Tier3UpgradeCost = 5000
- cfg.Tier3HirePrice = 50000
- cfg.Tier3ReqDisplayRank = "User"
- cfg.Tier3ReqRank = {
- ["user"] = true,
- ["Vip"] = true,
- ["Vip+"] = true,
- ["superadmin"] = true
- }
- -- Tier 3 colors
- cfg.Tier3ReqRankColor = color_white
- cfg.Tier3TitleColor = Color(255, 255, 0)
- cfg.Tier3NameColor = Color(255, 255, 0)
- -- Tier 4 settings
- cfg.Tier4PrintAmount = {60, 70, 80}
- cfg.Tier4UpgradeCost = 10000
- cfg.Tier4HirePrice = 60000
- cfg.Tier4ReqDisplayRank = "User"
- cfg.Tier4ReqRank = {
- ["user"] = true,
- ["Vip"] = true,
- ["Vip+"] = true,
- ["superadmin"] = true
- }
- -- Tier 4 colors
- cfg.Tier4ReqRankColor = color_white
- cfg.Tier4TitleColor = Color(255, 255, 0)
- cfg.Tier4NameColor = Color(255, 255, 0)
- -- Tier 5 settings
- cfg.Tier5PrintAmount = {70, 85, 100}
- cfg.Tier5UpgradeCost = 15000
- cfg.Tier5HirePrice = 70000
- cfg.Tier5ReqDisplayRank = "Vip"
- cfg.Tier5ReqRank = {
- ["Vip"] = true,
- ["Vip+"] = true,
- ["superadmin"] = true
- }
- -- Tier 5 colors
- cfg.Tier5ReqRankColor = Color(255, 0, 250)
- cfg.Tier5TitleColor = Color(255, 255, 0)
- cfg.Tier5NameColor = Color(255, 255, 0)
- -- Tier 6 settings
- cfg.Tier6PrintAmount = {80, 100, 120}
- cfg.Tier6UpgradeCost = 20000
- cfg.Tier6HirePrice = 80000
- cfg.Tier6ReqDisplayRank = "Vip+"
- cfg.Tier6ReqRank = {
- ["Vip+"] = true,
- ["superadmin"] = true
- }
- -- Tier 6 colors
- cfg.Tier6ReqRankColor = "rainbow"
- cfg.Tier6TitleColor = Color(255, 255, 0)
- cfg.Tier6NameColor = Color(255, 255, 0)
- -- Could be anything, Rarity, Level etc (will be shown on the middle monitor)
- cfg.TierTitle = "Tier" -- Any string (recommended to just keep as Tier)
- -- For example, say TierTitle was just Tier (default), and the list is 1, 2, 3, 4, 5, 6, the lowest "Tier" printer would show Tier: 1 and so on
- cfg.TierNames = {"1", "2", "3", "4", "5", "6"} -- Needs 6 strings, no more no less
- -- I recommend going into single player and playing around with these to your liking, or just leave it at default
- cfg.ShowTierTitleInPrinterBoxes = true --- Disable these if TierNames are terms like Emerald or Amazing (applies to the main monitor default view, not the printers submenu)
- -- When enabled, it could look like this "Rarity: Glitched" instead of "Glitched"
- cfg.ShowTierTitleInPrinterActionsMenu = true -- (applies to the printers' submenu title to upgrade/hack/release a printer)
- -- When enabled, it could look like this "Rarity Glitched Printer Actions" instead of "Glitched Printer Actions"
- cfg.FlipTierNameAndTitle = false -- Refresh the init.lua file to change apply live changes (this setting only applies to server side)
- -- When you for example hire a printer, the server says "... hired a Tier 1 printer ..."
- -- Enabling this would reverse it, so it would say "... hired a 1 Tier printer ..."
- -- This is a convenient feature should your TierTitle be like Rarity and your names Flaming, Cursed etc.
- cfg.ReferenceTierTitle = true -- Refresh the init.lua file to change apply live changes (this setting only applies to server side)
- -- Applies the same as FlipTierNameAndTitle, but will just not show the tier title
- -- So for example, hiring a printer, the server says "... hired a 1 printer ..."
- -- This is a convenient feature should your TierNames be like Glitched, Inferno etc.
- -- TERMINAL UPGRADES --
- cfg.EnableTerminalUpgrades = true
- cfg.EnableTerminalHPUpgrades = true
- cfg.TerminalHPUpgradesPrices = { -- The cost for each upgrade
- --["{level}"] = {price}
- [1] = 5000,
- [2] = 10000,
- [3] = 15000
- }
- cfg.TerminalHPUpgradeValues = { -- Can be upgraded 3 times (value is added to default max HP, not overridden!)
- --["{level}"] = {extra_hp}
- [1] = 50,
- [2] = 100,
- [3] = 150
- }
- cfg.TerminalHPMinDisplayRanks = { -- If player is not a valid rank to buy this, the server will tell them the required rank based on the upgrade level (the index)
- -- Ignore if TerminalHPUpgradeRanks is set up to allow everyone (won't error if it gets triggered anyways)
- --["{rank}"] = {max_level}
- [1] = "user",
- [2] = "Vip",
- [3] = "Vip+"
- }
- cfg.TerminalHPUpgradeRanks = { -- Ranks the server will check the user for, the digit is the max upgrade level that rank can achieve
- --["{rank}"] = {max_level}
- ["user"] = 1,
- ["Vip"] = 2,
- ["Vip+"] = 3,
- ["superadmin"] = 3
- }
- -- Behaves the same as TerminalHPUpgrades
- cfg.EnableTerminalBatteryUpgrades = true
- cfg.TerminalBatteryUpgradesPrices = {10000, 25000, 50000} -- How much each individual upgrade costs
- cfg.TerminalBatteryUpgradesValues = {10, 20, 30} -- How much extra battery each upgrade gives
- cfg.TerminalBatteryMinDisplayRanks = {
- [1] = "user",
- [2] = "Vip",
- [3] = "Vip+"
- }
- cfg.TerminalBatteryUpgradeRanks = {
- ["user"] = 1,
- ["Vip"] = 2,
- ["Vip+"] = 3,
- ["superadmin"] = 3
- }
- -- More configurable in the actual code (init.lua), the values will only adjust volume, not range.
- -- Behaves the same as TerminalHPUpgrades
- cfg.EnableTerminalSilencerUpgrade = true
- cfg.TerminalSilencerUpgradePrices = {10000, 15000, 20000} -- How much each individual upgrade costs
- cfg.TerminalSilencerUpgradeValues = {0.9, 0.7, 0.5} -- No more than 1 and no less than 0 (directly multiplied to the default volume value of 1, lower number = less noise)
- cfg.TerminalSilencerMinDisplayRanks = {
- [1] = "user",
- [2] = "Vip",
- [3] = "Vip+"
- }
- cfg.TerminalSilencerUpgradeRanks = {
- ["user"] = 1,
- ["Vip"] = 2,
- ["Vip+"] = 3,
- ["superadmin"] = 3
- }
- -- Behaves the same as TerminalHPUpgrades
- cfg.EnableTerminalVolatileUpgrade = true
- cfg.TerminalVolatileUpgradePrice = 50000
- cfg.TerminalVolatileUpgradeDamage = {100, 150} -- Minimum and maximum damage dealt by the terminals explosion (max damage is rarely ever dealt due to the distance from origin)
- cfg.TerminalVolatileUpgradeRadius = 325 -- The explosion damage radius
- cfg.TerminalVolatileUpgradeDamageOnlyPlayers = false -- Whether the terminals explosion should only harm players
- cfg.TerminalVolatileMinDisplayRank = "Vip+" -- If player is not a valid rank to buy this, the server will tell him that this is the required rank
- cfg.TerminalVolatileUpgradeRanks = {
- ["Vip+"] = 1,
- ["superadmin"] = 1
- }
- -- BATTERY / HEALTH SETTINGS
- cfg.TerminalHP = 250
- cfg.TerminalRepairPrice = 500
- cfg.TerminalBatteryDepletionRate = 36 -- Measured in seconds, every x seconds battery goes down by 1%
- cfg.TerminalRechargePrice = 500
- -- ADMIN OPTIONS --
- --[[
- Admin menu manages the printers currently in circulation
- It contains the following actions:
- - Viewing active terminals
- - Viewing active printers
- - Moving printers
- - Editing printer levels
- - Editing hacked printer durations
- - Removing printers
- All of the options mentioned above will always work, regardless of the state of CanStealPrinters
- ]]--
- cfg.EnableAdminMenu = true
- cfg.CommandToOpenMenu = "!pam" -- PAM = Printers Admin Menu
- cfg.AdminMenuAllowedRanks = { -- Ranks that can access the menu
- --[{rank}] = true/false
- ["superadmin"] = true
- }
- cfg.RefundUponSpawningSecondTerminal = true --Should one, somehow, attempt buy a second terminal with PreventSpawningMultipleTerminals enabled, it will be refunded.
- -- Will not refund if PreventSpawningMultipleTerminals is set to false
- cfg.ColorInLoggingSystem = Color(200, 0, 0) -- The color server printers will show as in bLogs menu (no rainbow)
- cfg.FaultyInteractionFeedback = true -- If players try to do shady stuff (with scripts), it will be printed out in server console
- cfg.PunishOnFaultyInteraction = true -- Automatically punish the player when they try to do impossible things (with scripts), will kick by default
- -- You can change what happens to the player on a faulty interaction, see autorun/server/sv_server_printers_autorun.lua
- -- PRINTERS INTERACTIONS --
- cfg.CanStealPrinters = true
- -- Ignore these settings if CanStealPrinters is false
- -- Players can not hire back stolen printers still owned by another player! (they CAN always hack them back)
- cfg.KeepStolenPrintersLength = 2700 -- How long the user can keep stolen printers, measured in seconds (also the max amount of time a player can be blocked from buying printers)
- cfg.RunCDTimerWhenOnline = true -- The KeepStolenPrintersLength by default gets decreased at all times, but you can set this to not decrease when online
- cfg.RunCDTimerWhenOffline = true -- The KeepStolenPrintersLength by default gets decreased at all times, but you can set this to not decrease when offline
- -- Do not set these to 0, use RunCDTimerWhenOnline/Offline instead!
- -- When the original printer owner leaves, the timers to reset his stolen printers can count slower or faster
- cfg.OwnerOfflineDownwardMultiplier = .75 -- e.g. 0.5 means that the timer will go twice as slow (player will then also have to wait twice as long to buy his printers again)
- -- When original owner is online, the timers to reset his stolen printers can count slower or faster
- cfg.OwnerOnlineDownwardMultiplier = 1
- -- TERMINAL SCREENS SETTINGS --
- -- Disabling a monitor does not remove the ui3d2d on it, it removes the power button so the client can't turn it on
- cfg.EnableLeftMonitor = true -- Enables the left screen, users can choose to turn it on or off
- cfg.LeftMonitorDefaultStage = true -- When spawned in, you can choose whether the monitor is on or off
- cfg.EnableRightMonitor = true
- cfg.RightMonitorDefaultStage = true
- cfg.LogoOnIdle = true -- When a user goes out of range, the monitors turns black and if turned on show your server logo
- cfg.DisabledTerminalLogo = "0kgEvAg" -- When a side monitor is turned off, it can show a logo. Empty string = no log
- -- Upload your logo on imgur, copy the link to the image and take out the ID (Image URL looks like this: https://i.imgur.com/dRnvRZZ.jpeg)
- -- GENERAL TERMINAL SETTINGS --
- -- Withdraw button color (no rainbow)
- cfg.WithdrawButtonColor = Color(0, 150, 0)
- cfg.WithdrawButtonHoverColor = Color(0, 130, 0)
- -- Buy button color (no rainbow)
- cfg.BuyButtonColor = Color(0, 0, 150)
- cfg.BuyButtonHoverColor = Color(0, 0, 100)
- cfg.ForceUnlockTerminalLength = 10 -- Amount of seconds the player has to look at terminal when unlocking a locked terminal they don't own
- cfg.ForceUnlockCheckInterval = 0.5 -- Amount of time between each check to see if player is still looking at terminal (lower = worse performance)
- cfg.TerminalEnableRGB = true
- cfg.TerminalRGBRanks = { -- Ranks that will have RGB terminals (it spawns in with or without RGB automatically)
- ["Vip+"] = true,
- ["superadmin"] = true
- }
- cfg.PreventSpawningMultipleTerminals = true
- cfg.MaxDistanceToTerminalSqr = 8000 -- The maximum distance a player can be from the terminal to be able to interact with it
- cfg.MaxDrawDistanceToTerminalSqr = 25000 -- Max distance a player can be to see the UI of the terminal (will not allow for interaction)
- cfg.DestroyTerminalReward = 7500 -- (set to 0 to disable)
- cfg.RewardOwner = true -- Should the owner receive the reward?
- cfg.JobRewardWhitelist = { -- Must keep the ["*"]
- --"["{job_name}"] = true/false
- ["Civil Protection"] = true,
- ["Mayor"] = true,
- ["*"] = false -- Applies to all jobs not mentioned above
- }
- cfg.WithdrawWhitelist = { -- Must keep the ["*"]
- --"["{job_name}"] = true/false
- ["Citizen"] = false,
- ["Civil Protection"] = false,
- ["Mayor"] = false,
- ["*"] = true -- Applies to all jobs not mentioned above
- }
- cfg.AutoAddToF4 = true
- cfg.TerminalPrice = 75000 -- Price in F4 menu
- cfg.F4JobsWhitelist = { -- Must keep the ["*"]
- --"["{job_name}"] = true/false
- ["Citizen"] = false,
- ["Civil Protection"] = false,
- ["Mayor"] = false,
- ["*"] = true -- Applies to all jobs not mentioned above
- }
- cfg.PreventTerminalPhysicsDamage = true -- Disable if you have prop protection
- -- For every x seconds a terminal is alive, it gains a veterancy level. Said level is multiplied by the veterancy percentage and the terminal will produce x% more money
- -- Live updating this will not immediately apply to active terminals, it works with timers
- cfg.EnableVeterancyBoost = true
- cfg.VeterancyPercentage = 0.05 -- From 0 to infinity, 1 = 100% boost EACH LEVEL (would be VERY overpowered)
- cfg.VeterancyLevelUpDelay = 1800 -- Time it takes to level up veterancy in seconds
- cfg.MaxVeterancyLevel = 10 -- Max level one can reach, each level takes VeterancyLevelUpDelay seconds to achieve
- cfg.LanguageSetting = "english"
- -- Supported languages: 'english', 'dutch', 'french', 'russian' and 'german' (case in-sensitive)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement