Advertisement
MathsCalculator

DarkRP Server Printers - Default Config File

Sep 22nd, 2024 (edited)
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 14.64 KB | None | 0 0
  1. -- Server Printers config settings --
  2.  
  3. -- Server printers attempts to check secondary ranks, but depending on your secondary rank system, --
  4. -- you might have to rewrite the sv_secondaryrank.lua function (very simple function) --
  5.  
  6. -- !! Clients also receive this file, so don't write down anything sensitive !! --
  7. -- !! Don't change the layout of this config menu, change any value but respect their bounds !! --
  8.  
  9.  
  10. -- PRINTERS AND TIERS SETTINGS --
  11. server_printers = server_printers or {}
  12. server_printers.cfg = server_printers.cfg or {}
  13.  
  14. local cfg = server_printers.cfg
  15. -- In order to apply live updates when changing these values, you should also refresh the sh_printersconfig.lua
  16.  
  17. -- Tier 1 settings
  18. cfg.Tier1PrintAmount = {30, 35, 40} -- The amount of money it prints PER SECOND, separated per level (for when upgraded)
  19. cfg.Tier1UpgradeCost = 5000 -- The cost for upgrading a printer, each printer can be upgraded twice
  20. cfg.Tier1HirePrice = 30000 -- How much it costs to hire this printer (player keeps it until the terminal is removed or the printer gets hacked)
  21. cfg.Tier1ReqDisplayRank = "User" -- This will be required rank SHOWN on the printer, this variable is used for only that
  22. cfg.Tier1ReqRank = { -- Server will check if the user has any of these ranks (case-sensitive)
  23.     ["user"] = true,
  24.     ["Vip"] = true,
  25.     ["Vip+"] = true,
  26.     ["superadmin"] = true
  27. }
  28. -- Tier 1 colors
  29. cfg.Tier1ReqRankColor = color_white -- The color of the tier title, 'rainbow' will make it cycle through rainbow colors
  30. cfg.Tier1TitleColor = Color(255, 255, 0) -- The color of the title (title is "Tier" by default), can be rainbow or any color
  31. 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
  32.  
  33. -- Tier 2 settings
  34. cfg.Tier2PrintAmount = {40, 45, 50}
  35. cfg.Tier2UpgradeCost = 5000
  36. cfg.Tier2HirePrice = 40000
  37. cfg.Tier2ReqDisplayRank = "User"
  38. cfg.Tier2ReqRank = {
  39.     ["user"] = true,
  40.     ["Vip"] = true,
  41.     ["Vip+"] = true,
  42.     ["superadmin"] = true
  43. }
  44. -- Tier 2 colors
  45. cfg.Tier2ReqRankColor = color_white
  46. cfg.Tier2TitleColor = Color(255, 255, 0)
  47. cfg.Tier2NameColor = Color(255, 255, 0)
  48.  
  49. -- Tier 3 settings
  50. cfg.Tier3PrintAmount = {50, 55, 60}
  51. cfg.Tier3UpgradeCost = 5000
  52. cfg.Tier3HirePrice = 50000
  53. cfg.Tier3ReqDisplayRank = "User"
  54. cfg.Tier3ReqRank = {
  55.     ["user"] = true,
  56.     ["Vip"] = true,
  57.     ["Vip+"] = true,
  58.     ["superadmin"] = true
  59. }
  60. -- Tier 3 colors
  61. cfg.Tier3ReqRankColor = color_white
  62. cfg.Tier3TitleColor = Color(255, 255, 0)
  63. cfg.Tier3NameColor = Color(255, 255, 0)
  64.  
  65. -- Tier 4 settings
  66. cfg.Tier4PrintAmount = {60, 70, 80}
  67. cfg.Tier4UpgradeCost = 10000
  68. cfg.Tier4HirePrice = 60000
  69. cfg.Tier4ReqDisplayRank = "User"
  70. cfg.Tier4ReqRank = {
  71.     ["user"] = true,
  72.     ["Vip"] = true,
  73.     ["Vip+"] = true,
  74.     ["superadmin"] = true
  75. }
  76. -- Tier 4 colors
  77. cfg.Tier4ReqRankColor = color_white
  78. cfg.Tier4TitleColor = Color(255, 255, 0)
  79. cfg.Tier4NameColor = Color(255, 255, 0)
  80.  
  81. -- Tier 5 settings
  82. cfg.Tier5PrintAmount = {70, 85, 100}
  83. cfg.Tier5UpgradeCost = 15000
  84. cfg.Tier5HirePrice = 70000
  85. cfg.Tier5ReqDisplayRank = "Vip"
  86. cfg.Tier5ReqRank = {
  87.     ["Vip"] = true,
  88.     ["Vip+"] = true,
  89.     ["superadmin"] = true
  90. }
  91. -- Tier 5 colors
  92. cfg.Tier5ReqRankColor = Color(255, 0, 250)
  93. cfg.Tier5TitleColor = Color(255, 255, 0)
  94. cfg.Tier5NameColor = Color(255, 255, 0)
  95.  
  96. -- Tier 6 settings
  97. cfg.Tier6PrintAmount = {80, 100, 120}
  98. cfg.Tier6UpgradeCost = 20000
  99. cfg.Tier6HirePrice = 80000
  100. cfg.Tier6ReqDisplayRank = "Vip+"
  101. cfg.Tier6ReqRank = {
  102.     ["Vip+"] = true,
  103.     ["superadmin"] = true
  104. }
  105. -- Tier 6 colors
  106. cfg.Tier6ReqRankColor = "rainbow"
  107. cfg.Tier6TitleColor = Color(255, 255, 0)
  108. cfg.Tier6NameColor = Color(255, 255, 0)
  109.  
  110. -- Could be anything, Rarity, Level etc (will be shown on the middle monitor)
  111. cfg.TierTitle = "Tier" -- Any string (recommended to just keep as Tier)
  112.  
  113. -- 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
  114. cfg.TierNames = {"1", "2", "3", "4", "5", "6"} -- Needs 6 strings, no more no less
  115.  
  116. -- I recommend going into single player and playing around with these to your liking, or just leave it at default
  117. cfg.ShowTierTitleInPrinterBoxes = true --- Disable these if TierNames are terms like Emerald or Amazing (applies to the main monitor default view, not the printers submenu)
  118. -- When enabled, it could look like this "Rarity: Glitched" instead of "Glitched"
  119.  
  120. cfg.ShowTierTitleInPrinterActionsMenu = true -- (applies to the printers' submenu title to upgrade/hack/release a printer)
  121. -- When enabled, it could look like this "Rarity Glitched Printer Actions" instead of "Glitched Printer Actions"
  122.  
  123. cfg.FlipTierNameAndTitle = false -- Refresh the init.lua file to change apply live changes (this setting only applies to server side)
  124. -- When you for example hire a printer, the server says "... hired a Tier 1 printer ..."
  125. -- Enabling this would reverse it, so it would say "... hired a 1 Tier printer ..."
  126. -- This is a convenient feature should your TierTitle be like Rarity and your names Flaming, Cursed etc.
  127.  
  128. cfg.ReferenceTierTitle = true -- Refresh the init.lua file to change apply live changes (this setting only applies to server side)
  129. -- Applies the same as FlipTierNameAndTitle, but will just not show the tier title
  130. -- So for example, hiring a printer, the server says "... hired a 1 printer ..."
  131. -- This is a convenient feature should your TierNames be like Glitched, Inferno etc.
  132.  
  133.  
  134. -- TERMINAL UPGRADES --
  135.  
  136. cfg.EnableTerminalUpgrades = true
  137.  
  138. cfg.EnableTerminalHPUpgrades = true
  139. cfg.TerminalHPUpgradesPrices = { -- The cost for each upgrade
  140.     --["{level}"] = {price}
  141.     [1] = 5000,
  142.     [2] = 10000,
  143.     [3] = 15000
  144. }
  145. cfg.TerminalHPUpgradeValues = { -- Can be upgraded 3 times (value is added to default max HP, not overridden!)
  146.     --["{level}"] = {extra_hp}
  147.     [1] = 50,
  148.     [2] = 100,
  149.     [3] = 150
  150. }
  151. 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)
  152.     -- Ignore if TerminalHPUpgradeRanks is set up to allow everyone (won't error if it gets triggered anyways)
  153.     --["{rank}"] = {max_level}
  154.     [1] = "user",
  155.     [2] = "Vip",
  156.     [3] = "Vip+"
  157. }
  158. cfg.TerminalHPUpgradeRanks = { -- Ranks the server will check the user for, the digit is the max upgrade level that rank can achieve
  159.     --["{rank}"] = {max_level}
  160.     ["user"] = 1,
  161.     ["Vip"] = 2,
  162.     ["Vip+"] = 3,
  163.     ["superadmin"] = 3
  164. }
  165.  
  166. -- Behaves the same as TerminalHPUpgrades
  167. cfg.EnableTerminalBatteryUpgrades = true
  168. cfg.TerminalBatteryUpgradesPrices = {10000, 25000, 50000} -- How much each individual upgrade costs
  169. cfg.TerminalBatteryUpgradesValues = {10, 20, 30} -- How much extra battery each upgrade gives
  170. cfg.TerminalBatteryMinDisplayRanks = {
  171.     [1] = "user",
  172.     [2] = "Vip",
  173.     [3] = "Vip+"
  174. }
  175. cfg.TerminalBatteryUpgradeRanks = {
  176.     ["user"] = 1,
  177.     ["Vip"] = 2,
  178.     ["Vip+"] = 3,
  179.     ["superadmin"] = 3
  180. }
  181.  
  182. -- More configurable in the actual code (init.lua), the values will only adjust volume, not range.
  183. -- Behaves the same as TerminalHPUpgrades
  184. cfg.EnableTerminalSilencerUpgrade = true
  185. cfg.TerminalSilencerUpgradePrices = {10000, 15000, 20000} -- How much each individual upgrade costs
  186. 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)
  187. cfg.TerminalSilencerMinDisplayRanks = {
  188.     [1] = "user",
  189.     [2] = "Vip",
  190.     [3] = "Vip+"
  191. }
  192. cfg.TerminalSilencerUpgradeRanks = {
  193.     ["user"] = 1,
  194.     ["Vip"] = 2,
  195.     ["Vip+"] = 3,
  196.     ["superadmin"] = 3
  197. }
  198.  
  199. -- Behaves the same as TerminalHPUpgrades
  200. cfg.EnableTerminalVolatileUpgrade = true
  201. cfg.TerminalVolatileUpgradePrice = 50000
  202. 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)
  203. cfg.TerminalVolatileUpgradeRadius = 325 -- The explosion damage radius
  204. cfg.TerminalVolatileUpgradeDamageOnlyPlayers = false -- Whether the terminals explosion should only harm players
  205. cfg.TerminalVolatileMinDisplayRank = "Vip+" -- If player is not a valid rank to buy this, the server will tell him that this is the required rank
  206. cfg.TerminalVolatileUpgradeRanks = {
  207.     ["Vip+"] = 1,
  208.     ["superadmin"] = 1
  209. }
  210.  
  211.  
  212. -- BATTERY / HEALTH SETTINGS
  213.  
  214. cfg.TerminalHP = 250
  215. cfg.TerminalRepairPrice = 500
  216.  
  217. cfg.TerminalBatteryDepletionRate = 36 -- Measured in seconds, every x seconds battery goes down by 1%
  218. cfg.TerminalRechargePrice = 500
  219.  
  220.  
  221. -- ADMIN OPTIONS --
  222.  
  223. --[[
  224.     Admin menu manages the printers currently in circulation
  225.     It contains the following actions:
  226.     - Viewing active terminals
  227.     - Viewing active printers
  228.     - Moving printers
  229.     - Editing printer levels
  230.     - Editing hacked printer durations
  231.     - Removing printers
  232.  
  233.     All of the options mentioned above will always work, regardless of the state of CanStealPrinters
  234. ]]--
  235.  
  236. cfg.EnableAdminMenu = true
  237. cfg.CommandToOpenMenu = "!pam" -- PAM = Printers Admin Menu
  238. cfg.AdminMenuAllowedRanks = { -- Ranks that can access the menu
  239.     --[{rank}] = true/false
  240.     ["superadmin"] = true
  241. }
  242.  
  243. cfg.RefundUponSpawningSecondTerminal = true --Should one, somehow, attempt buy a second terminal with PreventSpawningMultipleTerminals enabled, it will be refunded.
  244. -- Will not refund if PreventSpawningMultipleTerminals is set to false
  245.  
  246. cfg.ColorInLoggingSystem = Color(200, 0, 0) -- The color server printers will show as in bLogs menu (no rainbow)
  247. cfg.FaultyInteractionFeedback = true -- If players try to do shady stuff (with scripts), it will be printed out in server console
  248. cfg.PunishOnFaultyInteraction = true -- Automatically punish the player when they try to do impossible things (with scripts), will kick by default
  249. -- You can change what happens to the player on a faulty interaction, see autorun/server/sv_server_printers_autorun.lua
  250.  
  251.  
  252. -- PRINTERS INTERACTIONS --
  253.  
  254. cfg.CanStealPrinters = true
  255.  
  256. -- Ignore these settings if CanStealPrinters is false
  257. -- Players can not hire back stolen printers still owned by another player! (they CAN always hack them back)
  258. 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)
  259.  
  260. cfg.RunCDTimerWhenOnline = true -- The KeepStolenPrintersLength by default gets decreased at all times, but you can set this to not decrease when online
  261.  
  262. cfg.RunCDTimerWhenOffline = true -- The KeepStolenPrintersLength by default gets decreased at all times, but you can set this to not decrease when offline
  263.  
  264. -- Do not set these to 0, use RunCDTimerWhenOnline/Offline instead!
  265. -- When the original printer owner leaves, the timers to reset his stolen printers can count slower or faster
  266. 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)
  267. -- When original owner is online, the timers to reset his stolen printers can count slower or faster
  268. cfg.OwnerOnlineDownwardMultiplier = 1
  269.  
  270.  
  271. -- TERMINAL SCREENS SETTINGS --
  272.  
  273. -- Disabling a monitor does not remove the ui3d2d on it, it removes the power button so the client can't turn it on
  274.  
  275. cfg.EnableLeftMonitor = true -- Enables the left screen, users can choose to turn it on or off
  276. cfg.LeftMonitorDefaultStage = true -- When spawned in, you can choose whether the monitor is on or off
  277.  
  278. cfg.EnableRightMonitor = true
  279. cfg.RightMonitorDefaultStage = true
  280.  
  281. cfg.LogoOnIdle = true -- When a user goes out of range, the monitors turns black and if turned on show your server logo
  282. cfg.DisabledTerminalLogo = "0kgEvAg" -- When a side monitor is turned off, it can show a logo. Empty string = no log
  283. -- 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)
  284.  
  285.  
  286. -- GENERAL TERMINAL SETTINGS --
  287.  
  288. -- Withdraw button color (no rainbow)
  289. cfg.WithdrawButtonColor = Color(0, 150, 0)
  290. cfg.WithdrawButtonHoverColor = Color(0, 130, 0)
  291.  
  292. -- Buy button color (no rainbow)
  293. cfg.BuyButtonColor = Color(0, 0, 150)
  294. cfg.BuyButtonHoverColor = Color(0, 0, 100)
  295.  
  296. cfg.ForceUnlockTerminalLength = 10 -- Amount of seconds the player has to look at terminal when unlocking a locked terminal they don't own
  297. cfg.ForceUnlockCheckInterval = 0.5 -- Amount of time between each check to see if player is still looking at terminal (lower = worse performance)
  298.  
  299. cfg.TerminalEnableRGB = true
  300. cfg.TerminalRGBRanks = {  -- Ranks that will have RGB terminals (it spawns in with or without RGB automatically)
  301.     ["Vip+"] = true,
  302.     ["superadmin"] = true
  303. }
  304.  
  305. cfg.PreventSpawningMultipleTerminals = true
  306. cfg.MaxDistanceToTerminalSqr = 8000 -- The maximum distance a player can be from the terminal to be able to interact with it
  307. cfg.MaxDrawDistanceToTerminalSqr = 25000 -- Max distance a player can be to see the UI of the terminal (will not allow for interaction)
  308.  
  309. cfg.DestroyTerminalReward = 7500 -- (set to 0 to disable)
  310. cfg.RewardOwner = true -- Should the owner receive the reward?
  311. cfg.JobRewardWhitelist = { -- Must keep the ["*"]
  312.     --"["{job_name}"] = true/false
  313.     ["Civil Protection"] = true,
  314.     ["Mayor"] = true,
  315.     ["*"] = false -- Applies to all jobs not mentioned above
  316. }
  317.  
  318. cfg.WithdrawWhitelist = { -- Must keep the ["*"]
  319.     --"["{job_name}"] = true/false
  320.     ["Citizen"] = false,
  321.     ["Civil Protection"] = false,
  322.     ["Mayor"] = false,
  323.     ["*"] = true -- Applies to all jobs not mentioned above
  324. }
  325.  
  326. cfg.AutoAddToF4 = true
  327. cfg.TerminalPrice = 75000 -- Price in F4 menu
  328. cfg.F4JobsWhitelist = { -- Must keep the ["*"]
  329.     --"["{job_name}"] = true/false
  330.     ["Citizen"] = false,
  331.     ["Civil Protection"] = false,
  332.     ["Mayor"] = false,
  333.     ["*"] = true -- Applies to all jobs not mentioned above
  334. }
  335.  
  336. cfg.PreventTerminalPhysicsDamage = true -- Disable if you have prop protection
  337.  
  338. -- 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
  339. -- Live updating this will not immediately apply to active terminals, it works with timers
  340. cfg.EnableVeterancyBoost = true
  341. cfg.VeterancyPercentage = 0.05 -- From 0 to infinity, 1 = 100% boost EACH LEVEL (would be VERY overpowered)
  342. cfg.VeterancyLevelUpDelay = 1800 -- Time it takes to level up veterancy in seconds
  343. cfg.MaxVeterancyLevel = 10 -- Max level one can reach, each level takes VeterancyLevelUpDelay seconds to achieve
  344.  
  345. cfg.LanguageSetting = "english"
  346. -- Supported languages: 'english', 'dutch', 'french', 'russian' and 'german' (case in-sensitive)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement