· 5 years ago · Apr 05, 2020, 09:48 AM
1elegant_printers.config = {
2--[[
3 These are the default values that will be used for each printer.
4]]
5
6--[[
7 DarkRP custom entity values
8
9 You can also use the other values! https://wiki.darkrp.com/index.php/DarkRP:CustomEntityFields
10 as well as whatever custom fields your addons make use of.
11]]
12-- example:
13-- customCheck = function(ply) end,
14-- This will get run just like if you added the "spawn" field in DarkRP.createEntity!
15
16 PrintName = "Default Money Printer",
17-- The name of the money printer that will be displayed in messages and the F4 menu
18
19 price = 1000,
20-- The price of a default printer.
21
22 max = math.huge,
23-- By default, you can have any number of printers you want at once. (math.huge = BASICALLY INFINITE)
24-- If you set this to a number, you will be limited in the amount of printers you can simultaneously own!
25
26 GlobalMax = math.huge,
27-- Maximum amounts of printers you can have at once, regardless of their tier.
28
29 SeizeReward = 10000,
30-- The amount of money a cop will receive upon seizing a printer. (When attacked with a Stun Stick)
31
32--[[
33 The printer entity's values
34]]
35 PrintAmount = 1000,
36-- The amount of money printed per "ink usage".
37
38 PrintTime = 60 * 3,
39-- The amount of time in seconds it takes to print money. ((60 * 3) seconds = 3 minutes)
40
41 HeatupTime = 10,
42-- The amount of time in seconds it takes the printer to heat up.
43-- Everytime the printer heats up, it will take one damage to durability. Once it reaches 0, it will explode!
44-- You can prevent this using High Quality Cooling.
45
46 MaxMoney = 10000,
47-- The maximum amount of money the money printer can store until it stops printing.
48-- TIP: You can pass math.huge as a value to make it infinite.
49
50 InkSystem = true,
51-- If set to false, the printers will work without ink.
52
53 CoolingSystem = true,
54-- If set to false, the simple cooling system will be disabled.
55
56 MaxInk = 5,
57-- The default amount of times a printer can print money before you have to refill it.
58
59 InkRefill = 5,
60-- The amount of ink that will be refilled on usage of an ink cartridge.
61-- TIP: This value is also used to determine how many slots will be added on usage of an ink cartridge slot upgrade!
62
63 UpgradedMaxInk = 15,
64-- The maximum amount of ink a printer can store, with all slot upgrades.
65
66 LogoURL = "https://i.imgur.com/BmTqmkl.png",
67-- An URL linking to the image that will get displayed on your printer's interface.
68-- Must be a direct link to the image, ending with .jpg or .png
69
70 GradientDirection = "right",
71-- The direction of the background gradient used on the printer.
72-- Possible values: "up", "down", "left", "right", "none"
73
74 Gradient1 = Color(66, 89, 255),
75-- Start color of the gradient (Pick RGB values using https://www.w3schools.com/colors/colors_picker.asp)
76-- If GradientDirection is set to "none", this will be the background of the printer's interface.
77
78 Gradient2 = Color(20, 184, 255),
79-- End color of the gradient
80-- Unused if GradientDirection is set to "none".
81
82 PrinterColor = Color(28, 31, 33),
83-- The printer's model's color on spawn.
84
85 InvertColors = false,
86-- For the printer's interface, do you want to switch white text for black text?
87-- Could improve readability depending on the gradient colors you chose.
88
89 MaxRenderDistance = 256 ^ 2,
90-- How far you have to be for the printer screen to stop rendering. Hammer units. Lowering this helps with performance.
91-- Do not forget the "^ 2" after the number, it is required for this config option to work properly.
92
93 AllowedVIPs = {
94 -- "vip",
95 },
96-- If this table exists and is not empty, players that do not have one of the specified usergroups will not be able to buy a printer.
97
98--[[
99 If ItemStore is installed...
100
101 https://www.gmodstore.com/scripts/view/15/itemstore-inventory-for-darkrp
102]]
103 ItemStore = false,
104-- If set to true, this will let you pick up the printers and its upgrades with it.
105
106--[[
107 If Vrondrakis's Level System is installed...
108
109 https://github.com/vrondakis/Leveling-System
110]]
111 VrondakisLevelSystem = false,
112-- If set to true, printers will give XP on money retrieval.
113 VrondakisLevelSystem_Multiplier = 0.25,
114-- The XP being given is the amount of money being retrieved multiplied by the above number.
115 VrondakisLevelSystem_MinLevel = 0,
116-- The minimum level required to spawn a printer.
117
118--[[
119 Using the same variable names as the ones above with different values, you can create customized printer tiers.
120 The values you pick for them will override the ones of the default printer, set above this comment.
121 You can add any number of tiers you want.
122 Tier names will show up in some places, make sure to capitalize them properly!
123
124 Keep in mind, ALL of the values above have an effect! Don't be afraid to try and mix every config option with another!
125]]
126 Tiers = {
127 Sapphire = {
128 PrintName = "Sapphire Money Printer",
129 price = 25000,
130 cmd = "buyprinter_sapphire",
131
132 PrintAmount = 5000,
133 Gradient1 = Color(66, 89, 255),
134 Gradient2 = Color(20, 184, 255),
135 PrintTime = 60,
136 MaxMoney = 150000,
137 max = 2,
138 LogoURL = "https://i.imgur.com/BmTqmkl.png",
139
140
141
142-- Example: PrintTime = 10 (This tier would print $1,000 every 10 seconds)
143 },
144 Emerald = {
145 PrintName = "Emerald Money Printer",
146 price = 50000,
147 cmd = "buyprinter_emerald",
148
149 PrintAmount = 15000,
150 Gradient1 = Color(0, 126, 27),
151 Gradient2 = Color(0, 214, 46),
152 MaxMoney = 450000,
153 max = 2,
154 LogoURL = "https://i.imgur.com/BmTqmkl.png",
155
156
157
158 },
159 Ruby = {
160 PrintName = "Ruby Money Printer",
161 price = 100000,
162 cmd = "buyprinter_ruby",
163
164 PrintAmount = 35000,
165 Gradient1 = Color(178, 0, 80),
166 Gradient2 = Color(240, 0, 40),
167 MaxMoney = 1050000,
168 max = 2,
169 LogoURL = "https://i.imgur.com/BmTqmkl.png",
170
171
172
173 },
174 Diamond = {
175 PrintName = "Diamond Money Printer",
176 price = 1000000,
177 cmd = "buyprinter_diamond",
178
179 PrintAmount = 150000,
180 InkSystem = false,
181 CoolingSystem = false,
182 InvertColors = true,
183 PrintTime = 60,
184 Gradient1 = Color(0, 140, 124),
185 Gradient2 = Color(0, 240, 180),
186 MaxMoney = 4500000,
187 max = 1,
188 LogoURL = "https://i.imgur.com/BmTqmkl.png",
189
190 },
191 PinkDiamond = {
192 PrintName = "Pink Diamond Money Printer",
193 price = 2000000,
194 cmd = "buyprinter_pinkdiamond",
195
196 PrintAmount = 300000,
197 InkSystem = false,
198 CoolingSystem = false,
199 InvertColors = true,
200 PrintTime = 60,
201 Gradient1 = Color(139, 0, 191),
202 Gradient2 = Color(229, 0, 182),
203 MaxMoney = 9000000,
204 max = 1,
205 LogoURL = "https://i.imgur.com/BmTqmkl.png",
206
207 AllowedVIPs = {
208
209 "vip",
210
211 "vip+",
212
213 "superadmin",
214
215 "Founder",
216
217 "Co_Founder",
218
219 "SeniorAdmin",
220
221 "Admin",
222
223 },
224
225
226
227
228 },
229
230
231
232
233 },
234
235--[[
236 These tables allow you to customize each upgrade's price and model.
237 You shouldn't have to modify the latter at any point, but it's up to you if you want to.
238]]
239 InkCartridge = {
240 PrintName = "Ink Cartridge",
241 price = 1000,
242 model = "models/freeman/compact_printer_ink.mdl",
243 cmd = "buyprinterink",
244
245
246
247 Disabled = false, -- If set to true, the item won't show up in the F4 menu.
248 },
249
250 InkSlot = {
251 PrintName = "Ink Cartridge Slot",
252 price = 5000,
253 model = "models/Items/car_battery01.mdl",
254 cmd = "buyprinterslot",
255
256
257
258 Disabled = false, -- If set to true, the item won't show up in the F4 menu.
259 },
260
261 RepairPart = {
262 PrintName = "Repair Part",
263 price = 5000,
264 model = "models/props_lab/reciever01d.mdl",
265 cmd = "buyprinterrepair",
266
267
268 Disabled = false, -- If set to true, the item won't show up in the F4 menu.
269 },
270
271 HQCooling = {
272 PrintName = "High Quality Cooling",
273 price = 10000,
274 model = "models/props_phx/gears/spur12.mdl",
275 cmd = "buyprintercooling",
276
277
278 Disabled = false, -- If set to true, the item won't show up in the F4 menu.
279 },
280
281--[[
282 Printing bonus event, triggered with the `elegant_printers_triggerevent` command.
283 You can let superadmins run that command whenever they want, or make it part of a package of your favorite donation system!
284]]
285 EventDuration = 60 * 60 * 3,
286-- Duration in seconds ((60 * 60 * 3) seconds = 3 hours)
287
288 EventPrintMultiplier = 3,
289-- 1.5 equals to +50% print bonus!
290
291--[[
292 Usergroup overrides and bonuses
293]]
294 PrintMultiplierVIPs = { -- You can make it so certain usergroups benefit from a permanent print percentage bonus, the same way as the event print multiplier.
295 -- superadmin = 1.5,
296 superadmin = 2,
297
298 SeniorAdmin = 2,
299
300 Co_Founder = 2,
301
302 Founder = 2,
303
304 Admin = 1.5,
305
306 vip = 1.5,
307
308 T-mod = 1.2,
309
310 Moderator = 1.3,
311
312 },
313
314 UpgradedMaxInkVIPs = { -- Same goes with maximum ink cartridge slot upgrade limits!
315 superadmin = 20,
316
317
318 },
319
320 GlobalMaxVIPs = {
321 superadmin = math.huge,
322 Founder = math.huge,
323 Co_Founder = math.huge,
324 },
325
326--[[
327 Miscellaneous values, used for printing in the chat as well as the console, and the F4 menu category.
328]]
329 CommunityName = "Elegant Printers",
330 CommunityColor = Color(41, 132, 244),
331}
332
333--[[
334 Past this point, I strongly advise you not to modify or remove anything else in the addon; unless you know what you are doing.
335 I have made it so the addition of the printers and their upgrades to the F4 menu are completely automated, entirely through
336 the use of the above config table. If you ended up breaking this file, just start over and try again!
337
338 Make sure to restart everytime you make a change to be sure everything has been applied properly.
339 ALSO, DON'T FORGET ANY COMMAS.
340
341 If you have encountered any bug, and are absolutely certain that it is not your fault, please create a support ticket.
342]]