Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2017
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.89 KB | None | 0 0
  1. //LITHIUM PRINTERS CONFIG
  2. //by 2REK(steam: przemo0434) September 2016
  3.  
  4. //Note that editing default mechanics may result in weird things happening with the printers.
  5. //Please use responsibly.
  6.  
  7. //Tip: don't create "custerfuck" situations
  8. //ex. raise storage upgrade size without raising maximum storage of printers.
  9.  
  10. lithiumEconomic = {}
  11. lithiumBronze = {}
  12. lithiumIron = {}
  13. lithiumSilver = {}
  14. lithiumObsidian = {}
  15. lithiumDonator = {}
  16. lithiumRack = {}
  17. lithiumUpgrades = {}
  18.  
  19. //
  20. // PRINTER SETUP HERE
  21. //
  22. lithiumDonator = {
  23. printerDelay = 30, //change this value to edit print time
  24. printerPrint = 125, //change this value to edit print value
  25. printerStorage = 5000, //change this value to edit printer base storage
  26. printerHealth = 100, //change this value to edit printer health
  27. printerMoneyPerLevel = 100, //change this value to edit printer money per level gain
  28.  
  29. //Default printer mechanics settings . You are changing values on your own responsibility
  30. printerMaxUpgrades = 5 , //change this value to edit printer maximum upgrades
  31. //this printer system was designed for maximum of 3 upgrades per printer
  32. printerMinimumDelay = 10 , //this value edits the minimal time it takes to print.
  33. //Delay can't go lower than that value
  34. printerMaxExp = 100, //this value sets the exp needed to get to next level
  35. //
  36. expPerCycle = 1, //this value sets the exp gained with each print cycle
  37. //shouldn't be bigger then 'printerMaxExp'
  38. printerMaxLvl = 50, //this value sets the max possible level of printer,
  39. //note that at some point new levels wont add more benefits
  40. //
  41. printerMalfunctionRate = 0.01, //this value sets chance printer malfunction
  42. //
  43. printerMalfunctionValueA = 0.1, //this values set the percentage of money that will be left
  44. printerMalfunctionValueB = 0.5, //after malfunction. so the money left will be beetween value A and B
  45. //
  46. printerOverheatRate = 5, //this value sets the temperature gain for printer each print cycle
  47. //
  48. printerOverheatTimer = 30, //this value sets how long it takes for printer to cooldown after overheat
  49. //
  50. printerCoolingTimer = 5, //this value sets interval between each "cooling cycle" when printer is turned off
  51. //
  52. printerCoolingFactor = 5, //this value sets how much printer will cool each "cooling cycle"
  53.  
  54. }
  55.  
  56. lithiumEconomic = {
  57. printerDelay = 35,
  58. printerPrint = 100,
  59. printerStorage = 1000,
  60. printerHealth = 100,
  61. printerMoneyPerLevel = 10,
  62. //default mechanics
  63. printerMaxUpgrades = 0,
  64. printerMinimumDelay = 10,
  65. printerMaxExp = 100,
  66. expPerCycle = 1,
  67. printerMaxLvl = 50,
  68. //MALFUNCTIONS
  69. printerMalfunctionRate = 0.05,
  70. printerMalfunctionValueA = 0.1,
  71. printerMalfunctionValueB = 0.5,
  72. //OVERHEATS
  73. printerOverheatRate = 5,
  74. printerOverheatTimer = 30,
  75. printerCoolingTimer = 5,
  76. printerCoolingFactor = 5,
  77. }
  78.  
  79. lithiumBronze = {
  80. printerDelay = 35,
  81. printerPrint = 200,
  82. printerStorage = 1000,
  83. printerHealth = 100,
  84. printerMoneyPerLevel = 50,
  85. //default mechanics
  86. printerMaxUpgrades = 1,
  87. printerMinimumDelay = 10,
  88. printerMaxExp = 100,
  89. expPerCycle = 1,
  90. printerMaxLvl = 50,
  91. //MALFUNCTIONS
  92. printerMalfunctionRate = 0.05,
  93. printerMalfunctionValueA = 0.1,
  94. printerMalfunctionValueB = 0.5,
  95. //OVERHEATS
  96. printerOverheatRate = 5,
  97. printerOverheatTimer = 30,
  98. printerCoolingTimer = 5,
  99. printerCoolingFactor = 5,
  100. }
  101.  
  102. lithiumIron = {
  103. printerDelay = 35,
  104. printerPrint = 250,
  105. printerStorage = 1250,
  106. printerHealth = 100,
  107. printerMoneyPerLevel = 100,
  108. //default mechanics
  109. printerMaxUpgrades = 2,
  110. printerMinimumDelay = 10,
  111. printerMaxExp = 100,
  112. expPerCycle = 1,
  113. printerMaxLvl = 50,
  114. //MALFUNCTIONS
  115. printerMalfunctionRate = 0.05,
  116. printerMalfunctionValueA = 0.1,
  117. printerMalfunctionValueB = 0.5,
  118. //OVERHEATS
  119. printerOverheatRate = 5,
  120. printerOverheatTimer = 30,
  121. printerCoolingTimer = 5,
  122. printerCoolingFactor = 5,
  123. }
  124.  
  125. lithiumSilver = {
  126. printerDelay = 40,
  127. printerPrint = 400,
  128. printerStorage = 1600,
  129. printerHealth = 100,
  130. printerMoneyPerLevel = 150,
  131. //default mechanics
  132. printerMaxUpgrades = 2,
  133. printerMinimumDelay = 10,
  134. printerMaxExp = 100,
  135. expPerCycle = 1,
  136. printerMaxLvl = 50,
  137. //MALFUNCTIONS
  138. printerMalfunctionRate = 0.05,
  139. printerMalfunctionValueA = 0.1,
  140. printerMalfunctionValueB = 0.5,
  141. //OVERHEATS
  142. printerOverheatRate = 5,
  143. printerOverheatTimer = 30,
  144. printerCoolingTimer = 5,
  145. printerCoolingFactor = 5,
  146. }
  147.  
  148. lithiumObsidian = {
  149. printerDelay = 60,
  150. printerPrint = 500,
  151. printerStorage = 1500,
  152. printerHealth = 100,
  153. printerMoneyPerLevel = 200,
  154. //default mechanics
  155. printerMaxUpgrades = 3,
  156. printerMinimumDelay = 10,
  157. printerMaxExp = 100,
  158. expPerCycle = 1,
  159. printerMaxLvl = 50,
  160. //MALFUNCTIONS
  161. printerMalfunctionRate = 0.05,
  162. printerMalfunctionValueA = 0.1,
  163. printerMalfunctionValueB = 0.5,
  164. //OVERHEATS
  165. printerOverheatRate = 5,
  166. printerOverheatTimer = 30,
  167. printerCoolingTimer = 5,
  168. printerCoolingFactor = 5,
  169. }
  170.  
  171. //RACK SETUP
  172. lithiumRack = {
  173. isDestructible = true, //set to false if you want rack to be indestructible, default is true
  174. rackHealth = 500, //printer rack health, default is 100
  175. }
  176.  
  177. lithiumUpgrades = {
  178. //STORAGE SETUP
  179. smallStorage = 1000,
  180. mediumStorage = 3000,
  181. largeStorage = 5000,
  182. maximumPossibleStorage = 10000, // this is the possible maxium storage of printers,
  183. // values wont go above this
  184.  
  185. //COOLER SETUP
  186. smallCooler = 2,
  187. mediumCooler = 3,
  188. largeCooler = 4,
  189. minimumPossibleCooling = 10, // this is the possible minimum time of PRODUCTION
  190. // vales wont go below this
  191.  
  192. //POWER SETUP
  193. smallPower = 1.05,
  194. mediumPower = 1.1,
  195. largePower = 1.15,
  196.  
  197. //OVERCLOCKER SETUP
  198. smallOverclocker = 10,
  199. mediumOverclocker = 20,
  200. largeOverclocker = 30,
  201. minimalPossibleExp = 40, // this is minimal exp that will be needed for printer to level up
  202. // values wont go below this
  203.  
  204. //NEW IN 1.4 PATCH
  205. //SILENCER SETUP
  206. defaultVolume = 80,
  207. smallSilencer = 10,
  208. mediumSilencer = 20,
  209. largeSilencer = 30,
  210. minimalPossibleVol = 40, //this is minimal volume that printer can achieve during printing,
  211. // volume wont go below this
  212.  
  213. //NEW IN 1.5 PATCH
  214. //CONVERTER SETUP
  215. conversionType = 2, //1 - production to xp, 2 - xp to production
  216. //note that only one converter is possible to be installed in a printer, this won't be changed
  217. conversionRate = 0.10,//Sets how much of production/xp is converted (in %, 1 - 100%; 0.5 - 50% etc.)
  218. conversionValue = 50,//Sets how much money is one xp point worth.
  219. //FUSE SETUP
  220. fuseType = 1, //1 - once installed fuse will stay forever, 2 - fuse will be destroyed after it exceeds fuseCharges limit
  221. fuseCharges = 2, //this value sets the maximum uses of one fuse before fuse is destroyed and needs to be purchased and installed again
  222. //this value is used ONLY when fuseType is set to 2
  223. }
  224.  
  225. if CLIENT then
  226. surface.CreateFont( "PrintersUpgradeFont", {
  227. font = "DermaDefault",
  228. size = 32*6,
  229. weight = 600,
  230. antialias = true,
  231. shadow = true,
  232. } )
  233.  
  234. surface.CreateFont( "PrintersSmallFont1", {
  235. font = "DermaDefault",
  236. size = 24*6,
  237. weight = 600,
  238. antialias = true,
  239. shadow = true,
  240. } )
  241.  
  242. surface.CreateFont( "PrintersPrimaryFont", {
  243. font = "DermaDefault",
  244. size = 54,
  245. weight = 1,
  246. antialias = true,
  247. shadow = true,
  248. } )
  249.  
  250. surface.CreateFont( "Printerse0a932def7b941b30c2b3eb67fe386733cc1759538e7815f966397cbee85a38fFont", {
  251. font = "DermaDefault",
  252. size = 54,
  253. weight = 1,
  254. antialias = true,
  255. shadow = true,
  256. } )
  257.  
  258. surface.CreateFont( "PrintersSmallFont", {
  259. font = "DermaDefault",
  260. size = 50,
  261. weight = 600,
  262. antialias = true,
  263. shadow = true,
  264. } )
  265.  
  266. surface.CreateFont( "PrintersNickFont", {
  267. font = "DermaDefault",
  268. size = 64,
  269. weight = 600,
  270. antialias = true,
  271. shadow = true,
  272. } )
  273. surface.CreateFont( "PrintersVerySmallFont", {
  274. font = "DermaDefault",
  275. size = 38,
  276. weight = 600,
  277. antialias = true,
  278. shadow = true,
  279. } )
  280. end
  281.  
  282. timer.Simple(0.1, function()
  283.  
  284. DarkRP.createCategory{
  285. name = "Drukatron3000 - Drukarki",
  286. categorises = "entities",
  287. startExpanded = false,
  288. color = Color(130, 130, 130, 155),
  289. canSee = function(ply) return true end,
  290. sortOrder = 100,
  291. }
  292.  
  293. DarkRP.createCategory{
  294. name = "Drukatron3000 - Akcesoria",
  295. categorises = "entities",
  296. startExpanded = false,
  297. color = Color(130, 130, 130, 155),
  298. canSee = function(ply) return true end,
  299. sortOrder = 100,
  300. }
  301.  
  302. DarkRP.createEntity( "Ekonomiczna Drukarka", {
  303. ent = "lithium_econsadomic_printer",
  304. model = "models/2rek/printers/printer_3.mdl",
  305. price = 1250,
  306. max = 2,
  307. cmd = "buylithiumprintereconomic",
  308. category = "Drukatron3000 - Drukarki",
  309. sortOrder = 90,
  310. } )
  311.  
  312. DarkRP.createEntity( "Brązowa Drukarka", {
  313. ent = "lithium_bronze_printer",
  314. model = "models/2rek/printers/printer_5.mdl",
  315. price = 1250,
  316. max = 2,
  317. cmd = "buylithiumprinterbronze",
  318. category = "Drukatron3000 - Drukarki",
  319. sortOrder = 90,
  320. } )
  321.  
  322. DarkRP.createEntity( "Stalowa Drukarka", {
  323. ent = "lithium_iron_printer",
  324. model = "models/2rek/printers/printer_1.mdl",
  325. price = 1250,
  326. max = 2,
  327. cmd = "buylithiumprinteriron",
  328. category = "Drukatron3000 - Drukarki",
  329. sortOrder = 90,
  330. } )
  331.  
  332. DarkRP.createEntity( "Srebrna Drukarka", {
  333. ent = "lithium_silver_printer",
  334. model = "models/2rek/printers/printer_2.mdl",
  335. price = 1250,
  336. max = 2,
  337. cmd = "buylithiumprintersilver",
  338. category = "Drukatron3000 - Drukarki",
  339. sortOrder = 90,
  340. } )
  341.  
  342. DarkRP.createEntity( "Obsydianowa Drukarka", {
  343. ent = "lithium_obsidian_printer",
  344. model = "models/2rek/printers/printer_4.mdl",
  345. price = 1250,
  346. max = 2,
  347. cmd = "buylithiumprinterobsidian",
  348. category = "Drukatron3000 - Drukarki",
  349. sortOrder = 90,
  350. } )
  351.  
  352. DarkRP.createEntity( "Premium Drukarka [VIP]", {
  353. ent = "lithium_donator_printer",
  354. model = "models/2rek/printers/printer_6.mdl",
  355. price = 30000,
  356. max = 2,
  357. cmd = "buylithiumprinterdonator",
  358. category = "Drukatron3000 - Drukarki",
  359. sortOrder = 90,
  360. customCheck = function(ply) return CLIENT or
  361. table.HasValue({"vip", "svip", "moderator", "admin", "superadmin"}, ply:GetNWString("usergroup"))
  362. end,
  363. CustomCheckFailMsg = "Ta praca jest dla rangi VIP!",
  364. } )
  365.  
  366. DarkRP.createEntity( "Small Storage", {
  367. ent = "lithium_storage_small",
  368. model = "models/2rek/printers/storage_small.mdl",
  369. price = 1250,
  370. max = 2,
  371. cmd = "buylithiumsmallstorage",
  372. category = "Drukatron3000 - Akcesoria",
  373. sortOrder = 90,
  374. } )
  375.  
  376. DarkRP.createEntity( "Medium Storage", {
  377. ent = "lithium_storage_medium",
  378. model = "models/2rek/printers/storage_medium.mdl",
  379. price = 1250,
  380. max = 2,
  381. cmd = "buylithiummediumstorage",
  382. category = "Drukatron3000 - Akcesoria",
  383. sortOrder = 90,
  384. } )
  385.  
  386. DarkRP.createEntity( "Large Storage", {
  387. ent = "lithium_storage_large",
  388. model = "models/2rek/printers/storage_large.mdl",
  389. price = 1250,
  390. max = 2,
  391. cmd = "buylithiumLargestorage",
  392. category = "Drukatron3000 - Akcesoria",
  393. sortOrder = 90,
  394. } )
  395.  
  396. DarkRP.createEntity( "Small Cooler", {
  397. ent = "lithium_cooler_small",
  398. model = "models/2rek/printers/cooler_small.mdl",
  399. price = 1250,
  400. max = 2,
  401. cmd = "buylithiumsmallcooler",
  402. category = "Drukatron3000 - Akcesoria",
  403. sortOrder = 90,
  404. } )
  405.  
  406. DarkRP.createEntity( "Medium Cooler", {
  407. ent = "lithium_cooler_medium",
  408. model = "models/2rek/printers/cooler_medium.mdl",
  409. price = 1250,
  410. max = 2,
  411. cmd = "buylithiummediumcooler",
  412. category = "Drukatron3000 - Akcesoria",
  413. sortOrder = 90,
  414. } )
  415.  
  416. DarkRP.createEntity( "Large Cooler", {
  417. ent = "lithium_cooler_large",
  418. model = "models/2rek/printers/cooler_large.mdl",
  419. price = 1250,
  420. max = 2,
  421. cmd = "buylithiumlargecooler",
  422. category = "Drukatron3000 - Akcesoria",
  423. sortOrder = 90,
  424. } )
  425.  
  426. DarkRP.createEntity( "Small Overclocker", {
  427. ent = "lithium_overclocker_small",
  428. model = "models/2rek/printers/overclocker_small.mdl",
  429. price = 1250,
  430. max = 2,
  431. cmd = "buylithiumsmalloverclocker",
  432. category = "Drukatron3000 - Akcesoria",
  433. sortOrder = 90,
  434. } )
  435.  
  436. DarkRP.createEntity( "Medium Overclocker", {
  437. ent = "lithium_overclocker_medium",
  438. model = "models/2rek/printers/overclocker_medium.mdl",
  439. price = 1250,
  440. max = 2,
  441. cmd = "buylithiummediumoverclocker",
  442. category = "Drukatron3000 - Akcesoria",
  443. sortOrder = 90,
  444. } )
  445.  
  446. DarkRP.createEntity( "Large Overclocker", {
  447. ent = "lithium_overclocker_large",
  448. model = "models/2rek/printers/overclocker_large.mdl",
  449. price = 1250,
  450. max = 2,
  451. cmd = "buylithiumlargeoverclocker",
  452. category = "Drukatron3000 - Akcesoria",
  453. sortOrder = 90,
  454. } )
  455.  
  456. DarkRP.createEntity( "Small Power", {
  457. ent = "lithium_power_small",
  458. model = "models/2rek/printers/power_small.mdl",
  459. price = 1250,
  460. max = 2,
  461. cmd = "buylithiumsmallpower",
  462. category = "Drukatron3000 - Akcesoria",
  463. sortOrder = 90,
  464. } )
  465.  
  466. DarkRP.createEntity( "Medium Power", {
  467. ent = "lithium_power_medium",
  468. model = "models/2rek/printers/power_medium.mdl",
  469. price = 1250,
  470. max = 2,
  471. cmd = "buylithiummediumpower",
  472. category = "Drukatron3000 - Akcesoria",
  473. sortOrder = 90,
  474. } )
  475.  
  476. DarkRP.createEntity( "Large Power", {
  477. ent = "lithium_power_large",
  478. model = "models/2rek/printers/power_large.mdl",
  479. price = 1250,
  480. max = 2,
  481. cmd = "buylithiumlargepower",
  482. category = "Drukatron3000 - Akcesoria",
  483. sortOrder = 90,
  484. } )
  485.  
  486. DarkRP.createEntity( "Printer Rack", {
  487. ent = "lithium_printer_rack",
  488. model = "models/2rek/printers/printer_rack.mdl",
  489. price = 1250,
  490. max = 2,
  491. cmd = "buylithiumprinterrack",
  492. category = "Drukatron3000 - Akcesoria",
  493. sortOrder = 90,
  494. } )
  495.  
  496. DarkRP.createEntity( "Small soundproof panel", {
  497. ent = "lithium_silencer_small",
  498. model = "models/2rek/printers/lithium_silencer.mdl",
  499. price = 1250,
  500. max = 2,
  501. cmd = "buylithiumsmallsilencer",
  502. category = "Drukatron3000 - Akcesoria",
  503. sortOrder = 90,
  504. } )
  505.  
  506. DarkRP.createEntity( "Medium soundproof panel", {
  507. ent = "lithium_silencer_medium",
  508. model = "models/2rek/printers/lithium_silencer.mdl",
  509. price = 1250,
  510. max = 2,
  511. cmd = "buylithiummediumsilencer",
  512. category = "Drukatron3000 - Akcesoria",
  513. sortOrder = 90,
  514. } )
  515.  
  516. DarkRP.createEntity( "Large soundproof panel", {
  517. ent = "lithium_silencer_large",
  518. model = "models/2rek/printers/lithium_silencer.mdl",
  519. price = 1250,
  520. max = 2,
  521. cmd = "buylithiumlargesilencer",
  522. category = "Drukatron3000 - Akcesoria",
  523. sortOrder = 90,
  524. } )
  525. DarkRP.createEntity( "Converter", {
  526. ent = "lithium_converter",
  527. model = "models/2rek/printers/lithium_converter.mdl",
  528. price = 1250,
  529. max = 2,
  530. cmd = "buylithiumconverter",
  531. category = "Drukatron3000 - Akcesoria",
  532. sortOrder = 90,
  533. } )
  534. DarkRP.createEntity( "Fuse", {
  535. ent = "lithium_fuse",
  536. model = "models/2rek/printers/lithium_fuse.mdl",
  537. price = 1250,
  538. max = 2,
  539. cmd = "buylithiumfuse",
  540. category = "Drukatron3000 - Akcesoria",
  541. sortOrder = 90,
  542. } )
  543.  
  544. sound.Add( {
  545. name = "lithium_printer_print",
  546. channel = CHAN_STATIC,
  547. volume = 0.2,
  548. level = lithiumUpgrades.defaultVolume,
  549. pitch = { 95, 110 },
  550. sound = "ambient/levels/labs/equipment_printer_loop1.wav"
  551. } )
  552. sound.Add( {
  553. name = "lithium_printer_print_level1",
  554. channel = CHAN_STATIC,
  555. volume = 0.2,
  556. level = lithiumUpgrades.defaultVolume-(lithiumUpgrades.defaultVolume*(lithiumUpgrades.smallSilencer/100)),
  557. pitch = { 95, 110 },
  558. sound = "ambient/levels/labs/equipment_printer_loop1.wav"
  559. } )
  560. sound.Add( {
  561. name = "lithium_printer_print_level2",
  562. channel = CHAN_STATIC,
  563. volume = 0.2,
  564. level = lithiumUpgrades.defaultVolume-(lithiumUpgrades.defaultVolume*(lithiumUpgrades.mediumSilencer/100)),
  565. pitch = { 95, 110 },
  566. sound = "ambient/levels/labs/equipment_printer_loop1.wav"
  567. } )
  568. sound.Add( {
  569. name = "lithium_printer_print_level3",
  570. channel = CHAN_STATIC,
  571. volume = 0.2,
  572. level = lithiumUpgrades.defaultVolume-(lithiumUpgrades.defaultVolume*(lithiumUpgrades.largeSilencer/100)),
  573. pitch = { 95, 110 },
  574. sound = "ambient/levels/labs/equipment_printer_loop1.wav"
  575. } )
  576. sound.Add( {
  577. name = "lithium_printer_beep",
  578. channel = CHAN_STATIC,
  579. volume = 0.2,
  580. level = lithiumUpgrades.defaultVolume,
  581. pitch = { 95, 110 },
  582. sound = "buttons/blip1.wav"
  583. } )
  584. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement