XZTablets

MadMenuHaxx Library

Jul 9th, 2020
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.38 KB | None | 0 0
  1. --[[
  2. ModMenu Lib DOCS
  3.  
  4. Settings
  5. > Theme
  6. > Main: COLOR3, defaults Color3.fromRGB(165, 96, 97)
  7. > Background: COLOR3, defaults Color3.fromRGB(0, 0, 0)
  8. > TextColor: COLOR3, defaults Color3.fromRGB(255, 255, 255)
  9. > WindowCount: Amount of windows
  10. > Draggable: BOOLEAN, whether the windows can be dragged or not
  11. > Keybind: Enum.KeyCode, used to toggle UI
  12.  
  13. CreateMenu [params 1; settings]
  14. > Menu: ScreenGui
  15. > MenuSettings: Current settings for menu, refer to [Settings]
  16. > MenuOptions
  17. > CreateWindow [params 1, name]: Creates a new window, returns [Create Menu > MenuOptions > CreateWindow > WindowOptions]
  18. > WindowOptions
  19. > Toggles [table]: Currently enabled toggleables
  20. > Add [params 2, type, name]: Creates a new child under window, returns [Create Menu > MenuOptions > CreateWindow > WindowOptions > Add > ButtonOptions]
  21. > Name: Name of button
  22. > Style: Current style of button [toggleable, clickable]
  23. > Callback: Function called when button is clicked or toggled
  24.  
  25. Callbacks [custom params]
  26. -> Default callback
  27. function(Type, Name, a)
  28. if Type == 'toggle' then
  29. print(Name..' is now toggled to; '..tostring(a))
  30. elseif Type == 'clickable' then
  31. print(Name..' was clicked')
  32. end
  33. end
  34. > Callbacks can be modified via [Create Menu > MenuOptions > CreateWindow > WindowOptions > Add > ButtonOptions > Callback]
  35.  
  36.  
  37. Contact Information
  38. > [DISCORD] Josh#0903
  39.  
  40. To Note:
  41. > Draggable is buggy, don't ask me to fix that -> Do it yourself if you need a working one
  42.  
  43. Example Script:
  44. > https://hastebin.com/jakibotohi.lua
  45. --]]
  46.  
  47. local ModMenu = {}
  48. local ModMenuDefaultSettings = {
  49. ['Theme'] = {
  50. ['Main'] = Color3.fromRGB(171, 71, 188),
  51. ['Background'] = Color3.fromRGB(0, 0, 0),
  52. ['TextColor'] = Color3.fromRGB(255, 255, 255)
  53. },
  54. ['WindowCount'] = -1,
  55. ['Draggable'] = true,
  56. ['Keybind'] = Enum.KeyCode.F2
  57. } -- Settings for UIs without [param [Settings]]
  58.  
  59. ModMenu.CreateMenu = function(Settings)
  60. if game:GetService'CoreGui':FindFirstChild'ModMenu' then
  61. error'ModMenu Lib: Menu already exists'
  62. return
  63. end
  64. local Menu = Instance.new'ScreenGui'
  65. Menu.Name = 'ModMenu'
  66. Menu.Parent = game:GetService'CoreGui'
  67. local RFrameGuis = {}
  68. local RTextLabels = {}
  69. local TKeys = {}
  70. local TGetKey = false
  71. local TGrabKey
  72. local CurrentColor = Color3.new()
  73. local function TableFind(tab,el)
  74. for index, value in pairs(tab) do
  75. if value == el then
  76. return index
  77. end
  78. end
  79. end
  80. local MenuSettings = ModMenuDefaultSettings
  81. if Settings then
  82. MenuSettings = Settings
  83. end
  84. local UpdateCallback = function() end
  85. local MenuOptions = {}
  86. local GlobalModules = {}
  87. local GlobalEmuModules = {}
  88. local GlobalEmuKeyBindModules = {}
  89. local AllowDrag = {}
  90. local EnableBlur = true
  91. MenuOptions.CreateWindow = function(Name)
  92. if not Menu:FindFirstChild'Windows' then
  93. local Windows = Instance.new'Frame'
  94. Windows.Name = "Windows"
  95. Windows.Parent = Menu
  96. Windows.BackgroundTransparency = 1
  97. Windows.Position = UDim2.new(0, 10, 0, 70)
  98. Windows.Size = UDim2.new(1, -20, 0, 0)
  99. end
  100. if Name == 'Windows' then
  101. error'ModMenu Lib: Name not allowed'
  102. return
  103. end
  104.  
  105. local LastPos = -1
  106. for _, v in next, Menu.Windows:GetChildren() do
  107. if v.Size.X.Offset > LastPos then
  108. LastPos = v.Position.X.Offset
  109. end
  110. end
  111.  
  112. local NewWindow = Instance.new'Frame'
  113. local Title = Instance.new'TextLabel'
  114. local Title_2 = Instance.new'TextLabel'
  115. local Children = Instance.new'Frame'
  116.  
  117. local UIS = game:GetService("UserInputService")
  118. local dragging
  119. local dragInput
  120. local dragStart
  121. local startPos
  122.  
  123. local function update(input)
  124. local delta = input.Position - dragStart
  125. NewWindow.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
  126. end
  127.  
  128. NewWindow.InputBegan:Connect(function(input)
  129. if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
  130. dragging = true
  131. dragStart = input.Position
  132. startPos = NewWindow.Position
  133.  
  134. input.Changed:Connect(function()
  135. if input.UserInputState == Enum.UserInputState.End then
  136. dragging = false
  137. end
  138. end)
  139. end
  140. end)
  141.  
  142. NewWindow.InputChanged:Connect(function(input)
  143. if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
  144. dragInput = input
  145. end
  146. end)
  147.  
  148. UIS.InputChanged:Connect(function(input)
  149. if input == dragInput and dragging then
  150. update(input)
  151. end
  152. end)
  153.  
  154. NewWindow.Name = Name
  155. NewWindow.Parent = Menu:WaitForChild'Windows'
  156. NewWindow.BackgroundColor3 = MenuSettings.Theme.Main
  157. table.insert(RFrameGuis, NewWindow)
  158. NewWindow.BorderSizePixel = 0
  159. NewWindow.Size = UDim2.new(0, 150, 0, 25)
  160. NewWindow.Active = true
  161.  
  162. Title.Name = "Title"
  163. Title.Parent = NewWindow
  164. Title.BackgroundColor3 = Color3.new(1, 1, 1)
  165. Title.BackgroundTransparency = 1
  166. Title.Size = UDim2.new(1, 0, 0.9, 0)
  167. Title.ZIndex = 3
  168. Title.Font = Enum.Font.SourceSans
  169. Title.Text = Name
  170. Title.TextColor3 = Color3.new(1, 1, 1)
  171. Title.TextSize = 17
  172.  
  173. Title_2.Name = "bg"
  174. Title_2.Parent = Title
  175. Title_2.BackgroundColor3 = Color3.new(1, 1, 1)
  176. Title_2.BackgroundTransparency = 1
  177. Title_2.Position = UDim2.new(0, 1, 0, 1)
  178. Title_2.Size = UDim2.new(1, 0, 1, 0)
  179. Title_2.Font = Enum.Font.SourceSans
  180. Title_2.Text = Name
  181. Title_2.TextSize = 17
  182. Title_2.ZIndex = 2
  183.  
  184. Children.Name = "Children"
  185. Children.Parent = NewWindow
  186. Children.BackgroundColor3 = Color3.new(0, 0, 0)
  187. Children.BackgroundTransparency = 0.5
  188. Children.BorderSizePixel = 0
  189. Children.Position = UDim2.new(0.015, 0, 1, 0)
  190. Children.Size = UDim2.new(0.97, 0, 0, 0)
  191.  
  192. MenuSettings.WindowCount = MenuSettings.WindowCount + 1
  193. if MenuSettings.WindowCount > 1 then
  194. NewWindow.Position = UDim2.new(0, LastPos * MenuSettings.WindowCount, 0, 0)
  195. elseif MenuSettings.WindowCount == 1 then
  196. NewWindow.Position = UDim2.new(0, 155, 0, 0)
  197. end
  198.  
  199. local WindowOptions = {}
  200. WindowOptions.Toggles = {}
  201.  
  202. WindowOptions.Add = function(Type, Name)
  203. Type = string.lower(Type)
  204. if not NewWindow:FindFirstChild'Children' then
  205. error'ModMenu Lib: Children container not existent'
  206. return
  207. end
  208. Children.Size = UDim2.new(0.97, 0, Children.Size.Y.Scale + 1, 0)
  209. local LastPos = -1
  210. for _, v in next, Children:GetChildren() do
  211. if v.Size.Y.Offset > LastPos then
  212. LastPos = v.Position.Y.Offset
  213. end
  214. end
  215.  
  216. local Frame = Instance.new'TextButton'
  217. local TextLabel = Instance.new'TextLabel'
  218. local toggled = Instance.new'TextLabel'
  219. local tvar = false
  220. Frame.Name = "Frame"
  221. Frame.Active = false
  222. Frame.BackgroundTransparency = 1
  223. Frame.BorderSizePixel = 0
  224. Frame.Selectable = false
  225. Frame.Size = UDim2.new(0, 146, 0, 25)
  226. Frame.Text = ""
  227. Frame.TextTransparency = 1
  228.  
  229. if LastPos == -1 then
  230. Frame.Position = UDim2.new(0, 0, 0, 0)
  231. else
  232. Frame.Position = UDim2.new(0, 0, 0, #Children:GetChildren() * 25)
  233. end
  234.  
  235. Frame.Parent = NewWindow.Children
  236.  
  237. TextLabel.Parent = Frame
  238. TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
  239. TextLabel.BackgroundTransparency = 1
  240. TextLabel.Position = UDim2.new(0.2, 0, 0, 0)
  241. TextLabel.Size = UDim2.new(0.8, 0, 0.9, 0)
  242. TextLabel.Font = Enum.Font.SourceSansBold
  243. TextLabel.Text = Name
  244. TextLabel.TextColor3 = Color3.new(1, 1, 1)
  245. TextLabel.TextSize = 14
  246. TextLabel.TextXAlignment = Enum.TextXAlignment.Left
  247.  
  248. toggled.Name = "toggled"
  249. toggled.Parent = Frame
  250. toggled.BackgroundColor3 = Color3.new(1, 1, 1)
  251. toggled.BackgroundTransparency = 1
  252. toggled.Position = UDim2.new(0.075, 0, 0.03, 0)
  253. toggled.Size = UDim2.new(0.1, 0, 0.9, 0)
  254. toggled.Font = Enum.Font.SourceSansBold
  255. toggled.Text = ">"
  256. toggled.TextColor3 = MenuSettings.Theme.TextColor
  257. toggled.TextSize = 20
  258. toggled.TextXAlignment = Enum.TextXAlignment.Left
  259. toggled.Visible = true
  260.  
  261. local ButtonOptions = {}
  262. ButtonOptions.Name = Name
  263. ButtonOptions.Style = Type
  264.  
  265. -- Default callback
  266. ButtonOptions['Callback'] = function(Type, Name, a)
  267. --Nothing
  268. end
  269.  
  270. -- maybe add more themes later idk
  271. if Type == 'toggle' then
  272. GlobalEmuModules[Name] = (function()
  273. GlobalModules[Name] = not tvar
  274. WindowOptions.Toggles[Name] = not tvar
  275. if WindowOptions.Toggles[Name] then
  276. table.insert(RTextLabels, toggled)
  277. else
  278. table.remove(RTextLabels, TableFind(RTextLabels, toggled))
  279. end
  280. tvar = WindowOptions.Toggles[Name]
  281. if WindowOptions.Toggles[Name] then
  282. TextLabel.TextColor3 = CurrentColor
  283. table.insert(RTextLabels, TextLabel)
  284. else
  285. TextLabel.TextColor3 = MenuSettings.Theme.TextColor
  286. toggled.TextColor3 = MenuSettings.Theme.TextColor
  287. table.remove(RTextLabels, TableFind(RTextLabels, TextLabel))
  288. end
  289. UpdateCallback(GlobalModules)
  290. ButtonOptions['Callback'](Type, Name, WindowOptions.Toggles[Name])
  291. end)
  292. Frame.MouseButton1Click:connect(function()
  293. GlobalModules[Name] = not tvar
  294. WindowOptions.Toggles[Name] = not tvar
  295. if WindowOptions.Toggles[Name] then
  296. table.insert(RTextLabels, toggled)
  297. else
  298. table.remove(RTextLabels, TableFind(RTextLabels, toggled))
  299. end
  300. tvar = WindowOptions.Toggles[Name]
  301. if WindowOptions.Toggles[Name] then
  302. TextLabel.TextColor3 = CurrentColor
  303. table.insert(RTextLabels, TextLabel)
  304. else
  305. TextLabel.TextColor3 = MenuSettings.Theme.TextColor
  306. toggled.TextColor3 = MenuSettings.Theme.TextColor
  307. table.remove(RTextLabels, TableFind(RTextLabels, TextLabel))
  308. end
  309. UpdateCallback(GlobalModules)
  310. ButtonOptions['Callback'](Type, Name, WindowOptions.Toggles[Name])
  311. end)
  312. GlobalEmuKeyBindModules[Name] = (function(KeyCode)
  313. TextLabel.Text = Name .. " [" .. KeyCode.Name .. "]"
  314. TKeys[Name] =
  315. {
  316. Callback = function()
  317. GlobalModules[Name] = not tvar
  318. WindowOptions.Toggles[Name] = not tvar
  319. if WindowOptions.Toggles[Name] then
  320. table.insert(RTextLabels, toggled)
  321. else
  322. table.remove(RTextLabels, TableFind(RTextLabels, toggled))
  323. end
  324. tvar = WindowOptions.Toggles[Name]
  325. if WindowOptions.Toggles[Name] then
  326. TextLabel.TextColor3 = CurrentColor
  327. table.insert(RTextLabels, TextLabel)
  328. else
  329. TextLabel.TextColor3 = MenuSettings.Theme.TextColor
  330. toggled.TextColor3 = MenuSettings.Theme.TextColor
  331. table.remove(RTextLabels, TableFind(RTextLabels, TextLabel))
  332. end
  333. UpdateCallback(GlobalModules)
  334. ButtonOptions['Callback'](Type, Name, WindowOptions.Toggles[Name])
  335. end,
  336. Key = KeyCode
  337. }
  338. end)
  339. Frame.MouseButton2Click:connect(function()
  340. if TGetKey then
  341. TKeys[Name] = nil
  342. TextLabel.Text = Name
  343. TGrabKey = true
  344. TGetKey = false
  345. return
  346. end
  347. TGetKey = true
  348. TextLabel.Text = Name .. " [-]"
  349. while not TGrabKey do wait() end
  350. if TGrabKey == true then TGrabKey = nil TextLabel.Text = Name return end
  351. TKeys[Name] =
  352. {
  353. Callback = function()
  354. GlobalModules[Name] = not tvar
  355. WindowOptions.Toggles[Name] = not tvar
  356. if WindowOptions.Toggles[Name] then
  357. table.insert(RTextLabels, toggled)
  358. else
  359. table.remove(RTextLabels, TableFind(RTextLabels, toggled))
  360. end
  361. tvar = WindowOptions.Toggles[Name]
  362. if WindowOptions.Toggles[Name] then
  363. TextLabel.TextColor3 = CurrentColor
  364. table.insert(RTextLabels, TextLabel)
  365. else
  366. TextLabel.TextColor3 = MenuSettings.Theme.TextColor
  367. toggled.TextColor3 = MenuSettings.Theme.TextColor
  368. table.remove(RTextLabels, TableFind(RTextLabels, TextLabel))
  369. end
  370. UpdateCallback(GlobalModules)
  371. ButtonOptions['Callback'](Type, Name, WindowOptions.Toggles[Name])
  372. end,
  373. Key = TGrabKey.KeyCode
  374. }
  375. TextLabel.Text = Name .. " [" .. TGrabKey.KeyCode.Name .. "]"
  376. TGrabKey = nil
  377. TGetKey = false
  378. end)
  379. elseif Type == 'clickable' then
  380. Frame.MouseButton1Click:connect(function()
  381. ButtonOptions['Callback'](Type, Name)
  382. spawn(function()
  383. toggled.TextColor3 = CurrentColor
  384. TextLabel.TextColor3 = CurrentColor
  385. table.insert(RTextLabels, toggled)
  386. table.insert(RTextLabels, TextLabel)
  387. wait(0.5)
  388. toggled.TextColor3 = MenuSettings.Theme.TextColor
  389. TextLabel.TextColor3 = MenuSettings.Theme.TextColor
  390. table.remove(RTextLabels, TableFind(RTextLabels, toggled))
  391. table.remove(RTextLabels, TableFind(RTextLabels, TextLabel))
  392. end)
  393. end)
  394. GlobalEmuKeyBindModules[Name] = (function(KeyCode)
  395. TextLabel.Text = Name .. " [" .. KeyCode.Name .. "]"
  396. TKeys[Name] =
  397. {
  398. Callback = function()
  399. ButtonOptions['Callback'](Type, Name)
  400. spawn(function()
  401. toggled.TextColor3 = CurrentColor
  402. TextLabel.TextColor3 = CurrentColor
  403. table.insert(RTextLabels, toggled)
  404. table.insert(RTextLabels, TextLabel)
  405. wait(0.5)
  406. toggled.TextColor3 = MenuSettings.Theme.TextColor
  407. TextLabel.TextColor3 = MenuSettings.Theme.TextColor
  408. table.remove(RTextLabels, TableFind(RTextLabels, toggled))
  409. table.remove(RTextLabels, TableFind(RTextLabels, TextLabel))
  410. end)
  411. end,
  412. Key = KeyCode
  413. }
  414. end)
  415. Frame.MouseButton2Click:connect(function()
  416. if TGetKey then
  417. TKeys[Name] = nil
  418. TextLabel.Text = Name
  419. TGrabKey = true
  420. TGetKey = false
  421. return
  422. end
  423. TGetKey = true
  424. TextLabel.Text = Name .. " [-]"
  425. while not TGrabKey do wait() end
  426. if TGrabKey == true then TGrabKey = nil TextLabel.Text = Name return end
  427. TKeys[Name] =
  428. {
  429. Callback = function()
  430. ButtonOptions['Callback'](Type, Name)
  431. spawn(function()
  432. toggled.TextColor3 = CurrentColor
  433. TextLabel.TextColor3 = CurrentColor
  434. table.insert(RTextLabels, toggled)
  435. table.insert(RTextLabels, TextLabel)
  436. wait(0.5)
  437. toggled.TextColor3 = MenuSettings.Theme.TextColor
  438. TextLabel.TextColor3 = MenuSettings.Theme.TextColor
  439. table.remove(RTextLabels, TableFind(RTextLabels, toggled))
  440. table.remove(RTextLabels, TableFind(RTextLabels, TextLabel))
  441. end)
  442. end,
  443. Key = TGrabKey.KeyCode
  444. }
  445. TextLabel.Text = Name .. " [" .. TGrabKey.KeyCode.Name .. "]"
  446. TGrabKey = nil
  447. TGetKey = false
  448. end)
  449. end
  450.  
  451. return ButtonOptions
  452. end
  453. return WindowOptions
  454. end
  455.  
  456. local BlurEffect = Instance.new'BlurEffect'; BlurEffect.Parent = game:GetService'Lighting'
  457. local UserInputService = game:GetService'UserInputService'
  458. local Enabled = true
  459.  
  460. local JBFrame = Instance.new("Frame")
  461. local JBTextLabel = Instance.new("TextLabel")
  462. local JBTextLabel_2 = Instance.new("TextLabel")
  463.  
  464. JBFrame.Parent = Menu
  465. JBFrame.Active = true
  466. JBFrame.BackgroundTransparency = 1
  467. JBFrame.Position = UDim2.new(0, 2, 0, 2)
  468. JBFrame.Size = UDim2.new(0, 380, 0, 80)
  469.  
  470. JBTextLabel.Parent = JBFrame
  471. JBTextLabel.Active = true
  472. JBTextLabel.TextStrokeTransparency = 0.75
  473. JBTextLabel.BackgroundTransparency = 1
  474. JBTextLabel.Position = UDim2.new(0, 10, 0, 0)
  475. JBTextLabel.Size = UDim2.new(0, 210, 0, 60)
  476. JBTextLabel.Font = Enum.Font.SourceSansLight
  477. JBTextLabel.Text = "madcityhaxx"
  478. JBTextLabel.TextSize = 48
  479. JBTextLabel.TextXAlignment = Enum.TextXAlignment.Left
  480. table.insert(RTextLabels, JBTextLabel)
  481.  
  482. JBTextLabel_2.Parent = JBFrame
  483. JBTextLabel_2.Active = true
  484. JBTextLabel_2.BackgroundTransparency = 1
  485. JBTextLabel_2.TextStrokeTransparency = 0.75
  486. JBTextLabel_2.BorderSizePixel = 0
  487. JBTextLabel_2.Position = UDim2.new(0, 210, 0, 10)
  488. JBTextLabel_2.Size = UDim2.new(0, 50, 0, 50)
  489. JBTextLabel_2.Font = Enum.Font.SourceSansLight
  490. JBTextLabel_2.Text = "beta-v1.0"
  491. JBTextLabel_2.TextColor3 = Color3.new(0.501961, 0.501961, 0.501961)
  492. JBTextLabel_2.TextSize = 24
  493. JBTextLabel_2.TextXAlignment = Enum.TextXAlignment.Left
  494. JBTextLabel_2.TextYAlignment = Enum.TextYAlignment.Bottom
  495.  
  496. UserInputService.InputBegan:connect(function(a, b)
  497. if a.UserInputType == Enum.UserInputType.Keyboard then
  498. if TGetKey then TGrabKey = a return end
  499.  
  500. for I,V in pairs(TKeys) do
  501. if type(V) == "table" then
  502. if V["Key"] == a.KeyCode then
  503. V["Callback"]()
  504. end
  505. end
  506. end
  507.  
  508. if a.KeyCode == MenuSettings.Keybind then
  509. Menu.Enabled = not Enabled
  510. if EnableBlur then
  511. BlurEffect.Enabled = not Enabled
  512. else
  513. BlurEffect.Enabled = false
  514. end
  515. Enabled = not Enabled
  516. for I,V in pairs(AllowDrag) do
  517. V.Draggable = Enabled
  518. end
  519. local StarterGui = game:GetService('StarterGui')
  520. if Enabled then
  521. StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.All, false)
  522. else
  523. StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.All, true)
  524. end
  525. end
  526. end
  527. end)
  528.  
  529. spawn(function()
  530. while true do
  531. for i = 0, 1, 0.01 do
  532. if Enabled then
  533. CurrentColor = Color3.fromHSV(i,1,1)
  534. for i,v in pairs(RFrameGuis) do
  535. v.BackgroundColor3 = CurrentColor
  536. end
  537. for i,v in pairs(RTextLabels) do
  538. v.TextColor3 = CurrentColor
  539. end
  540. end
  541. wait(0.1)
  542. end
  543. end
  544. end)
  545.  
  546. function SetUpdateCallback(Call)
  547. UpdateCallback = Call
  548. end
  549.  
  550. function AddAllowDrag(Element)
  551. table.insert(AllowDrag, Element)
  552. end
  553.  
  554. function GetKeyBinds()
  555. return TKeys
  556. end
  557.  
  558. function GetActive()
  559. return GlobalModules
  560. end
  561.  
  562. function EmuToggle(Name)
  563. GlobalEmuModules[Name]()
  564. end
  565.  
  566. function EmuKeyBind(Name, KeyCode)
  567. GlobalEmuKeyBindModules[Name](KeyCode)
  568. end
  569.  
  570. function SetBlur(Value)
  571. EnableBlur = Value
  572. BlurEffect.Enabled = EnableBlur
  573. end
  574.  
  575. return {
  576. ['Menu'] = Menu,
  577. ['MenuSettings'] = MenuSettings,
  578. ['MenuOptions'] = MenuOptions,
  579. ['SetUpdateCallback'] = SetUpdateCallback,
  580. ['AddAllowDrag'] = AddAllowDrag,
  581. ['GetKeyBinds'] = GetKeyBinds,
  582. ['GetActive'] = GetActive,
  583. ['EmulateToggle'] = EmuToggle,
  584. ['EmulateKeyBind'] = EmuKeyBind,
  585. ['SetBlur'] = SetBlur
  586. }
  587. end
  588.  
  589. return ModMenu
Add Comment
Please, Sign In to add comment