Advertisement
plytalent

XDUi

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