plytalent

Healing

Dec 25th, 2020 (edited)
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 43.61 KB | None | 0 0
  1. if not _G.require then
  2. _G.require = require
  3. end
  4.  
  5. --// API References
  6. local GUIData = (function()
  7. -- Variables
  8. _V = 1.11
  9. local screenGui
  10. local err,errcode=pcall(function()
  11. screenGui = (script:FindFirstChild("ScreenGui")) or game:GetObjects("rbxassetid://2718157603")[1]:FindFirstChild("ScreenGui", true)
  12. end)
  13. if not err then
  14. print("ERR:",errcode)
  15. screenGui = game:GetService("ReplicatedStorage").CardinalityUI:Clone()
  16. end
  17. local Container = screenGui.Frame
  18. local Opt = Container.OptionsFrame
  19. local Checkbox = Opt.Checkbox
  20. local Color = Opt.Color
  21. local Frame = Opt.Frame
  22. local Execute = Opt.Execute
  23. local Mode = Opt.Mode
  24. local Number = Opt.Number
  25. local Toggle = Opt.Toggle
  26. local Mods = screenGui.Mods
  27. local ModLabel = Mods.Example
  28.  
  29. local TextService = game:GetService("TextService")
  30. local UserInputService = game:GetService("UserInputService")
  31. local HttpService = game:GetService("HttpService")
  32. local Player = game:GetService("Players").LocalPlayer
  33. local Mouse = Player:GetMouse()
  34. syn = syn or nil
  35. if syn then
  36. syn.protect_gui(screenGui)
  37. end
  38. err,errcode=pcall(function()
  39. screenGui.Parent = game:GetService("CoreGui")
  40. end)
  41. if not err then
  42. print("ERR:",errcode)
  43. screenGui.Parent = Player.PlayerGui
  44. end
  45.  
  46. Container.Parent = nil
  47. Checkbox.Parent = nil
  48. Color.Parent = nil
  49. Frame.Parent = nil
  50. Execute.Parent = nil
  51. Mode.Parent = nil
  52. Number.Parent = nil
  53. Toggle.Parent = nil
  54. ModLabel.Parent = nil
  55.  
  56. local settingsArray = {{Object = screenGui},{}}
  57. local saveData = {Options = {}, Hotkeys = {}}
  58.  
  59. local hotkeyFunctions = {}
  60. local gui = {}
  61.  
  62. -- Save Functions
  63. local writefile = writefile or function() end
  64. local function Save()
  65. local JSONData = HttpService:JSONEncode(saveData)
  66. writefile("OpenGui.txt", JSONData)
  67. end
  68.  
  69. -- Color Functions
  70. local color = {}
  71. local colors = {
  72. TextDisabled = Color3.fromRGB(200, 200, 200),
  73. TextEnabled = Color3.fromRGB(255, 255, 255),
  74. }
  75.  
  76. local Colors = {
  77. Color3.fromRGB(255, 73, 73),
  78. Color3.fromRGB(255, 161, 66),
  79. Color3.fromRGB(255, 233, 62),
  80. Color3.fromRGB(137, 255, 64),
  81. Color3.fromRGB(64, 255, 140),
  82. Color3.fromRGB(66, 252, 255),
  83. Color3.fromRGB(64, 147, 255),
  84. Color3.fromRGB(255, 93, 253),
  85. Color3.fromRGB(195, 110, 255),
  86. Color3.fromRGB(255, 90, 134),
  87. Color3.fromRGB(255, 255, 255),
  88. Color3.fromRGB(209, 209, 209),
  89. }
  90.  
  91. local function h2rgb(m1, m2, h)
  92. if h<0 then h = h+1 end
  93. if h>1 then h = h-1 end
  94. if h*6<1 then
  95. return m1+(m2-m1)*h*6
  96. elseif h*2<1 then
  97. return m2
  98. elseif h*3<2 then
  99. return m1+(m2-m1)*(2/3-h)*6
  100. else
  101. return m1
  102. end
  103. end
  104.  
  105. function color:rgbToHsv(r, g, b)
  106. local a = 0
  107. r, g, b, a = r / 255, g / 255, b / 255, a / 255
  108. local max, min = math.max(r, g, b), math.min(r, g, b)
  109. local h, s, v
  110. v = max
  111.  
  112. local d = max - min
  113. if max == 0 then s = 0 else s = d / max end
  114.  
  115. if max == min then
  116. h = 0 -- achromatic
  117. else
  118. if max == r then
  119. h = (g - b) / d
  120. if g < b then h = h + 6 end
  121. elseif max == g then h = (b - r) / d + 2
  122. elseif max == b then h = (r - g) / d + 4
  123. end
  124. h = h / 6
  125. end
  126.  
  127. return h, s, v
  128. end
  129.  
  130. function color:hslToRgb(h, s, L)
  131. h = h / 360
  132. local m2 = L <= .5 and L*(s+1) or L+s-L*s
  133. local m1 = L*2-m2
  134. return
  135. h2rgb(m1, m2, h+1/3), h2rgb(m1, m2, h), h2rgb(m1, m2, h-1/3)
  136. end
  137.  
  138. function color:rgbToHsl(r, g, b)
  139. local min = math.min(r, g, b)
  140. local max = math.max(r, g, b)
  141. local delta = max - min
  142.  
  143. local h, s, l = 0, 0, (min + max) / 2
  144.  
  145. if l > 0 and l < 0.5 then s = delta / (max + min) end
  146. if l >= 0.5 and l < 1 then s = delta / (2 - max - min) end
  147.  
  148. if delta > 0 then
  149. if max == r and max ~= g then h = h + (g-b) / delta end
  150. if max == g and max ~= b then h = h + 2 + (b-r) / delta end
  151. if max == b and max ~= r then h = h + 4 + (r-g) / delta end
  152. h = h / 6
  153. end
  154.  
  155. if h < 0 then h = h + 1 end
  156. if h > 1 then h = h - 1 end
  157.  
  158. return h * 360, s, l
  159. end
  160.  
  161. function color:adjustLightness(color3, amount)
  162. local h, s, l = self:rgbToHsl(color3.r, color3.g, color3.b)
  163. return Color3.new(self:hslToRgb(h, s, l + amount))
  164. end
  165.  
  166. -- UI Functions
  167. function gui.tween(object,style,direction,t,goal)
  168. local tweenservice = game:GetService("TweenService")
  169. local tweenInfo = TweenInfo.new(t,Enum.EasingStyle[style],Enum.EasingDirection[direction])
  170. local tween = tweenservice:Create(object,tweenInfo,goal)
  171. tween.Completed:Connect(function()
  172. tween:Destroy()
  173. end)
  174. tween:Play()
  175. return tween
  176. end
  177.  
  178. function gui:makeDraggable(ui, callback)
  179. local UserInputService = game:GetService("UserInputService")
  180.  
  181. local dragging
  182. local dragInput
  183. local dragStart
  184. local startPos
  185.  
  186. local function update(input)
  187. local delta = input.Position - dragStart
  188. ui.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
  189.  
  190. if callback then
  191. callback(ui.Position.X.Offset, ui.Position.Y.Offset)
  192. end
  193. end
  194.  
  195. ui.InputBegan:Connect(function(input)
  196. if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
  197. dragging = true
  198. dragStart = input.Position
  199. startPos = ui.Position
  200.  
  201. input.Changed:Connect(function()
  202. if input.UserInputState == Enum.UserInputState.End then
  203. dragging = false
  204. end
  205. end)
  206. end
  207. end)
  208.  
  209. ui.InputChanged:Connect(function(input)
  210. if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
  211. dragInput = input
  212. end
  213. end)
  214.  
  215. UserInputService.InputChanged:Connect(function(input)
  216. if input == dragInput and dragging then
  217. update(input)
  218. end
  219. end)
  220. end
  221.  
  222. function gui:unpack(data, type)
  223. if data == nil then return end
  224. if type == "UDim2" then
  225. return data and UDim2.new(data[1], data[2], data[3], data[4])
  226. elseif type == "boolean" then
  227. return data == 1 and true or false
  228. elseif type == "Color3" then
  229. return Color3.new(data[1], data[2], data[3])
  230. end
  231. return data
  232. end
  233.  
  234. function gui:pack(data)
  235. if typeof(data) == "UDim2" then
  236. return {data.X.Scale, data.X.Offset, data.Y.Scale, data.Y.Offset}
  237. elseif typeof(data) == "boolean" then
  238. return data and 1 or 0
  239. elseif typeof(data) == "Color3" then
  240. return {data.r, data.g, data.b}
  241. end
  242. return data
  243. end
  244.  
  245. function gui:getn(array)
  246. local n = 0
  247. for _, v in pairs(array) do
  248. n = n + 1
  249. end
  250. return n
  251. end
  252.  
  253. function gui:setText(textLabel, text)
  254. text = tostring(text)
  255. textLabel.Text = text
  256. if textLabel:FindFirstChild("Opaque") then
  257. textLabel.Opaque.Text = text
  258. end
  259. if textLabel:FindFirstChild("Shadow") then
  260. textLabel.Shadow.Text = text
  261. end
  262. end
  263.  
  264. function gui:onDoubleTap(guiObject, callback)
  265. local lastTap = tick()
  266. guiObject.InputBegan:Connect(function(input)
  267. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  268. if tick() - lastTap < 0.25 then
  269. callback()
  270. end
  271. lastTap = tick()
  272. end
  273. end)
  274. end
  275.  
  276. local connections = {}
  277. function gui:connect(func)
  278. table.insert(connections, func)
  279. end
  280.  
  281. function gui:createList(guiObject, guiData)
  282. local ListLayout = guiObject.OptionsFrame.UIListLayout
  283. local Padding = guiObject.OptionsFrame.UIPadding
  284. guiObject.OptionsFrame.UIListLayout.Changed:Connect(function(Property)
  285. if Property == "AbsoluteContentSize" then
  286. guiData.ySize = ListLayout.AbsoluteContentSize.Y + 2 + Padding.PaddingTop.Offset + ListLayout.Padding.Offset * 2
  287. end
  288. end)
  289.  
  290. gui:connect(function()
  291. if guiObject:FindFirstChild("Title") then
  292. local yRes = Mouse.ViewSizeY
  293. local diff = yRes - (guiData.yPos + guiData.ySize)
  294. local difference = math.clamp(diff, 0, 5000)
  295. guiObject.OptionsFrame.CanvasSize = UDim2.new(1, 0, 1.001, guiData.ySize - 35)
  296.  
  297. if guiData.Open then
  298. guiObject.OptionsFrame.Size = guiObject.OptionsFrame.Size:Lerp(UDim2.new(1, 0, 0, guiData.ySize + math.clamp(diff, -5000, 0)), 0.3)
  299. else
  300. guiObject.OptionsFrame.Size = guiObject.OptionsFrame.Size:Lerp(UDim2.new(1, 0, 0, 0), 0.3)
  301. end
  302.  
  303. guiObject.Frame.Size = guiObject.OptionsFrame.Size
  304. else
  305. if guiData.Open then
  306. guiObject.Size = guiObject.Size:Lerp(UDim2.new(1, -8, 0, 35 + guiData.ySize), 0.3)
  307. else
  308. guiObject.Size = guiObject.Size:Lerp(UDim2.new(1, -8, 0, 35), 0.3)
  309. end
  310. end
  311. end)
  312.  
  313. if guiObject:FindFirstChild("Dropdown") then
  314. guiObject.Dropdown.Visible = false
  315. guiObject.Dropdown.MouseButton1Down:Connect(function()
  316. guiData.Open = not guiData.Open
  317. if guiData.Open then
  318. guiObject.Dropdown.Image = "rbxassetid://3559638428"
  319. else
  320. guiObject.Dropdown.Image = "rbxassetid://3554238678"
  321. end
  322. end)
  323. else
  324. gui:onDoubleTap(guiObject, function()
  325. guiData.Open = not guiData.Open
  326. end)
  327. end
  328. end
  329.  
  330. function gui:textColorOnHover(guiObject, guiData)
  331. local hover = guiData.baseColor or guiObject.TextColor3
  332. local default = color:adjustLightness(hover, -0.075)
  333. local mdown = color:adjustLightness(hover, -0.15)
  334. local mouseIn
  335.  
  336. local function update()
  337. if guiData.baseColor then
  338. hover = guiData.baseColor or guiObject.TextColor3
  339. default = color:adjustLightness(hover, -0.075)
  340. mdown = color:adjustLightness(hover, -0.15)
  341. end
  342. end
  343.  
  344. guiObject.MouseEnter:Connect(function()
  345. update()
  346. gui.tween(guiObject, "Sine", "Out", 0.25, {
  347. TextColor3 = hover;
  348. })
  349. mouseIn = true
  350. end)
  351.  
  352. guiObject.MouseLeave:Connect(function()
  353. mouseIn = false
  354. update()
  355. gui.tween(guiObject, "Sine", "Out", 0.25, {
  356. TextColor3 = default;
  357. })
  358. end)
  359.  
  360. guiObject.InputBegan:Connect(function(input)
  361. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  362. update()
  363. gui.tween(guiObject, "Sine", "Out", 0.25, {
  364. TextColor3 = mdown;
  365. })
  366. end
  367. end)
  368.  
  369. guiObject.InputEnded:Connect(function(input)
  370. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  371. update()
  372. gui.tween(guiObject, "Sine", "Out", 0.25, {
  373. TextColor3 = mouseIn and hover or default;
  374. })
  375. end
  376. end)
  377.  
  378. guiObject.TextColor3 = default
  379. end
  380.  
  381. function gui:sliderXY(sliderFrame, inputObjects, callback)
  382. local inputDown = false
  383.  
  384. local function refresh(c1, c2)
  385. local sliderX = sliderFrame.AbsolutePosition.X + sliderFrame.AbsoluteSize.X
  386. local sliderY = sliderFrame.AbsolutePosition.Y + sliderFrame.AbsoluteSize.Y
  387.  
  388. local distX = sliderX - Mouse.X
  389. local distY = sliderY - Mouse.Y
  390.  
  391. local deltaX = 1-math.clamp(distX / sliderFrame.AbsoluteSize.X, 0, 1)
  392. local deltaY = 1-math.clamp(distY / sliderFrame.AbsoluteSize.Y, 0, 1)
  393.  
  394. if callback then
  395. callback(c1 or deltaX, c2 or deltaY)
  396. end
  397. end
  398.  
  399. for _, obj in pairs(inputObjects) do
  400. obj.InputBegan:Connect(function(input)
  401. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  402. inputDown = true
  403. refresh()
  404. end
  405. end)
  406. obj.InputEnded:Connect(function(input)
  407. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  408. inputDown = false
  409. refresh()
  410. end
  411. end)
  412. obj.InputChanged:Connect(function(input)
  413. if input == nil or input.UserInputType == Enum.UserInputType.MouseMovement then
  414. if inputDown then
  415. refresh()
  416. end
  417. end
  418. end)
  419. end
  420.  
  421. return refresh
  422. end
  423.  
  424. function gui:createSlider(sliderFrame, inputObjects, callback)
  425. local slider = sliderFrame.Value
  426. local inputDown = false
  427.  
  428. local absPos = sliderFrame.AbsolutePosition.X + sliderFrame.AbsoluteSize.X
  429. local absSize = sliderFrame.AbsoluteSize.X
  430.  
  431. local function refresh(custom)
  432. local mouseX = Mouse.X
  433. local sliderX = absPos
  434. local dist = sliderX - mouseX
  435. local delta = 1 - math.clamp(dist / absSize, 0, 1)
  436.  
  437. if custom then
  438. delta = custom
  439. end
  440.  
  441. slider.Size = UDim2.new(delta, 0, 1, 0)
  442. if callback then
  443. callback(delta, custom)
  444. end
  445. end
  446.  
  447. for _, obj in pairs(inputObjects) do
  448. obj.InputBegan:Connect(function(input)
  449. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  450. inputDown = true
  451. absPos = sliderFrame.AbsolutePosition.X + sliderFrame.AbsoluteSize.X
  452. absSize = sliderFrame.AbsoluteSize.X
  453. refresh()
  454. end
  455. end)
  456. obj.InputEnded:Connect(function(input)
  457. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  458. inputDown = false
  459. refresh()
  460. end
  461. end)
  462. obj.InputChanged:Connect(function(input)
  463. if input == nil or input.UserInputType == Enum.UserInputType.MouseMovement then
  464. if inputDown then
  465. refresh()
  466. end
  467. end
  468. end)
  469. end
  470.  
  471. return refresh
  472. end
  473.  
  474. function gui:textSize(txt, vSize)
  475. return TextService:GetTextSize(txt.Text, txt.TextSize, txt.Font, vSize)
  476. end
  477.  
  478. local currentHint = 0
  479.  
  480. function gui:addHint(guiObject, hintText)
  481. local hintKey = math.random()
  482. guiObject.MouseEnter:Connect(function()
  483. hintKey = math.random()
  484. currentHint = hintKey
  485.  
  486. wait(2)
  487.  
  488. if currentHint == hintKey then
  489. gui:setText(screenGui.Hint, " " .. hintText .. " ")
  490. local textSize = gui:textSize(screenGui.Hint, Vector2.new(2500, 500))
  491. screenGui.Hint.Position = UDim2.new(0, Mouse.X, 0, Mouse.Y + 4)
  492. screenGui.Hint.Size = UDim2.new(0, textSize.X, 0, textSize.Y)
  493. screenGui.Hint.Visible = true
  494. end
  495. end)
  496.  
  497. guiObject.MouseLeave:Connect(function()
  498. hintKey = math.random()
  499. end)
  500.  
  501. Mouse.Move:Connect(function()
  502. if currentHint == hintKey then
  503. screenGui.Hint.Visible = false
  504. end
  505. end)
  506. end
  507.  
  508. -- UI Type Library
  509. local lib = {}
  510.  
  511. function lib.Color(data, dataArray)
  512. local guiObject = Color:Clone()
  513. local color3Value = gui:unpack(saveData.Options[data.ID].Value, "Color3") or data.Default or Color3.new(1, 1, 1)
  514. local guiData = {}
  515.  
  516. local HSV = color3Value
  517. local H, S, V = color:rgbToHsv(HSV.r * 255, HSV.g * 255, HSV.b * 255)
  518.  
  519. local newValue = function()
  520. HSV = Color3.fromHSV(H, S, V)
  521. guiObject.SV.BackgroundColor3 = Color3.fromHSV(H, 1, 1)
  522. guiObject.Indicator.BackgroundColor3 = HSV
  523. saveData.Options[data.ID].Value = gui:pack(HSV, "Color3")
  524.  
  525. guiObject.R.Text = math.floor(HSV.r * 255)
  526. guiObject.G.Text = math.floor(HSV.g * 255)
  527. guiObject.B.Text = math.floor(HSV.b * 255)
  528.  
  529. if data.Callback then
  530. data.Callback(HSV)
  531. end
  532. end
  533.  
  534. local function updateHSV()
  535. H, S, V = color:rgbToHsv(HSV.r * 255, HSV.g * 255, HSV.b * 255)
  536. end
  537.  
  538. local H_set = gui:sliderXY(guiObject.H, {guiObject.H}, function(X, Y, u)
  539. if not u then H = 1 - Y end
  540. guiObject.H.Locator.Position = UDim2.new(0.5, 0, Y, 0)
  541. newValue()
  542. end)
  543.  
  544. local SV_set = gui:sliderXY(guiObject.SV, {guiObject.SV}, function(X, Y, u)
  545. if not u then S = X; V = 1 - Y; end
  546. guiObject.SV.Locator.Position = UDim2.new(X, 0, Y, 0)
  547. newValue()
  548. end)
  549.  
  550. guiObject.R.FocusLost:Connect(function()
  551. HSV = Color3.new(guiObject.R.Text / 255, HSV.g, HSV.b)
  552. updateHSV()
  553. newValue()
  554. end)
  555. guiObject.G.FocusLost:Connect(function()
  556. HSV = Color3.new(HSV.r, guiObject.G.Text / 255, HSV.b)
  557. updateHSV()
  558. newValue()
  559. end)
  560. guiObject.B.FocusLost:Connect(function()
  561. HSV = Color3.new(HSV.r, HSV.g, guiObject.B.Text / 255)
  562. updateHSV()
  563. newValue()
  564. end)
  565.  
  566. newValue()
  567. SV_set(S, 1 - V)
  568. H_set(0, H)
  569.  
  570. guiData.ySize = 0
  571. guiData.Open = false
  572. guiData.baseColor = colors.TextEnabled
  573.  
  574. gui:setText(guiObject.Label, data.Name)
  575. gui:textColorOnHover(guiObject.Label, guiData)
  576.  
  577. return guiObject
  578. end
  579.  
  580. function lib.Number(data, dataArray)
  581. local guiObject = Number:Clone()
  582. local Value = gui:unpack(saveData.Options[data.ID].Value, "number") or data.Default or math.floor(data.Min + (data.Max - data.Min) / 2)
  583. local guiData = {}
  584.  
  585. local dMax = data.Max - data.Min
  586. local dValue = (Value - data.Min) / dMax
  587.  
  588. data.Round = data.Round or 1
  589.  
  590. local newValue = function(delta)
  591. local exactValue = data.Min + (data.Max - data.Min) * delta
  592. Value = math.floor(exactValue / data.Round) * data.Round
  593. Value = math.clamp(Value, data.Min, data.Max)
  594. guiObject.Indicator.Value.Text = tostring(Value)
  595.  
  596. if data.Callback then
  597. data.Callback(Value)
  598. end
  599. saveData.Options[data.ID].Value = gui:pack(Value, "number")
  600. end
  601.  
  602. local slideSet = gui:createSlider(guiObject.ValueFrame, {guiObject.Label, guiObject.Indicator}, newValue)
  603. slideSet(math.clamp(dValue, 0, 1))
  604.  
  605. guiObject.Indicator.MouseButton1Down:Connect(newValue)
  606. guiObject.Label.MouseButton1Down:Connect(newValue)
  607. newValue(math.clamp(dValue, 0, 1))
  608.  
  609. guiData.ySize = 0
  610. guiData.Open = false
  611. guiData.baseColor = colors.TextEnabled
  612.  
  613. gui:createList(guiObject, guiData)
  614. gui:setText(guiObject.Label, data.Name)
  615. gui:textColorOnHover(guiObject.Label, guiData)
  616.  
  617. return guiObject
  618. end
  619.  
  620. function lib.Execute(data, dataArray)
  621. local guiObject = Execute:Clone()
  622. local guiData = {}
  623.  
  624. local newValue = function(val)
  625. if data.Callback then
  626. data.Callback()
  627. end
  628. end
  629.  
  630. guiObject.MouseEnter:Connect(function()
  631. gui.tween(guiObject.Indicator, "Sine", "Out", .25, {Size = UDim2.new(0, 40, 0, 25)})
  632. end)
  633.  
  634. guiObject.MouseLeave:Connect(function()
  635. gui.tween(guiObject.Indicator, "Sine", "Out", .25, {Size = UDim2.new(0, 0, 0, 25)})
  636. end)
  637.  
  638. guiObject.Indicator.MouseButton1Down:Connect(newValue)
  639. guiObject.Label.MouseButton1Down:Connect(newValue)
  640. newValue(true)
  641.  
  642. guiData.ySize = 0
  643. guiData.Open = false
  644. guiData.baseColor = colors.TextEnabled
  645.  
  646. gui:createList(guiObject, guiData)
  647. gui:setText(guiObject.Label, data.Name)
  648. gui:textColorOnHover(guiObject.Label, guiData)
  649.  
  650. return guiObject
  651. end
  652.  
  653. function lib.Mode(data, dataArray)
  654. local guiObject = Mode:Clone()
  655. local valueIndex = gui:unpack(saveData.Options[data.ID].Value, "number") or data.Default or 1
  656. local guiData = {}
  657.  
  658. local newValue = function(val)
  659. if val == true then else
  660. valueIndex = (valueIndex % #data.Modes) + 1
  661. end
  662.  
  663. local Value = data.Modes[valueIndex]
  664. gui:setText(guiObject.Mode, Value)
  665.  
  666. if data.Callback then
  667. data.Callback(Value)
  668. end
  669. saveData.Options[data.ID].Value = gui:pack(valueIndex)
  670. end
  671.  
  672. guiObject.Mode.MouseButton1Down:Connect(newValue)
  673. guiObject.Label.MouseButton1Down:Connect(newValue)
  674. newValue(true)
  675.  
  676. guiData.ySize = 0
  677. guiData.Open = false
  678. guiData.baseColor = colors.TextEnabled
  679.  
  680. gui:createList(guiObject, guiData)
  681. gui:setText(guiObject.Label, data.Name)
  682. gui:textColorOnHover(guiObject.Label, guiData)
  683.  
  684. return guiObject
  685. end
  686.  
  687. function lib.Hotkey(data, dataArray)
  688. local guiObject = Mode:Clone()
  689. local hotkeyInput = gui:unpack(saveData.Hotkeys[data.ID], "string") or data.Hotkey or ""
  690. local guiData = {}
  691.  
  692. local lastInput = hotkeyInput
  693. local mouseIn = false
  694.  
  695. guiObject.Name = "Z"
  696.  
  697. local newValue = function(val)
  698. local input
  699. gui:setText(guiObject.Mode, "...")
  700. saveData.Hotkeys[data.ID] = nil
  701.  
  702. if not val then
  703. input = lastInput
  704. mouseIn = true
  705.  
  706. lastInput = nil
  707.  
  708. repeat wait() until mouseIn == false or lastInput
  709. end
  710.  
  711. if not lastInput then
  712. lastInput = hotkeyInput
  713. end
  714.  
  715. saveData.Hotkeys[data.ID] = tostring(lastInput)
  716. hotkeyFunctions[data.ID] = data.callback
  717.  
  718. hotkeyInput = tostring(lastInput)
  719. saveData.Options[data.ID].Value = hotkeyInput
  720. gui:setText(guiObject.Mode, hotkeyInput:sub(14))
  721. end
  722.  
  723. UserInputService.InputBegan:Connect(function(input)
  724. if input.KeyCode == Enum.KeyCode.Unknown then return end
  725. if input.KeyCode == Enum.KeyCode.Backspace then lastInput = "" return end
  726. lastInput = tostring(input.KeyCode)
  727. end)
  728.  
  729. guiObject.Mode.MouseButton1Down:Connect(function() newValue() end)
  730. guiObject.Label.MouseButton1Down:Connect(function() newValue() end)
  731. guiObject.MouseLeave:Connect(function()
  732. mouseIn = false
  733. end)
  734. newValue(true)
  735.  
  736. guiData.ySize = 0
  737. guiData.Open = false
  738. guiData.baseColor = colors.TextEnabled
  739.  
  740. gui:createList(guiObject, guiData)
  741. gui:setText(guiObject.Label, "Hotkey")
  742. gui:textColorOnHover(guiObject.Label, guiData)
  743.  
  744. guiObject.Parent = dataArray.Object.OptionsFrame
  745.  
  746. return guiObject
  747. end
  748.  
  749. function lib.Toggle(data, dataArray)
  750. local guiObject = Toggle:Clone()
  751. local Value = gui:unpack(saveData.Options[data.ID].Value, "boolean") or data.Default or false
  752. local guiData = {}
  753.  
  754. local modFrame = ModLabel:Clone()
  755. modFrame.Parent = Mods
  756. modFrame.TextColor3 = Colors[math.random(1, #Colors)]
  757. modFrame.Visible = false
  758. gui:setText(modFrame, data.Name)
  759.  
  760. guiObject.Name = data.Name
  761.  
  762. local newValue = function(val, set)
  763. if val == true then
  764. else
  765. if set then
  766. Value = set
  767. else
  768. Value = not Value
  769. end
  770. end
  771.  
  772. if Value then
  773. gui.tween(guiObject.Indicator, "Sine", "Out", .25, {BackgroundColor3 = Color3.fromRGB(60, 222, 60)})
  774. guiObject.Indicator.Text = "ON"
  775. guiData.baseColor = colors.TextEnabled
  776. else
  777. gui.tween(guiObject.Indicator, "Sine", "Out", .25, {BackgroundColor3 = Color3.fromRGB(222, 60, 60)})
  778. guiObject.Indicator.Text = "OFF"
  779. guiData.baseColor = colors.TextDisabled
  780. end
  781.  
  782. if data.Callback then
  783. data.Callback(Value)
  784. end
  785.  
  786. saveData.Options[data.ID].Value = gui:pack(Value)
  787. modFrame.Visible = Value
  788.  
  789. end
  790.  
  791. guiObject.MouseEnter:Connect(function()
  792. gui.tween(guiObject.Indicator, "Sine", "Out", .25, {Size = UDim2.new(0, 40, 0, 25)})
  793. end)
  794.  
  795. guiObject.MouseLeave:Connect(function()
  796. gui.tween(guiObject.Indicator, "Sine", "Out", .25, {Size = UDim2.new(0, 0, 0, 25)})
  797. end)
  798.  
  799. gui.tween(guiObject.Indicator, "Sine", "Out", .25, {Size = UDim2.new(0, 0, 0, 25)})
  800. guiObject.Indicator.MouseButton1Down:Connect(function() newValue() end)
  801. guiObject.Label.MouseButton1Down:Connect(function() newValue() end)
  802. newValue(true)
  803.  
  804. guiData.ySize = 0
  805. guiData.Open = false
  806. guiData.baseColor = colors.TextDisabled
  807.  
  808. gui:createList(guiObject, guiData)
  809. gui:setText(guiObject.Label, data.Name)
  810. gui:textColorOnHover(guiObject.Label, guiData)
  811.  
  812. data.callback = newValue
  813.  
  814. return guiObject
  815. end
  816.  
  817. function lib.Checkbox(data, dataArray)
  818. local guiObject = Checkbox:Clone()
  819. local Value = gui:unpack(saveData.Options[data.ID].Value, "boolean") or data.Default or false
  820. local guiData = {}
  821.  
  822. guiObject.Name = "0"
  823.  
  824. local newValue = function(val)
  825. if val == true then else
  826. Value = not Value
  827. end
  828. if Value then
  829. gui.tween(guiObject.Indicator, "Sine", "Out", .35, {Size = UDim2.new(0, 35, 0, 35)})
  830. guiData.baseColor = colors.TextEnabled
  831. else
  832. gui.tween(guiObject.Indicator, "Sine", "Out", .35, {Size = UDim2.new(0, 0, 0, 35)})
  833. guiData.baseColor = colors.TextDisabled
  834. end
  835. if data.Callback then
  836. data.Callback(Value)
  837. end
  838. saveData.Options[data.ID].Value = gui:pack(Value)
  839. end
  840.  
  841. guiObject.Indicator.MouseButton1Down:Connect(newValue)
  842. guiObject.Label.MouseButton1Down:Connect(newValue)
  843. newValue(true)
  844.  
  845. guiData.ySize = 0
  846. guiData.Open = false
  847. guiData.baseColor = colors.TextDisabled
  848.  
  849. gui:createList(guiObject, guiData)
  850. gui:setText(guiObject.Label, data.Name)
  851. gui:textColorOnHover(guiObject.Label, guiData)
  852.  
  853. return guiObject
  854. end
  855.  
  856. function lib.Frame(data, dataArray)
  857. local guiObject = Frame:Clone()
  858.  
  859. local guiData = {}
  860. guiData.ySize = 0
  861. guiData.Open = false
  862.  
  863. gui:createList(guiObject, guiData)
  864. gui:setText(guiObject.Label, data.Name)
  865. gui:textColorOnHover(guiObject.Label, guiData)
  866.  
  867. return guiObject
  868. end
  869.  
  870. function lib.Container(data, dataArray)
  871. local guiObject = Container:Clone()
  872.  
  873. guiObject.Position = gui:unpack(saveData.Options[data.ID].Position, "UDim2") or UDim2.new(0, 3, 0, 3 + gui:getn(settingsArray[2]) * 38)
  874.  
  875. local guiData = {}
  876. guiData.yPos = 0
  877. guiData.ySize = 0
  878. guiData.Open = false
  879.  
  880. gui:textColorOnHover(guiObject.Title, guiData)
  881. gui:createList(guiObject, guiData)
  882. gui:setText(guiObject.Title, data.Name)
  883. gui:makeDraggable(guiObject, function(x, y)
  884. guiData.yPos = y
  885. saveData.Options[data.ID].Position = gui:pack(guiObject.Position)
  886. end)
  887.  
  888. return guiObject
  889. end
  890.  
  891. -- UI Creation Library
  892. function gui.create(self, guiType, data)
  893. if self == gui then
  894. self = settingsArray
  895. end
  896.  
  897. data.ID = data.Name .. "_" .. (self[1].Name or "TOP")
  898.  
  899. if not saveData.Options[data.ID] then
  900. saveData.Options[data.ID] = {}
  901. end
  902.  
  903. if self[1].Object:FindFirstChild("Dropdown") then
  904. self[1].Object.Dropdown.Visible = true
  905. end
  906.  
  907. local dataArray = {}
  908. local objectArray = {}
  909. local selfArray = {dataArray, objectArray, create = gui.create, callback = data.Callback}
  910. dataArray.Name = data.Name
  911. dataArray.Data = data
  912. dataArray.Object = lib[guiType](data, dataArray)
  913. dataArray.self = selfArray
  914.  
  915. if guiType == "Toggle" then
  916. lib.Hotkey(data, dataArray)
  917. end
  918. if data.Hint then
  919. local Object = dataArray.Object
  920. gui:addHint(Object:FindFirstChild("Title") or Object:FindFirstChild("Label"), data.Hint)
  921. end
  922.  
  923. self[1][data.Name] = selfArray
  924. self[2][data.Name] = dataArray.Object
  925.  
  926. dataArray.Object.Parent = self[1].Object:FindFirstChild("OptionsFrame") or self[1].Object
  927.  
  928. return dataArray
  929. end
  930.  
  931. -- Connection Stuff
  932. game:GetService("RunService").RenderStepped:Connect(function()
  933. for _, func in pairs(connections) do
  934. func()
  935. end
  936. end)
  937.  
  938. UserInputService.InputBegan:Connect(function(input, gameProcessed)
  939. if gameProcessed then return end
  940. for id, key in pairs(saveData.Hotkeys) do
  941. if key == tostring(input.KeyCode) then
  942. hotkeyFunctions[id]()
  943. end
  944. end
  945. end)
  946.  
  947. Mods.Text = "OpenGui " .. _V
  948.  
  949. game.Close:Connect(function()
  950. Save()
  951. end)
  952.  
  953. return {gui, saveData, screenGui}
  954. end)()
  955.  
  956. local notify = {Title ="HENTAI", Text ="Got It?", Duration = 120, Button1 = "OK"}
  957. local sound
  958.  
  959. -- modify esp
  960. local _ESP = (function()
  961. --// Variables
  962. local module = {}
  963.  
  964. local RunService = game:GetService("RunService")
  965. local Players = game:GetService("Players")
  966. local Player = Players.LocalPlayer
  967.  
  968. module.Options = {
  969. Enabled = false,
  970. Parent = script.Parent or game.CoreGui,
  971. Color = Color3.new(1, 0, 0),
  972. LegendaryOrMagicalShow = true,
  973. Magical_Color=Color3.new(0, 1, 1),
  974. Legendary_Color=Color3.new(1, 1, 0),
  975. Npcs_Color=Color3.new(1, 1, 1),
  976. MagicalOrLegendary = false,
  977. Opacity = 1,
  978. MaxDistance = 25000,
  979. }
  980.  
  981. function module:Enable()
  982. module.Options.Enabled = true
  983. end
  984.  
  985. function module:Disable()
  986. module.Options.Enabled = false
  987. end
  988.  
  989. RunService.RenderStepped:Connect(function()
  990. if module.Options.Enabled then
  991. local shit = workspace.NPCS:GetChildren()
  992. for i = 1, #shit do
  993. local sex = shit[i]
  994. local enemy = sex:FindFirstChildOfClass("Model")
  995. if enemy and sex:FindFirstChild("Status") and enemy:FindFirstChild("HumanoidRootPart") then
  996. --espfunction(sex)
  997. local s = sex.Status
  998. local box = enemy:FindFirstChild("EGG")
  999. if not box then
  1000. box = Instance.new("BoxHandleAdornment")
  1001. end
  1002. box.Size = enemy.HumanoidRootPart.Size
  1003. box.Name = "EGG"
  1004. box.Adornee = enemy.HumanoidRootPart
  1005. box.AlwaysOnTop = true
  1006. box.ZIndex = 5
  1007. box.Transparency = module.Options.Opacity
  1008. box.Color3 = module.Options.Color
  1009. if sex:FindFirstChild("ChatInfo") then
  1010. box.Color3 = module.Options.Npcs_Color
  1011. end
  1012. if module.Options.MagicalOrLegendary then
  1013. if s:FindFirstChild("Legendary") and s.Legendary.Value then
  1014. box.Color3 = module.Options.Legendary_Color
  1015. if not s.Legendary:FindFirstChild("TAGGED") then
  1016. local Tag=Instance.new("Folder",s.Legendary)
  1017. Tag.Name = "TAGGED"
  1018. notify.Title ="Notification Legendary"
  1019. game:GetService("StarterGui"):SetCore("SendNotification",notify)
  1020. if not sound then
  1021. sound = Instance.new("Sound",game:GetService("CoreGui"))
  1022. end
  1023. sound.SoundId = "rbxassetid://131072261"
  1024. sound.Volume = 10
  1025. sound:Play()
  1026. end
  1027. elseif s:FindFirstChild("Magical") and s.Magical.Value then
  1028. box.Color3 = module.Options.Magical_Color
  1029. if not s.Magical:FindFirstChild("TAGGED") then
  1030. local Tag=Instance.new("Folder",s.Magical)
  1031. Tag.Name = "TAGGED"
  1032. notify.Title ="Notification Magical"
  1033. game:GetService("StarterGui"):SetCore("SendNotification",notify)
  1034. if not sound then
  1035. sound = Instance.new("Sound",game:GetService("CoreGui"))
  1036. end
  1037. sound.SoundId = "rbxassetid://130766856"
  1038. sound.Volume = 5
  1039. sound:Play()
  1040. end
  1041. end
  1042. end
  1043. box.Parent = enemy
  1044. box.Name = "EGG"
  1045. end
  1046. end
  1047. end
  1048. end)
  1049. return module
  1050. end)()
  1051.  
  1052. local _ManaFly = (function()
  1053. --// Variables
  1054. local module = {}
  1055.  
  1056. local RunService = game:GetService("RunService")
  1057. local Players = game:GetService("Players")
  1058. local Player = Players.LocalPlayer
  1059.  
  1060. local MANAFLY = nil
  1061. local leftorright,upordown,backorforward = 0,0,0
  1062.  
  1063. module.Options = {
  1064. Enabled = false,
  1065. Color = Color3.new(1, 0, 0),
  1066. speed = 0,
  1067. Opacity = 0,
  1068. PartMaterial = Enum.Material.Air,
  1069. Up="x",
  1070. Down="z",
  1071. Size = 2,
  1072. }
  1073. function module:Enable()
  1074. module.Options.Enabled = true
  1075. leftorright,upordown,backorforward = 0,0,0
  1076. end
  1077.  
  1078. function module:Disable()
  1079. module.Options.Enabled = false
  1080. leftorright,upordown,backorforward = 0,0,0
  1081. end
  1082. function module:SpeedChange(Speed)
  1083. if leftorright > 0 then
  1084. leftorright = Speed
  1085. elseif leftorright < 0 then
  1086. leftorright = -Speed
  1087. end
  1088. if upordown > 0 then
  1089. upordown = Speed
  1090. elseif upordown < 0 then
  1091. upordown = -Speed
  1092. end
  1093. if backorforward > 0 then
  1094. backorforward = Speed
  1095. elseif backorforward < 0 then
  1096. backorforward = -Speed
  1097. end
  1098. end
  1099. RunService:BindToRenderStep("MANAFLY",1,function()
  1100. if module.Options.Enabled then
  1101. Player.Character:SetPrimaryPartCFrame(Player.Character:GetPrimaryPartCFrame():Lerp(Player.Character:GetPrimaryPartCFrame()*CFrame.new(leftorright,upordown,backorforward),1))
  1102. if not MANAFLY then
  1103. MANAFLY = Instance.new("Part")
  1104. end
  1105. MANAFLY.Parent = workspace
  1106. MANAFLY.Size = Vector3.new(module.Options.Size,1,module.Options.Size)
  1107. MANAFLY.CFrame = Player.Character.HumanoidRootPart.CFrame * CFrame.new(0,-3.5,0)
  1108. MANAFLY.Transparency = module.Options.Opacity
  1109. MANAFLY.Name = "MANAFLYPART"
  1110. MANAFLY.Material = module.Options.PartMaterial
  1111. MANAFLY.Color = module.Options.Color
  1112. MANAFLY.Anchored = true
  1113. end
  1114. end)
  1115. Player:GetMouse().KeyDown:Connect(function(k)
  1116. if not module.Options.Enabled then return end
  1117. if k == "w" then
  1118. backorforward = backorforward - module.Options.speed
  1119. elseif k == "s" then
  1120. backorforward = backorforward + module.Options.speed
  1121. elseif k == "a" then
  1122. leftorright = leftorright - module.Options.speed
  1123. elseif k == "d" then
  1124. leftorright = leftorright + module.Options.speed
  1125. elseif k == module.Options.Down then
  1126. upordown = upordown - module.Options.speed
  1127. elseif k == module.Options.Up then
  1128. upordown = upordown + module.Options.speed
  1129. end
  1130. end)
  1131. Player:GetMouse().KeyUp:Connect(function(k)
  1132. if not module.Options.Enabled then return end
  1133. if k == "w" then
  1134. backorforward = backorforward + module.Options.speed
  1135. elseif k == "s" then
  1136. backorforward = backorforward - module.Options.speed
  1137. elseif k == "a" then
  1138. leftorright = leftorright + module.Options.speed
  1139. elseif k == "d" then
  1140. leftorright = leftorright - module.Options.speed
  1141. elseif k == module.Options.Down then
  1142. upordown = upordown + module.Options.speed
  1143. elseif k == module.Options.Up then
  1144. upordown = upordown - module.Options.speed
  1145. end
  1146. end)
  1147. return module
  1148. end)()
  1149.  
  1150. local _ManaRun= (function()
  1151. --// Variables
  1152. local module = {}
  1153.  
  1154. local RunService = game:GetService("RunService")
  1155. local Players = game:GetService("Players")
  1156. local Player = Players.LocalPlayer
  1157.  
  1158. local leftorright,backorforward = 0,0
  1159.  
  1160. module.Options = {
  1161. Enabled = false,
  1162. speed = 0,
  1163. }
  1164. function module:Enable()
  1165. module.Options.Enabled = true
  1166. leftorright,backorforward = 0,0
  1167. end
  1168.  
  1169. function module:Disable()
  1170. module.Options.Enabled = false
  1171. leftorright,backorforward = 0,0
  1172. end
  1173. function module:SpeedChange(Speed)
  1174. if leftorright > 0 then
  1175. leftorright = Speed
  1176. elseif leftorright < 0 then
  1177. leftorright = -Speed
  1178. end
  1179. if backorforward > 0 then
  1180. backorforward = Speed
  1181. elseif backorforward < 0 then
  1182. backorforward = -Speed
  1183. end
  1184. end
  1185. RunService:BindToRenderStep("MANARUN",1,function()
  1186. if module.Options.Enabled then
  1187. Player.Character:SetPrimaryPartCFrame(Player.Character:GetPrimaryPartCFrame():Lerp(Player.Character:GetPrimaryPartCFrame()*CFrame.new(leftorright,0,backorforward),1))
  1188. end
  1189. end)
  1190. Player:GetMouse().KeyDown:Connect(function(k)
  1191. if k == "w" then
  1192. backorforward = backorforward - module.Options.speed
  1193. elseif k == "s" then
  1194. backorforward = backorforward + module.Options.speed
  1195. elseif k == "a" then
  1196. leftorright = leftorright - module.Options.speed
  1197. elseif k == "d" then
  1198. leftorright = leftorright + module.Options.speed
  1199. end
  1200. end)
  1201. Player:GetMouse().KeyUp:Connect(function(k)
  1202. if k == "w" then
  1203. backorforward = backorforward + module.Options.speed
  1204. elseif k == "s" then
  1205. backorforward = backorforward - module.Options.speed
  1206. elseif k == "a" then
  1207. leftorright = leftorright + module.Options.speed
  1208. elseif k == "d" then
  1209. leftorright = leftorright - module.Options.speed
  1210. end
  1211. end)
  1212. return module
  1213. end)()
  1214.  
  1215. local _FullBright = (function()
  1216. --// Variables
  1217. local module = {}
  1218.  
  1219. module.Options = {
  1220. Enabled = false,
  1221. ExposureCompensation=0,
  1222. Brightness = 2
  1223. }
  1224.  
  1225. local RunService = game:GetService("RunService")
  1226. local Players = game:GetService("Players")
  1227. local Player = Players.LocalPlayer
  1228.  
  1229. function module:Enable()
  1230. module.Options.Enabled = true
  1231. end
  1232.  
  1233. function module:Disable()
  1234. module.Options.Enabled = false
  1235. end
  1236.  
  1237. game:GetService("RunService"):BindToRenderStep("FULLBRIGHT",1,function()
  1238. if module.Options.Enabled then
  1239. game:GetService("Lighting").Ambient = Color3.new(1,1,1)
  1240. game:GetService("Lighting").FogEnd = 100000000000000000000000
  1241. game:GetService("Lighting").FogStart = 100000000000000000000000
  1242. game:GetService("Lighting").Brightness = module.Options.Brightness
  1243. game:GetService("Lighting").ExposureCompensation = module.Options.ExposureCompensation
  1244. game:GetService("Lighting").GeographicLatitude = 41.733
  1245. game:GetService("Lighting").ColorShift_Bottom = Color3.new(1,1,1)
  1246. game:GetService("Lighting").ColorShift_Top = Color3.new(1,1,1)
  1247. game:GetService("Lighting").FogColor = Color3.new(1,1,1)
  1248. game:GetService("Lighting").ClockTime = 12
  1249. end
  1250. end)
  1251.  
  1252. return module
  1253. end)()
  1254.  
  1255. local _Healing = (function()
  1256. --// Variables
  1257. local module = {}
  1258.  
  1259. module.Options = {
  1260. Enabled = false,
  1261. Heal=1,
  1262. Threshold=1
  1263. }
  1264.  
  1265. local RunService = game:GetService("RunService")
  1266. local Players = game:GetService("Players")
  1267. local Player = Players.LocalPlayer
  1268.  
  1269. function module:Enable()
  1270. module.Options.Enabled = true
  1271. end
  1272.  
  1273. function module:Disable()
  1274. module.Options.Enabled = false
  1275. end
  1276.  
  1277. RunService.Stepped:Connect(function()
  1278. if module.Options.Enabled then
  1279. local humanoid=Player.Character:FindFirstChildOfClass("Humanoid")
  1280. if humanoid.Health > 0 then
  1281. if humanoid.Health/humanoid.MaxHealth < module.Options.Threshold/100 then
  1282. local args = {
  1283. [1] = -module.Options.Heal
  1284. }
  1285. Player.Character.CharacterHandler.Events.Fall:FireServer(unpack(args))
  1286. end
  1287. end
  1288. end
  1289. end)
  1290. return module
  1291. end)()
  1292.  
  1293. local _Noclip = (function()
  1294. --// Variables
  1295. local module = {}
  1296.  
  1297. local RunService = game:GetService("RunService")
  1298. local Players = game:GetService("Players")
  1299. local Player = Players.LocalPlayer
  1300. local MANAFLY = nil
  1301.  
  1302. module.Options = {
  1303. Enabled = false,
  1304. Color = Color3.new(1, 0, 0),
  1305. speed = 0,
  1306. Opacity = 0,
  1307. Up="x",
  1308. Down="z",
  1309. }
  1310.  
  1311. function module:Enable()
  1312. module.Options.Enabled = true
  1313. end
  1314.  
  1315. function module:Disable()
  1316. module.Options.Enabled = false
  1317. end
  1318. RunService.Stepped:Connect(function()
  1319. if module.Options.Enabled then
  1320. for _,v in pairs(Player.Character:GetDescendants())do
  1321. if v:IsA("BasePart") then
  1322. v.CanCollide = false
  1323. end
  1324. end
  1325. end
  1326. end)
  1327. return module
  1328. end)()
  1329.  
  1330.  
  1331. --// Variables
  1332. local RunService = game:GetService("RunService")
  1333. local HttpService = game:GetService("HttpService")
  1334. local UserInputService = game:GetService("UserInputService")
  1335. local Players = game:GetService("Players")
  1336. local Player = Players.LocalPlayer
  1337. local Mouse = Player:GetMouse()
  1338.  
  1339. local gui = GUIData[1]
  1340. local saveData = GUIData[2]
  1341. local screenGui = GUIData[3]
  1342.  
  1343. local screenscale = 250
  1344. local opacity = 1
  1345. local backcolor = Color3.new()
  1346.  
  1347. --// Saving
  1348. local readfile = readfile or function() end
  1349. pcall(function()
  1350. local JSONData = readfile("OpenGui.txt")
  1351. if JSONData then
  1352. local LUAData = HttpService:JSONDecode(JSONData)
  1353. saveData.Options = LUAData.Options
  1354. saveData.Hotkeys = LUAData.Hotkeys
  1355. print("Save Data found")
  1356. else
  1357. print("Save Data not found")
  1358. end
  1359. end)
  1360.  
  1361.  
  1362. --// UI Creation
  1363.  
  1364. --// Render Frame
  1365. local Render = gui:create("Container", {
  1366. Name = "Render",
  1367. })--|
  1368. local OpenGui = Render.self:create("Toggle", {
  1369. Name = "OpenGui",
  1370. Default = true,
  1371. Hotkey = tostring(Enum.KeyCode.RightControl),
  1372. Hint = "The navigation GUI",
  1373. Callback = function(enabled)
  1374. for _, frame in pairs(screenGui:GetChildren()) do
  1375. if frame:IsA("Frame") then
  1376. frame.Visible = enabled
  1377. end
  1378. end
  1379. screenGui.Modal.Visible = enabled
  1380. screenGui.Hint.Visible = false
  1381. end,
  1382. })--|
  1383.  
  1384. local Opacity = OpenGui.self:create("Number", {
  1385. Name = "Opacity",
  1386. Min = 0,
  1387. Max = 1,
  1388. Round = 0.01,
  1389. Default = 0.75,
  1390. Hint = "Transparency of the navigation GUI",
  1391. Callback = function(alpha)
  1392. opacity = 1 - alpha
  1393. for _, frame in pairs(screenGui:GetChildren()) do
  1394. if frame:IsA("Frame") then
  1395. frame.BackgroundTransparency = 1 - alpha
  1396. frame.OptionsFrame.BackgroundTransparency = 1 - alpha
  1397. end
  1398. end
  1399. end,
  1400. })
  1401.  
  1402. local Width = OpenGui.self:create("Number", {
  1403. Name = "Width",
  1404. Min = 200,
  1405. Max = 400,
  1406. Round = 1,
  1407. Default = 300,
  1408. Hint = "Width of the navigation GUI",
  1409. Callback = function(scale)
  1410. screenscale = scale
  1411. for _, frame in pairs(screenGui:GetChildren()) do
  1412. if frame:IsA("Frame") then
  1413. frame.Size = UDim2.new(0, scale, 0, frame.Size.Y.Offset)
  1414. end
  1415. end
  1416. end,
  1417. })
  1418.  
  1419. local Color = OpenGui.self:create("Color", {
  1420. Name = "Background Color",
  1421. Default = Color3.fromRGB(40, 40, 40),
  1422. Hint = "Background color of the navigation GUI",
  1423. Callback = function(color)
  1424. backcolor = color
  1425. for _, frame in pairs(screenGui:GetChildren()) do
  1426. if frame:IsA("Frame") then
  1427. frame.BackgroundColor3 = color
  1428. frame.OptionsFrame.BackgroundColor3 = color
  1429. end
  1430. end
  1431. end,
  1432. })
  1433. --[[
  1434. local ESP = Render.self:create("Toggle", {
  1435. Name = "ESP",
  1436. Default = false,
  1437. Hint = "Toggle enemy ESP",
  1438. Callback = function(enabled)
  1439. _ESP.Options.Enabled = enabled
  1440. if enabled then
  1441. _ESP:Enable()
  1442. else
  1443. _ESP:Disable()
  1444. end
  1445. end,
  1446. })
  1447.  
  1448. local ESPColor = ESP.self:create("Color", {
  1449. Name = "ESP Color",
  1450. Default = Color3.new(1, 1, 1),
  1451. Hint = "Color of the enemy ESP",
  1452. Callback = function(color)
  1453. _ESP.Options.Color = color
  1454. end,
  1455. })
  1456.  
  1457. local ESPNpcsColor = ESP.self:create("Color", {
  1458. Name = "Npcs Color",
  1459. Default = Color3.new(1, 1, 1),
  1460. Hint = "Color of Npcs enemy ESP",
  1461. Callback = function(color)
  1462. _ESP.Options.Npcs_Color = color
  1463. end,
  1464. })
  1465.  
  1466. local ESPShowTeam = ESP.self:create("Checkbox", {
  1467. Name = "Show Magical/Legendary",
  1468. Default = false,
  1469. Hint = "Magical/Legendary are highlighted",
  1470. Callback = function(enabled)
  1471. _ESP.Options.MagicalOrLegendary = enabled
  1472. end,
  1473. })
  1474.  
  1475. local ESPMagicalColor = ESP.self:create("Color", {
  1476. Name = "Magical Color",
  1477. Default = Color3.new(0, 1, 1),
  1478. Hint = "Color of Magical enemy ESP",
  1479. Callback = function(color)
  1480. _ESP.Options.Magical_Color = color
  1481. end,
  1482. })
  1483.  
  1484. local ESPLegendaryColor = ESP.self:create("Color", {
  1485. Name = "Legendary Color",
  1486. Default = Color3.new(1, 1, 0),
  1487. Hint = "Color of Legendary enemy ESP",
  1488. Callback = function(color)
  1489. _ESP.Options.Legendary_Color = color
  1490. end,
  1491. })
  1492.  
  1493. local ESPOpacity = ESP.self:create("Number", {
  1494. Name = "Opacity",
  1495. Default = 0.5,
  1496. Min = 0,
  1497. Max = 1,
  1498. Round = 0.001,
  1499. Hint = "Visibility of the ESP",
  1500. Callback = function(opacity)
  1501. _ESP.Options.Opacity = opacity
  1502. end,
  1503. })
  1504. ]]
  1505. local FullBright = Render.self:create("Toggle", {
  1506. Name = "FullBright",
  1507. Default = false,
  1508. Hint = "Toggle FullBright",
  1509. Callback = function(enabled)
  1510. _FullBright.Options.Enabled = enabled
  1511. if enabled then
  1512. _FullBright:Enable()
  1513. else
  1514. _FullBright:Disable()
  1515. end
  1516. end,
  1517. })
  1518.  
  1519. local ExposureCompensation = FullBright.self:create("Number", {
  1520. Name = "ExposureCompensation ",
  1521. Default = 0.5,
  1522. Min = 0,
  1523. Max = 100,
  1524. Round = 0.001,
  1525. Hint = "Change ExposureCompensation",
  1526. Callback = function(exposureCompensation)
  1527. _FullBright.Options.ExposureCompensation = exposureCompensation
  1528. end,
  1529. })
  1530.  
  1531. local Brightness = FullBright.self:create("Number", {
  1532. Name = "Brightness ",
  1533. Default = 2,
  1534. Min = 0,
  1535. Max = 40,
  1536. Round = 0.001,
  1537. Hint = "Change Brightness",
  1538. Callback = function(brightness)
  1539. _FullBright.Options.Brightness = brightness
  1540. end,
  1541. })
  1542.  
  1543. local Mana = gui:create("Container", {
  1544. Name = "Mana",
  1545. })
  1546.  
  1547. local ManaFly = Mana.self:create("Toggle", {
  1548. Name = "ManaFly",
  1549. Default = false,
  1550. Hint = "Toggle ManaFly",
  1551. Hotkey = tostring(Enum.KeyCode.B),
  1552. Callback = function(enabled)
  1553. _ManaFly.Options.Enabled = enabled
  1554. if enabled then
  1555. _ManaFly:Enable()
  1556. else
  1557. _ManaFly:Disable()
  1558. end
  1559. end,
  1560. })
  1561.  
  1562. local ManaFlySpeed = ManaFly.self:create("Number", {
  1563. Name = "FlySpeed",
  1564. Default = 0,
  1565. Min = 0,
  1566. Max = 100,
  1567. Round = 0.001,
  1568. Hint = "Speed Boost",
  1569. Callback = function(Speed)
  1570. _ManaFly:SpeedChange(Speed)
  1571. _ManaFly.Options.speed = tonumber(Speed)
  1572. end,
  1573. })
  1574. local ManaPartSize = ManaFly.self:create("Number", {
  1575. Name = "PartSize",
  1576. Default = 1,
  1577. Min = 1,
  1578. Max = 100,
  1579. Round = 0.001,
  1580. Hint = "PartSize",
  1581. Callback = function(Size)
  1582. _ManaFly.Options.Size= tonumber(Size)
  1583. end,
  1584. })
  1585.  
  1586. local ManaFlyOpacity = ManaFly.self:create("Number", {
  1587. Name = "Opacity",
  1588. Default = 0,
  1589. Min = 0,
  1590. Max = 1,
  1591. Round = 0.001,
  1592. Hint = "Visibility of the Part",
  1593. Callback = function(opacity)
  1594. _ManaFly.Options.Opacity = 1-opacity
  1595. end,
  1596. })
  1597.  
  1598. local ManaPartMaterial = ManaFly.self:create("Mode", {
  1599. Name = "ManaPart Material",
  1600. Hint = "Change ManaPart Material",
  1601. Default = 1,
  1602. Modes = {
  1603. "Air",
  1604. "ForceField"
  1605. },
  1606. Callback = function(value)
  1607. _ManaFly.Options.PartMaterial = value
  1608. end,
  1609. })
  1610.  
  1611. local ManaSoul = Mana.self:create("Toggle", {
  1612. Name = "ManaSoul",
  1613. Default = false,
  1614. Hint = "Toggle Noclip",
  1615. Callback = function(enabled)
  1616. _Noclip.Options.Enabled = enabled
  1617. if enabled then
  1618. _Noclip:Enable()
  1619. else
  1620. _Noclip:Disable()
  1621. end
  1622. end,
  1623. })
  1624.  
  1625.  
  1626. local ManaRun = Mana.self:create("Toggle", {
  1627. Name = "ManaRun",
  1628. Default = false,
  1629. Hint = "Toggle ManaRun",
  1630. Hotkey = tostring(Enum.KeyCode.V),
  1631. Callback = function(enabled)
  1632. _ManaRun.Options.Enabled = enabled
  1633. if enabled then
  1634. _ManaRun:Enable()
  1635. else
  1636. _ManaRun:Disable()
  1637. end
  1638. end,
  1639. })
  1640. local ManaRunSpeed = ManaRun.self:create("Number", {
  1641. Name = "Boost Speed",
  1642. Default = 0,
  1643. Min = 0,
  1644. Max = 100,
  1645. Round = 0.001,
  1646. Hint = "Speed Boost",
  1647. Callback = function(Speed)
  1648. _ManaRun:SpeedChange(Speed)
  1649. _ManaRun.Options.speed = tonumber(Speed)
  1650. end,
  1651. })
  1652. RunService.RenderStepped:Connect(function()
  1653. for _, frame in pairs(screenGui:GetChildren()) do
  1654. if frame:IsA("Frame") then
  1655. frame.Size = UDim2.new(0, screenscale, 0, frame.Size.Y.Offset)
  1656.  
  1657. frame.BackgroundTransparency = opacity
  1658. frame.OptionsFrame.BackgroundTransparency = opacity
  1659.  
  1660. frame.BackgroundColor3 = backcolor
  1661. frame.OptionsFrame.BackgroundColor3 = backcolor
  1662. end
  1663. end
  1664. end)
  1665.  
  1666. notify.Text = "Loaded"
  1667. game:GetService("StarterGui"):SetCore("SendNotification",notify)
  1668. notify.Text = "Got it?"
Add Comment
Please, Sign In to add comment