Advertisement
Guest User

Untitled

a guest
Dec 12th, 2021
858
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.04 KB | None | 0 0
  1. zmc = zmc or {}
  2. zmc.config = zmc.config or {}
  3.  
  4. /////////////////////////// Zero´s MasterCook //////////////////////////////
  5.  
  6. // Developed by ZeroChain:
  7. // http://steamcommunity.com/id/zerochain/
  8. // https://www.gmodstore.com/users/view/76561198013322242
  9. // https://www.artstation.com/zerochain
  10.  
  11. /////////////////////////////////////////////////////////////////////////////
  12.  
  13.  
  14. ///////////////////////// zclib Config //////////////////////////////////////
  15. /*
  16. This config can be used to overwrite the main config of zeros libary
  17. */
  18.  
  19. //zclib.config.Debug = true
  20.  
  21. // The Currency
  22. zclib.config.Currency = "$"
  23.  
  24. // Should the Currency symbol be in front or after the money value?
  25. zclib.config.CurrencyInvert = true
  26.  
  27. // These Ranks are admins
  28. // If xAdmin, sAdmin or SAM is installed then this table can be ignored
  29. zclib.config.AdminRanks = {
  30. ["superadmin"] = true
  31. }
  32.  
  33. //zclib.config.CleanUp.SkipOnTeamChange[TEAM_STAFF] = true
  34. /////////////////////////////////////////////////////////////////////////////
  35.  
  36.  
  37.  
  38. // What language should we display en , fr , ru , ptbr , tr , es , cn , pl , de
  39. zmc.config.SelectedLanguage = "en"
  40.  
  41. // Disables the 2d3d HUD above the Item / Dish Entities
  42. zmc.config.HideItemHUD = false
  43.  
  44. // If set to true then players will download the medieval contentpack instead
  45. // NOTE You will still need to add the medieval contentpack to your workshop collection
  46. zmc.config.Medieval = false
  47.  
  48. // This can be used to delay certain net messages which are send as confirmation for his [SERVER SIDE] action.
  49. zmc.config.NetDelay = 0.1
  50.  
  51. // Defines how much damage is needed before the entity gets destroyed, set to -1 to disable this
  52. zmc.config.Damageable = {
  53. ["zmc_washtable"] = 200,
  54. ["zmc_worktable"] = 200,
  55. ["zmc_wok"] = 200,
  56. ["zmc_souppot"] = 200,
  57. ["zmc_oven"] = 200,
  58. ["zmc_ordertable"] = 200,
  59. ["zmc_mixer"] = 200,
  60. ["zmc_grill"] = 200,
  61. ["zmc_garbagepin"] = 200,
  62. ["zmc_fridge"] = 200,
  63. ["zmc_dishtable"] = 200,
  64. ["zmc_customertable"] = 200,
  65. ["zmc_boilpot"] = 200,
  66. ["zmc_dish"] = 15,
  67. ["zmc_item"] = 15,
  68. ["zmc_cookbook"] = 50,
  69. }
  70.  
  71. // This automaticly blacklists the entities from the pocket swep
  72. if GM and GM.Config and GM.Config.PocketBlacklist then
  73. GM.Config.PocketBlacklist["zmc_worktable"] = true
  74. GM.Config.PocketBlacklist["zmc_wok"] = true
  75. GM.Config.PocketBlacklist["zmc_souppot"] = true
  76. GM.Config.PocketBlacklist["zmc_oven"] = true
  77. GM.Config.PocketBlacklist["zmc_ordertable"] = true
  78. GM.Config.PocketBlacklist["zmc_mixer"] = true
  79. GM.Config.PocketBlacklist["zmc_grill"] = true
  80. GM.Config.PocketBlacklist["zmc_garbagepin"] = true
  81. GM.Config.PocketBlacklist["zmc_fridge"] = true
  82. GM.Config.PocketBlacklist["zmc_dishtable"] = true
  83. GM.Config.PocketBlacklist["zmc_customertable"] = true
  84. GM.Config.PocketBlacklist["zmc_boilpot"] = true
  85. GM.Config.PocketBlacklist["zmc_dish"] = true
  86. GM.Config.PocketBlacklist["zmc_item"] = true
  87. GM.Config.PocketBlacklist["zmc_cookbook"] = true
  88. GM.Config.PocketBlacklist["zmc_washtable"] = true
  89. GM.Config.PocketBlacklist["zmc_buildkit"] = true
  90. end
  91.  
  92. // You can use this table to restrict which job is allowed to interact with the kitchen entities. Keep empty to allow everyone.
  93. zmc.config.Jobs = {}
  94. if TEAM_ZMC_COOK then zmc.config.Jobs[TEAM_ZMC_COOK] = true end
  95.  
  96. zmc.config.Item = {
  97. // How many items can the player own at the same time
  98. Limit = 15,
  99.  
  100. // How long after it got spawned will it despawn again, Set to -1 to disable
  101. DespawnTime = 600,
  102.  
  103. // How long till the food is rotten / spoiled, Set to -1 to disable
  104. // Food only spoils if its not in some inventory
  105. RotTime = 300,
  106. }
  107.  
  108. zmc.config.Plates = {
  109. "models/zerochain/props_kitchen/zmc_plate01.mdl",
  110. "models/zerochain/props_kitchen/zmc_plate02.mdl",
  111. "models/zerochain/props_kitchen/zmc_plate03.mdl",
  112. "models/zerochain/props_kitchen/zmc_plate04.mdl",
  113. "models/zerochain/props_kitchen/zmc_plate05.mdl",
  114. }
  115.  
  116. zmc.config.Gastank = {
  117. // If set to true the the Oven,Grill,Boilpot,Soupot,Wok requiere Gas to work
  118. enabled = true,
  119.  
  120. // This defines how long till the fuel runs out in seconds
  121. fuel = 600, // 10 minutes of fuel
  122.  
  123. CanExplode = true,
  124. }
  125.  
  126. zmc.config.Grill = {
  127.  
  128. // If set to true then objects which are on the grill while in action get ignited
  129. CanIgniteObjects = true,
  130.  
  131. // If the oven is on 100% heat, how much faster will the food grill?
  132. heat_speed_mul = 2,
  133.  
  134. // How often does the quick time event occur?
  135. qte_interval = 10,
  136.  
  137. // How high is the chance for the QuickTimeEvent to occur if the player heats at 100% Temperatur
  138. qte_chance = 70,
  139.  
  140. // How much time does the player have before the food gets destroyed
  141. qte_respone_time = 3,
  142.  
  143. // How many items get destroyed should the player fail the QuickTimeEvent
  144. qte_fail_loss = 3,
  145. }
  146.  
  147. // The Ordertable
  148. zmc.config.Order = {
  149.  
  150. // If set to true then only admins can change this option in the ordertable
  151. allow_customer_orders_adminonly = false,
  152.  
  153. // If false then everyone can edit the dish whitelist of a ordertable. (This does not apply to ordertable which spawn with the map)
  154. edit_whitelist_adminonly = false,
  155.  
  156. // Defines how close a customer table needs to be to a ordertable to work
  157. search_dist = 2000,
  158.  
  159. // How often should we try to spawn a customer (Depending on customer happieness this value will be somewhere between min / max)
  160. customer_interval = {min = 30,max = 150}, // seconds
  161.  
  162. // How much % penality do we reduce the customer rating should the player fail to deliver the dish in time?
  163. rating_penaltiy_time = 10,
  164.  
  165. // How much % reward can the player get per deliverd dish? (This scales by delivery time, so the faster the player is the more % he will get)
  166. rating_reward_time = 10,
  167.  
  168. // How many food orders can the player have active at once
  169. player_order_limit = 3,
  170. }
  171.  
  172. zmc.config.SpawnMoney = function(money, pos)
  173. if DarkRP then
  174. DarkRP.createMoneyBag(pos, money)
  175. end
  176. end
  177.  
  178. zmc.config.CustomerTable = {
  179.  
  180. // If set to true then only admins can change the appearance of CustomerTable
  181. // (This is for tables which are spawned by the player, Customertables which are used as a public entity cant be edited by normal players anyway)
  182. edit_appearance_adminonly = true,
  183. }
  184.  
  185. // After the customer finishes his meal the dirty plate will be moved to the washtable where it needs to be cleaned
  186. // If the washtable is full of dirty plates then no more customers will spawn and the player needs to clean some plates first
  187. zmc.config.Washtable = {
  188. // How many clicks per plate
  189. progress_count = 3,
  190.  
  191. // How many dirty plates fit on the washtable before its full.
  192. limit = 12,
  193. }
  194.  
  195. zmc.config.Customers = {
  196. [1] = "models/player/group01/female_01.mdl",
  197. [2] = "models/player/group01/female_02.mdl",
  198. [3] = "models/player/group01/female_03.mdl",
  199. [4] = "models/player/group01/female_04.mdl",
  200. [5] = "models/player/group01/female_05.mdl",
  201. [6] = "models/player/group01/female_06.mdl",
  202. [7] = "models/player/group01/male_01.mdl",
  203. [8] = "models/player/group01/male_02.mdl",
  204. [9] = "models/player/group01/male_03.mdl",
  205. [10] = "models/player/group01/male_04.mdl",
  206. [11] = "models/player/group01/male_05.mdl",
  207. [12] = "models/player/group01/male_06.mdl",
  208. [13] = "models/player/group01/male_07.mdl",
  209. [14] = "models/player/group01/male_08.mdl",
  210. [15] = "models/player/group01/male_09.mdl",
  211.  
  212. [16] = "models/player/mossman.mdl",
  213. [17] = "models/player/alyx.mdl",
  214. [18] = "models/player/barney.mdl",
  215. [19] = "models/player/breen.mdl",
  216. [20] = "models/player/eli.mdl",
  217. [21] = "models/player/gman_high.mdl",
  218. [22] = "models/player/kleiner.mdl",
  219. [23] = "models/player/monk.mdl",
  220. [24] = "models/player/odessa.mdl",
  221.  
  222. [25] = "models/player/combine_soldier.mdl",
  223. [26] = "models/player/combine_soldier_prisonguard.mdl",
  224. [27] = "models/player/combine_super_soldier.mdl",
  225. [28] = "models/player/police.mdl",
  226. [29] = "models/player/police_fem.mdl",
  227. [30] = "models/player/magnusson.mdl",
  228. }
  229.  
  230.  
  231. zmc.config.Buildkit = {
  232.  
  233. // How much money does the player get back when removing a machine? (This also gets used when a tent gets deconstructed and all machines inside get removed)
  234. Refund = 0.5, // 1 = 100%, 0.5 = 50%
  235. }
  236.  
  237.  
  238. // The seat config defines the model of seats and their offset to the center of the model, should the model have some weird root bone position
  239. zmc.config.Seats = {}
  240. local function AddSeat(mdl, offset, sitpos, ang_offset, sitang)
  241. table.insert(zmc.config.Seats, {
  242. mdl = mdl,
  243. offset = offset,
  244. sitpos = sitpos,
  245. ang_offset = ang_offset,
  246. sitang = sitang or angle_zero
  247. })
  248. end
  249. AddSeat("models/zerochain/props_kitchen/zmc_seat.mdl",Vector(0,0,-23),Vector(0,0,2),nil,angle_zero)
  250. AddSeat("models/props_c17/chair02a.mdl",Vector(4.8,-25,-9),Vector(0,-6,-3))
  251. AddSeat("models/chairs/armchair.mdl",Vector(0,-5,-36),vector_origin)
  252. AddSeat("models/props_c17/FurnitureChair001a.mdl",vector_origin,Vector(0,0,-5))
  253. AddSeat("models/props_combine/breenchair.mdl",Vector(0,-6,-23),Vector(0,0,-5))
  254. AddSeat("models/props_interiors/Furniture_chair01a.mdl",Vector(0,-2,-3),Vector(0,0,-3))
  255. AddSeat("models/props_interiors/Furniture_chair03a.mdl",Vector(0,-3,-3),Vector(0,-2,0))
  256. AddSeat("models/props_interiors/Furniture_Couch02a.mdl",Vector(0,-10,-2),Vector(0,-5,-9))
  257. AddSeat("models/props_wasteland/controlroom_chair001a.mdl",Vector(0,-8,-3.9),Vector(0,0,-5))
  258. AddSeat("models/props_c17/chair_office01a.mdl",Vector(5,0,-23.3),vector_origin,Angle(0,-90,0))
  259. AddSeat("models/props_c17/chair_stool01a.mdl",Vector(0,-5,-25.5),Vector(0,-6,12))
  260.  
  261.  
  262.  
  263.  
  264.  
  265. zmc.config.Tables = {}
  266. local function AddTable(data) return table.insert(zmc.config.Tables,data) end
  267.  
  268. AddTable({
  269. // Model of the table
  270. mdl = "models/zerochain/props_kitchen/zmc_table.mdl",
  271. // The local positions for the customer and dinner plate
  272. positions = {
  273. [1] = { seat = {pos = Vector(0,30,22.5),ang = Angle(0,-90,0)}, plate = {pos = Vector(0,18,39.4),ang = angle_zero}},
  274. [2] = { seat = {pos = Vector(30,0,22.5),ang = Angle(0,180,0)}, plate = {pos = Vector(18,0,39.4),ang = angle_zero}},
  275. [3] = { seat = {pos = Vector(0,-30,22.5),ang = Angle(0,90,0)}, plate = {pos = Vector(0,-18,39.4),ang = angle_zero}},
  276. [4] = { seat = {pos = Vector(-30,0,22.5),ang = angle_zero}, plate = {pos = Vector(-18,0,39.4),ang = angle_zero}},
  277. }
  278. })
  279.  
  280. AddTable({
  281. mdl = "models/props_c17/FurnitureTable001a.mdl",
  282. positions = {
  283. [1] = { seat = {pos = Vector(0,30,5),ang = Angle(0,-90,0)}, plate = {pos = Vector(0,15,18),ang = angle_zero}},
  284. [2] = { seat = {pos = Vector(30,0,5),ang = Angle(0,180,0)}, plate = {pos = Vector(15,0,18),ang = angle_zero}},
  285. [3] = { seat = {pos = Vector(0,-30,5),ang = Angle(0,90,0)}, plate = {pos = Vector(0,-15,18),ang = angle_zero}},
  286. [4] = { seat = {pos = Vector(-30,0,5),ang = angle_zero}, plate = {pos = Vector(-15,0,18),ang = angle_zero}},
  287. }
  288. })
  289.  
  290. AddTable({
  291. mdl = "models/props_c17/furnituretable002a.mdl",
  292. positions = {
  293. [1] = { seat = {pos = Vector(0,40,5),ang = Angle(0,-90,0)}, plate = {pos = Vector(0,25,18),ang = angle_zero}},
  294. [2] = { seat = {pos = Vector(25,0,5),ang = Angle(0,180,0)}, plate = {pos = Vector(12,0,18),ang = angle_zero}},
  295. [3] = { seat = {pos = Vector(0,-40,5),ang = Angle(0,90,0)}, plate = {pos = Vector(0,-25,18),ang = angle_zero}},
  296. [4] = { seat = {pos = Vector(-25,0,5),ang = angle_zero}, plate = {pos = Vector(-12,0,18),ang = angle_zero}},
  297. }
  298. })
  299.  
  300. AddTable({
  301. mdl = "models/props_wasteland/cafeteria_table001a.mdl",
  302. positions = {
  303. [1] = { seat = {pos = Vector(0,65,8),ang = Angle(0,-90,0)}, plate = {pos = Vector(0,55,15),ang = angle_zero}},
  304.  
  305. [2] = { seat = {pos = Vector(25,35,8),ang = Angle(0,180,0)}, plate = {pos = Vector(11,35,15),ang = angle_zero}},
  306. [3] = { seat = {pos = Vector(25,12,8),ang = Angle(0,180,0)}, plate = {pos = Vector(11,12,15),ang = angle_zero}},
  307. [4] = { seat = {pos = Vector(25,-12,8),ang = Angle(0,180,0)}, plate = {pos = Vector(11,-12,15),ang = angle_zero}},
  308. [5] = { seat = {pos = Vector(25,-35,8),ang = Angle(0,180,0)}, plate = {pos = Vector(11,-35,15),ang = angle_zero}},
  309.  
  310. [6] = { seat = {pos = Vector(0,-65,8),ang = Angle(0,90,0)}, plate = {pos = Vector(0,-55,15),ang = angle_zero}},
  311.  
  312. [7] = { seat = {pos = Vector(-25,35,8),ang = angle_zero}, plate = {pos = Vector(-11,35,15),ang = angle_zero}},
  313. [8] = { seat = {pos = Vector(-25,12,8),ang = angle_zero}, plate = {pos = Vector(-11,12,15),ang = angle_zero}},
  314. [9] = { seat = {pos = Vector(-25,-12,8),ang = angle_zero}, plate = {pos = Vector(-11,-12,15),ang = angle_zero}},
  315. [10] = { seat = {pos = Vector(-25,-35,8),ang = angle_zero}, plate = {pos = Vector(-11,-35,15),ang = angle_zero}},
  316. }
  317. })
  318.  
  319. AddTable({
  320. mdl = "models/squad/sf_plates/sf_plate1x1.mdl",
  321. positions = {
  322. [1] = { seat = {pos = Vector(5.5,5,5),ang = Angle(0,-90,0)}, plate = {pos = Vector(5.5,-15,14),ang = angle_zero}},
  323. }
  324. })
  325.  
  326.  
  327.  
  328.  
  329.  
  330. ////////////// SH ACCESSORY
  331. if SH_ACC then
  332. if CLIENT then
  333. SH_ACC:DefineOffsetEasy("models/zerochain/props_kitchen/zmc_hat01.mdl", "ValveBiped.Bip01_Head1", Vector(3.6, 0, 0), Angle(-90, 23.3, 0))
  334. end
  335. SH_ACC:AddAccessory("zmc_hat01", {name = "Cooking Hat01", price = 5000, slot = SH_SLOT_HEAD, mdl = "models/zerochain/props_kitchen/zmc_hat01.mdl",scale = 0.82})
  336.  
  337. if CLIENT then
  338. SH_ACC:DefineOffsetEasy("models/zerochain/props_kitchen/zmc_hat02.mdl", "ValveBiped.Bip01_Head1", Vector(4, 0, 0), Angle(-90, 30, 0))
  339. end
  340. SH_ACC:AddAccessory("zmc_hat02", {name = "Cooking Hat02", price = 5000, slot = SH_SLOT_HEAD, mdl = "models/zerochain/props_kitchen/zmc_hat02.mdl",scale = 0.85})
  341.  
  342. if CLIENT then
  343. SH_ACC:DefineOffsetEasy("models/zerochain/props_kitchen/zmc_hat03.mdl", "ValveBiped.Bip01_Head1", Vector(4, 0, 0), Angle(0, 117, 90))
  344. end
  345. SH_ACC:AddAccessory("zmc_hat03", {name = "Cooking Hat03", price = 5000, slot = SH_SLOT_HEAD, mdl = "models/zerochain/props_kitchen/zmc_hat03.mdl",scale = 0.86})
  346. end
  347.  
  348. ////////////// AAS ACCESSORY
  349. if AAS and SERVER then
  350. AAS.AddItem({
  351. ["scale"] = Vector(0.6875, 0.53125, 0.875),
  352. ["options"] = {
  353. ["new"] = false,
  354. ["activate"] = true,
  355. ["iconPos"] = Vector(0, 0, 0),
  356. ["color"] = Color(240, 240, 240, 255),
  357. ["iconFov"] = 0,
  358. ["vip"] = false,
  359. ["bone"] = "ValveBiped.Bip01_Head1",
  360. ["skin"] = "0"
  361. },
  362. ["uniqueId"] = 96,
  363. ["model"] = "models/zerochain/props_kitchen/zmc_hat01.mdl",
  364. ["pos"] = Vector(4.875, 0, 0),
  365. ["category"] = "Hat",
  366. ["job"] = {},
  367. ["ang"] = Angle(-54.375, 0, -89.59400177002),
  368. ["price"] = 1000,
  369. ["name"] = "Cooking Hat",
  370. ["description"] = "Have you always wanted to become a chef? "
  371. }, nil, false, true)
  372.  
  373. AAS.AddItem({
  374. ["scale"] = Vector(0.78125, 0.59375, 1),
  375. ["options"] = {
  376. ["new"] = false,
  377. ["activate"] = true,
  378. ["iconPos"] = Vector(0, 0, 0),
  379. ["color"] = Color(240, 240, 240, 255),
  380. ["iconFov"] = 0,
  381. ["vip"] = false,
  382. ["bone"] = "ValveBiped.Bip01_Head1",
  383. ["skin"] = "0"
  384. },
  385. ["uniqueId"] = 97,
  386. ["model"] = "models/zerochain/props_kitchen/zmc_hat02.mdl",
  387. ["pos"] = Vector(5.375, 0, 0),
  388. ["category"] = "Hat",
  389. ["job"] = {},
  390. ["ang"] = Angle(-69.561996459961, 0, -89.59400177002),
  391. ["price"] = 1000,
  392. ["name"] = "Cooking Hat",
  393. ["description"] = "Have you always wanted to become a chef? "
  394. }, nil, false, true)
  395.  
  396. AAS.AddItem({
  397. ["scale"] = Vector(0.8125, 0.625, 1),
  398. ["options"] = {
  399. ["new"] = false,
  400. ["activate"] = true,
  401. ["iconPos"] = Vector(0, 0, 0),
  402. ["color"] = Color(240, 240, 240, 255),
  403. ["iconFov"] = 0,
  404. ["vip"] = false,
  405. ["bone"] = "ValveBiped.Bip01_Head1",
  406. ["skin"] = "0"
  407. },
  408. ["uniqueId"] = 98,
  409. ["model"] = "models/zerochain/props_kitchen/zmc_hat03.mdl",
  410. ["pos"] = Vector(5.09375, 0, 0),
  411. ["category"] = "Hat",
  412. ["job"] = {},
  413. ["ang"] = Angle(-70.15599822998, 0, -89.75),
  414. ["price"] = 1000,
  415. ["name"] = "Cooking Hat",
  416. ["description"] = "Have you always wanted to become a chef? "
  417. }, nil, false, true)
  418. end
  419.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement