plytalent

Untitled

Mar 13th, 2021 (edited)
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.  
  958. local _Chams = (function()
  959.     --// Variables
  960.     local RunService = game:GetService("RunService")
  961.     local Players = game:GetService("Players")
  962.     local Player = Players.LocalPlayer
  963.     local Screen = Instance.new("ScreenGui")
  964.     local Viewport = Instance.new("ViewportFrame", Screen)
  965.  
  966.     local module = {}
  967.     local characters = {}
  968.     local clones = {}
  969.     local parts = {}
  970.  
  971.     module.Options = {
  972.         Enabled = false,
  973.         Parent = script.Parent or game.CoreGui,
  974.         Color = Color3.new(1, 1, 1),
  975.         ShowDescendants = false,
  976.         TeamColor = false,
  977.         ShowSelf = false,
  978.         ShowTeam = false,
  979.         Mode = "Shader",
  980.         Opacity = 1,
  981.         MaxDistance = 500,
  982.     }
  983.     --// Edits
  984.     Viewport.Size = UDim2.new(1, 0, 1, 0)
  985.     Viewport.BackgroundTransparency = 1
  986.     Viewport.CurrentCamera = workspace.CurrentCamera
  987.     Screen.IgnoreGuiInset = true
  988.     --// Functions
  989.     local function getParts(Model)
  990.         local parts = {}
  991.         local descendants = Model:GetDescendants()
  992.         local descendantsn = #descendants
  993.         for i = 1, descendantsn do
  994.             local desc = descendants[i]
  995.             if desc:IsA("BasePart") then
  996.                 table.insert(parts, desc)
  997.             end
  998.         end
  999.         return parts
  1000.     end
  1001.     local function getPart(Model)
  1002.         return Model.PrimaryPart or Model:FindFirstChild("HumanoidRootPart") or Model:FindFirstChildWhichIsA("Part")
  1003.     end
  1004.     function module:Clone(Object)
  1005.         local isArchivable = Object.Archivable
  1006.         local Clone
  1007.         Object.Archivable = true
  1008.         Clone = Object:Clone()
  1009.         Object.Archivable = isArchivable
  1010.         if module.Options.Mode == "Shader" then
  1011.             Viewport.Ambient = Color3.fromRGB(200, 200, 200)
  1012.         else
  1013.             Viewport.Ambient = Color3.fromRGB(255, 255, 255)
  1014.         end
  1015.         for _, child in pairs(Clone:GetDescendants()) do
  1016.             if child:IsA("Script") or child:IsA("LocalScript") or child:IsA("Sound") then
  1017.                 child:Destroy()
  1018.             elseif child:IsA("Humanoid") then
  1019.                 child.DisplayDistanceType = "None"
  1020.             elseif module.Options.Mode ~= "Shader" then
  1021.                 if child:IsA("SpecialMesh") then
  1022.                     if module.Options.Mode ~= "ForceField" then
  1023.                         child.TextureId = ""
  1024.                     end
  1025.                 elseif child:IsA("MeshPart") then
  1026.                     if module.Options.Mode ~= "ForceField" then
  1027.                         child.TextureID = ""
  1028.                     end
  1029.                 elseif child:IsA("BasePart") then
  1030.                     if module.Options.Mode ~= "ForceField" then
  1031.                         child.Material = Enum.Material.Neon
  1032.                     else
  1033.                         child.Material = Enum.Material.ForceField
  1034.                     end
  1035.                 elseif child:IsA("Clothing") or child:IsA("Decal") then
  1036.                     child:Destroy()
  1037.                 end
  1038.             end
  1039.         end
  1040.         return Clone
  1041.     end
  1042.     function module:Enable()
  1043.         module.Options.Enabled = true
  1044.         Screen.Parent = module.Options.Parent
  1045.         module:ReloadCharacters()
  1046.     end
  1047.  
  1048.     function module:Disable()
  1049.         module.Options.Enabled = false
  1050.         Screen.Parent = nil
  1051.     end
  1052.  
  1053.     function module:ReloadCharacters()
  1054.         Viewport:ClearAllChildren()
  1055.         for player, character in pairs(characters) do
  1056.             local clone = module:Clone(character)
  1057.             clone.Name = player.Name
  1058.             clone.Parent = Viewport
  1059.             clones[player] = clone
  1060.         end
  1061.     end
  1062.  
  1063.     local function newPlayer(player)
  1064.         if player.Character then
  1065.             characters[player] = player.Character
  1066.  
  1067.             local clone = module:Clone(player.Character)
  1068.             clone.Name = player.Name
  1069.             clone.Parent = Viewport
  1070.             clones[player] = clone
  1071.         end
  1072.         player.CharacterAdded:Connect(function(char)
  1073.             if clones[player] then
  1074.                 clones[player]:Destroy()
  1075.                 clones[player] = nil
  1076.             end;if characters[player] then
  1077.                 characters[player]:Destroy()
  1078.                 characters[player] = nil
  1079.             end
  1080.  
  1081.             characters[player] = char
  1082.  
  1083.             local clone = module:Clone(char)
  1084.             clone.Name = player.Name
  1085.             clone.Parent = Viewport
  1086.             clones[player] = clone
  1087.         end)
  1088.     end
  1089.  
  1090.     Players.PlayerAdded:Connect(newPlayer)
  1091.     Players.PlayerRemoving:Connect(function(player)
  1092.         if clones[player] then
  1093.             clones[player]:Destroy()
  1094.             clones[player] = nil
  1095.         end;if characters[player] then
  1096.             characters[player]:Destroy()
  1097.             characters[player] = nil
  1098.         end
  1099.     end)
  1100.     for _, player in pairs(Players:GetPlayers()) do
  1101.         newPlayer(player)
  1102.     end
  1103.     RunService.RenderStepped:Connect(function()
  1104.         if module.Options.Enabled then
  1105.             for player, character in pairs(characters) do
  1106.                 local clone = clones[player]
  1107.                 local target = getPart(clone)
  1108.                 if target then
  1109.                     if ((player.Team == Player.Team and module.Options.ShowTeam) or player.Team ~= Player.Team) and target and (target.Position - workspace.CurrentCamera.CFrame.p).Magnitude <= module.Options.MaxDistance then
  1110.                         if (player == Player and module.Options.ShowSelf) or player ~= Player then
  1111.                             local parts = getParts(clone)
  1112.                             for i = 1, #parts do
  1113.                                 local obj = parts[i]
  1114.                                 local cor = character:FindFirstChild(obj.Name, true)
  1115.                                 if character:FindFirstChild(obj.Parent.Name) then
  1116.                                     cor = character:FindFirstChild(obj.Parent.Name):FindFirstChild(obj.Name)
  1117.                                 end
  1118.                                 if cor and obj then
  1119.                                     if module.Options.TeamColor then
  1120.                                         obj.Color = player.TeamColor.Color
  1121.                                     elseif module.Options.Mode ~= "Shader" then
  1122.                                         obj.Color = Color3.new(1, 1, 1)
  1123.                                     end
  1124.                                     if module.Options.ShowDescendants then
  1125.                                         obj.CFrame = cor.CFrame
  1126.                                     elseif obj.Parent == clone then
  1127.                                         obj.CFrame = cor.CFrame
  1128.                                     else
  1129.                                         obj.CFrame = CFrame.new(10000, 10000, 10000)
  1130.                                     end
  1131.                                 end
  1132.                             end
  1133.                             if clone.Parent == nil then
  1134.                                 clone.Parent = Viewport
  1135.                             end
  1136.                         else
  1137.                             clone.Parent = nil
  1138.                         end
  1139.                     else
  1140.                         clone.Parent = nil
  1141.                     end
  1142.                 else
  1143.                     clone.Parent = nil
  1144.                 end
  1145.             end
  1146.             Viewport.ImageColor3 = module.Options.Color
  1147.             Viewport.ImageTransparency = 1 - module.Options.Opacity
  1148.         end
  1149.     end)
  1150.     return module
  1151. end)()
  1152.  
  1153. --[[local _ManaFly = (function()
  1154.     --// Variables
  1155.     local module = {}
  1156.  
  1157.     local RunService = game:GetService("RunService")
  1158.     local Players = game:GetService("Players")
  1159.     local Player = Players.LocalPlayer
  1160.  
  1161.     local MANAFLY = nil
  1162.     local leftorright,upordown,backorforward = 0,0,0
  1163.  
  1164.     module.Options = {
  1165.         Enabled = false,
  1166.         Color = Color3.new(1, 0, 0),
  1167.         speed = 0,
  1168.         Opacity = 0,
  1169.         PartMaterial = Enum.Material.Air,
  1170.         Up="x",
  1171.         Down="z",
  1172.         Size = 2,
  1173.         CFrameOffset = 3.5,
  1174.     }
  1175.     function module:Enable()
  1176.         module.Options.Enabled = true
  1177.         leftorright,upordown,backorforward = 0,0,0
  1178.     end
  1179.  
  1180.     function module:Disable()
  1181.         module.Options.Enabled = false
  1182.         leftorright,upordown,backorforward = 0,0,0
  1183.     end
  1184.     function module:SpeedChange(Speed)
  1185.         if leftorright > 0 then
  1186.             leftorright = Speed
  1187.         elseif leftorright < 0 then
  1188.             leftorright = -Speed
  1189.         end
  1190.         if upordown > 0 then
  1191.             upordown = Speed
  1192.         elseif upordown < 0 then
  1193.             upordown = -Speed
  1194.         end
  1195.         if backorforward > 0 then
  1196.             backorforward = Speed
  1197.         elseif backorforward < 0 then
  1198.             backorforward = -Speed
  1199.         end
  1200.     end
  1201.     local function fly()
  1202.         if not MANAFLY then
  1203.             MANAFLY =  Instance.new("Part")
  1204.         end
  1205.         MANAFLY.Parent = workspace
  1206.         MANAFLY.Size = Vector3.new(module.Options.Size,1,module.Options.Size)
  1207.         MANAFLY.Transparency = module.Options.Opacity
  1208.         MANAFLY.Name = "MANAFLYPART"
  1209.         MANAFLY.Material  = module.Options.PartMaterial
  1210.         MANAFLY.Color = module.Options.Color
  1211.         MANAFLY.Anchored = true
  1212.         if module.Options.Enabled then
  1213.             local Character = Player.Character
  1214.             local PrimaryPartCFrame = Character:GetPrimaryPartCFrame()
  1215.             Character:SetPrimaryPartCFrame(PrimaryPartCFrame:Lerp(PrimaryPartCFrame*CFrame.new(leftorright,upordown,backorforward),1))
  1216.             MANAFLY.CFrame = Character.HumanoidRootPart.CFrame * CFrame.new(0,-module.Options.CFrameOffset,0)
  1217.         end
  1218.     end
  1219.     RunService:BindToRenderStep("MANAFLY",1,fly)
  1220.     Player:GetMouse().KeyDown:Connect(function(k)
  1221.         if not module.Options.Enabled then return end
  1222.         if k == "w" then
  1223.             backorforward = backorforward - module.Options.speed
  1224.         elseif k == "s" then
  1225.             backorforward = backorforward + module.Options.speed
  1226.         elseif k == "a" then
  1227.             leftorright = leftorright - module.Options.speed
  1228.         elseif k == "d" then
  1229.             leftorright = leftorright + module.Options.speed
  1230.         elseif k == module.Options.Down then
  1231.             upordown = upordown - module.Options.speed
  1232.         elseif k == module.Options.Up then
  1233.             upordown = upordown + module.Options.speed
  1234.         end
  1235.     end)
  1236.     Player:GetMouse().KeyUp:Connect(function(k)
  1237.         if not module.Options.Enabled then
  1238.             return
  1239.         end
  1240.         if backorforward == 0 and leftorright == 0 and upordown == 0 then
  1241.             return
  1242.         end
  1243.         if k == "w" then
  1244.             backorforward = backorforward + module.Options.speed
  1245.         elseif k == "s" then
  1246.             backorforward = backorforward - module.Options.speed
  1247.         elseif k == "a" then
  1248.             leftorright = leftorright + module.Options.speed
  1249.         elseif k == "d" then
  1250.             leftorright = leftorright - module.Options.speed
  1251.         elseif k == module.Options.Down then
  1252.             upordown = upordown + module.Options.speed
  1253.         elseif k == module.Options.Up then
  1254.             upordown = upordown - module.Options.speed
  1255.         end
  1256.     end)
  1257.     return module
  1258. end)()
  1259. --]]
  1260. local _ManaRun= (function()
  1261.     --// Variables
  1262.     local module = {}
  1263.  
  1264.     local RunService = game:GetService("RunService")
  1265.     local Players = game:GetService("Players")
  1266.     local Player = Players.LocalPlayer
  1267.  
  1268.     local leftorright,backorforward = 0,0
  1269.  
  1270.     module.Options = {
  1271.         Enabled = false,
  1272.         speed = 0,
  1273.     }
  1274.     function module:Enable()
  1275.         module.Options.Enabled = true
  1276.         leftorright,backorforward = 0,0
  1277.     end
  1278.  
  1279.     function module:Disable()
  1280.         module.Options.Enabled = false
  1281.         leftorright,backorforward = 0,0
  1282.     end
  1283.     function module:SpeedChange(Speed)
  1284.         if leftorright > 0 then
  1285.             leftorright = Speed
  1286.         elseif leftorright < 0 then
  1287.             leftorright = -Speed
  1288.         end
  1289.         if backorforward > 0 then
  1290.             backorforward = Speed
  1291.         elseif backorforward < 0 then
  1292.             backorforward = -Speed
  1293.         end
  1294.     end
  1295.     RunService:BindToRenderStep("MANARUN",1,function()
  1296.         if module.Options.Enabled then
  1297.             Player.Character:SetPrimaryPartCFrame(Player.Character:GetPrimaryPartCFrame():Lerp(Player.Character:GetPrimaryPartCFrame()*CFrame.new(leftorright,0,backorforward),1))
  1298.         end
  1299.     end)
  1300.     Player:GetMouse().KeyDown:Connect(function(k)
  1301.         if k == "w" then
  1302.             backorforward = backorforward - module.Options.speed
  1303.         elseif k == "s" then
  1304.             backorforward = backorforward + module.Options.speed
  1305.         elseif k == "a" then
  1306.             leftorright = leftorright - module.Options.speed
  1307.         elseif k == "d" then
  1308.             leftorright = leftorright + module.Options.speed
  1309.         end
  1310.     end)
  1311.     Player:GetMouse().KeyUp:Connect(function(k)
  1312.         if k == "w" then
  1313.             backorforward = backorforward + module.Options.speed
  1314.         elseif k == "s" then
  1315.             backorforward = backorforward - module.Options.speed
  1316.         elseif k == "a" then
  1317.             leftorright = leftorright + module.Options.speed
  1318.         elseif k == "d" then
  1319.             leftorright = leftorright - module.Options.speed
  1320.         end
  1321.     end)
  1322.     return module
  1323. end)()
  1324. --[[
  1325. local _FullBright = (function()
  1326.     --// Variables
  1327.     local module = {}
  1328.  
  1329.     module.Options = {
  1330.         Enabled = false,
  1331.         ExposureCompensation=0,
  1332.         Brightness = 2
  1333.     }
  1334.  
  1335.     local RunService = game:GetService("RunService")
  1336.     local Players = game:GetService("Players")
  1337.     local Player = Players.LocalPlayer
  1338.  
  1339.     function module:Enable()
  1340.         module.Options.Enabled = true
  1341.     end
  1342.  
  1343.     function module:Disable()
  1344.         module.Options.Enabled = false
  1345.     end
  1346.  
  1347.     game:GetService("RunService"):BindToRenderStep("FULLBRIGHT",1,function()
  1348.         if module.Options.Enabled then
  1349.             game:GetService("Lighting").Ambient = Color3.new(1,1,1)
  1350.             game:GetService("Lighting").FogEnd = 100000000000000000000000
  1351.             game:GetService("Lighting").FogStart = 100000000000000000000000
  1352.             game:GetService("Lighting").Brightness =  module.Options.Brightness
  1353.             game:GetService("Lighting").ExposureCompensation = module.Options.ExposureCompensation
  1354.             game:GetService("Lighting").GeographicLatitude = 41.733
  1355.             game:GetService("Lighting").ColorShift_Bottom = Color3.new(1,1,1)
  1356.             game:GetService("Lighting").ColorShift_Top = Color3.new(1,1,1)
  1357.             game:GetService("Lighting").FogColor = Color3.new(1,1,1)
  1358.             game:GetService("Lighting").ClockTime = 12
  1359.         end
  1360.     end)
  1361.  
  1362.     return module
  1363. end)()
  1364. --]]
  1365. --[[
  1366. local _Noclip = (function()
  1367.     --// Variables
  1368.     local module = {}
  1369.  
  1370.     local RunService = game:GetService("RunService")
  1371.     local Players = game:GetService("Players")
  1372.     local Player = Players.LocalPlayer
  1373.     local MANAFLY = nil
  1374.  
  1375.     module.Options = {
  1376.         Enabled = false,
  1377.         Color = Color3.new(1, 0, 0),
  1378.         speed = 0,
  1379.         Opacity = 0,
  1380.         Up="x",
  1381.         Down="z",
  1382.     }
  1383.  
  1384.     function module:Enable()
  1385.         module.Options.Enabled = true
  1386.     end
  1387.  
  1388.     function module:Disable()
  1389.         module.Options.Enabled = false
  1390.     end
  1391.     RunService.Stepped:Connect(function()
  1392.         if module.Options.Enabled then
  1393.             for _,v in pairs(Player.Character:GetDescendants())do
  1394.                 if v:IsA("BasePart") then
  1395.                     v.CanCollide =  false
  1396.                 end
  1397.             end
  1398.         end
  1399.     end)
  1400.     return module
  1401. end)()
  1402. --]]
  1403.  
  1404. --// Variables
  1405. local RunService = game:GetService("RunService")
  1406. local HttpService = game:GetService("HttpService")
  1407. local UserInputService = game:GetService("UserInputService")
  1408. local Players = game:GetService("Players")
  1409. local Player = Players.LocalPlayer
  1410. local Mouse = Player:GetMouse()
  1411.  
  1412. local gui = GUIData[1]
  1413. local saveData = GUIData[2]
  1414. local screenGui = GUIData[3]
  1415.  
  1416. local screenscale = 250
  1417. local opacity = 1
  1418. local backcolor = Color3.new()
  1419.  
  1420. --// Saving
  1421. local readfile = readfile or function() end
  1422. pcall(function()
  1423.     local JSONData = readfile("OpenGui.txt")
  1424.     if JSONData then
  1425.         local LUAData = HttpService:JSONDecode(JSONData)
  1426.         saveData.Options = LUAData.Options
  1427.         saveData.Hotkeys = LUAData.Hotkeys
  1428.         print("Save Data found")
  1429.     else
  1430.         print("Save Data not found")
  1431.     end
  1432. end)
  1433.  
  1434.  
  1435. --// UI Creation
  1436.  
  1437. --// Render Frame
  1438. local Render = gui:create("Container", {
  1439.     Name = "Render",
  1440. })--|
  1441. local OpenGui = Render.self:create("Toggle", {
  1442.     Name = "OpenGui",
  1443.     Default = true,
  1444.     Hotkey = tostring(Enum.KeyCode.RightControl),
  1445.     Hint = "The navigation GUI",
  1446.     Callback = function(enabled)
  1447.         for _, frame in pairs(screenGui:GetChildren()) do
  1448.             if frame:IsA("Frame") then
  1449.                 frame.Visible = enabled
  1450.             end
  1451.         end
  1452.         screenGui.Modal.Visible = enabled
  1453.         screenGui.Hint.Visible = false
  1454.     end,
  1455. })--|
  1456.  
  1457. local Opacity = OpenGui.self:create("Number", {
  1458.     Name = "Opacity",
  1459.     Min = 0,
  1460.     Max = 1,
  1461.     Round = 0.01,
  1462.     Default = 0.75,
  1463.     Hint = "Transparency of the navigation GUI",
  1464.     Callback = function(alpha)
  1465.         opacity = 1 - alpha
  1466.         for _, frame in pairs(screenGui:GetChildren()) do
  1467.             if frame:IsA("Frame") then
  1468.                 frame.BackgroundTransparency = 1 - alpha
  1469.                 frame.OptionsFrame.BackgroundTransparency = 1 - alpha
  1470.             end
  1471.         end
  1472.     end,
  1473. })
  1474.  
  1475. local Width = OpenGui.self:create("Number", {
  1476.     Name = "Width",
  1477.     Min = 200,
  1478.     Max = 1000,
  1479.     Round = 1,
  1480.     Default = 1000,
  1481.     Hint = "Width of the navigation GUI",
  1482.     Callback = function(scale)
  1483.         screenscale = scale
  1484.         for _, frame in pairs(screenGui:GetChildren()) do
  1485.             if frame:IsA("Frame") then
  1486.                 frame.Size = UDim2.new(0, scale, 0, frame.Size.Y.Offset)
  1487.             end
  1488.         end
  1489.     end,
  1490. })
  1491.  
  1492. local Color = OpenGui.self:create("Color", {
  1493.     Name = "Background Color",
  1494.     Default = Color3.fromRGB(40, 40, 40),
  1495.     Hint = "Background color of the navigation GUI",
  1496.     Callback = function(color)
  1497.         backcolor = color
  1498.         for _, frame in pairs(screenGui:GetChildren()) do
  1499.             if frame:IsA("Frame") then
  1500.                 frame.BackgroundColor3 = color
  1501.                 frame.OptionsFrame.BackgroundColor3 = color
  1502.             end
  1503.         end
  1504.     end,
  1505. })
  1506. --[[
  1507. local FullBright = Render.self:create("Toggle", {
  1508.     Name = "FullBright",
  1509.     Default = false,
  1510.     Hint = "Toggle FullBright",
  1511.     Callback = function(enabled)
  1512.         _FullBright.Options.Enabled = enabled
  1513.         if enabled then
  1514.             _FullBright:Enable()
  1515.         else
  1516.             _FullBright:Disable()
  1517.         end
  1518.     end,
  1519. })
  1520.  
  1521. local ExposureCompensation  = FullBright.self:create("Number", {
  1522.     Name = "ExposureCompensation ",
  1523.     Default = 0.5,
  1524.     Min = 0,
  1525.     Max = 100,
  1526.     Round = 0.001,
  1527.     Hint = "Change ExposureCompensation",
  1528.     Callback = function(exposureCompensation)
  1529.         _FullBright.Options.ExposureCompensation = exposureCompensation
  1530.     end,
  1531. })
  1532.  
  1533. local Brightness  = FullBright.self:create("Number", {
  1534.     Name = "Brightness ",
  1535.     Default = 2,
  1536.     Min = 0,
  1537.     Max = 40,
  1538.     Round = 0.001,
  1539.     Hint = "Change Brightness",
  1540.     Callback = function(brightness)
  1541.         _FullBright.Options.Brightness = brightness
  1542.     end,
  1543. })
  1544. --]]
  1545. -- ESP ----[[
  1546. local Chams = Render.self:create("Toggle", {
  1547.     Name = "Chams",
  1548.     Default = false,
  1549.     Hint = "Render players through walls",
  1550.     Callback = function(enabled)
  1551.         _Chams.Options.Enabled = enabled
  1552.         if enabled then
  1553.             _Chams:Enable()
  1554.         else
  1555.             _Chams:Disable()
  1556.         end
  1557.     end,
  1558. })--|
  1559. local ChamsColor = Chams.self:create("Color", {
  1560.     Name = "Chams Color",
  1561.     Default = Color3.new(1, 1, 1),
  1562.     Hint = "Color of the player chams",
  1563.     Callback = function(color)
  1564.         _Chams.Options.Color = color
  1565.     end,
  1566. })
  1567. local ChamsShowTeam = Chams.self:create("Checkbox", {
  1568.     Name = "Show Team",
  1569.     Default = false,
  1570.     Hint = "Include your teammates",
  1571.     Callback = function(enabled)
  1572.         _Chams.Options.ShowTeam = enabled
  1573.     end,
  1574. })
  1575. local ChamsShowSelf = Chams.self:create("Checkbox", {
  1576.     Name = "Show Self",
  1577.     Default = false,
  1578.     Hint = "Include yourself",
  1579.     Callback = function(enabled)
  1580.         _Chams.Options.ShowSelf = enabled
  1581.     end,
  1582. })
  1583. local ChamsTeamColor = Chams.self:create("Checkbox", {
  1584.     Name = "Team Color",
  1585.     Default = false,
  1586.     Hint = "The chams color corresponds to the player's team",
  1587.     Callback = function(enabled)
  1588.         _Chams.Options.TeamColor = enabled
  1589.     end,
  1590. })
  1591. local ChamsShowDescendants = Chams.self:create("Checkbox", {
  1592.     Name = "Show Descendants",
  1593.     Default = false,
  1594.     Hint = "Highlight items like accessories",
  1595.     Callback = function(enabled)
  1596.         _Chams.Options.ShowDescendants = enabled
  1597.     end,
  1598. })
  1599. local ChamsMode = Chams.self:create("Mode", {
  1600.     Name = "Chams Mode",
  1601.     Default = 1,
  1602.     Modes = {"Opaque", "Shader","ForceField"},
  1603.     Hint = "The type of chams used",
  1604.     Callback = function(mode)
  1605.         _Chams.Options.Mode = mode
  1606.         _Chams:ReloadCharacters()
  1607.     end,
  1608. })
  1609. local ChamsOpacity = Chams.self:create("Number", {
  1610.     Name = "Opacity",
  1611.     Default = 0.5,
  1612.     Min = 0,
  1613.     Max = 1,
  1614.     Round = 0.01,
  1615.     Hint = "Visibility of the chams",
  1616.     Callback = function(opacity)
  1617.         _Chams.Options.Opacity = opacity
  1618.     end,
  1619. })
  1620. local ChamsMaxDistance = Chams.self:create("Number", {
  1621.     Name = "Max Distance",
  1622.     Default = 2048,
  1623.     Min = 0,
  1624.     Max = 25000,
  1625.     Round = 0.5,
  1626.     Hint = "The chams' maximum distance",
  1627.     Callback = function(distance)
  1628.         _Chams.Options.MaxDistance = distance
  1629.     end,
  1630. })
  1631. --]]
  1632. local Mana = gui:create("Container", {
  1633.     Name = "Mana",
  1634. })
  1635. --[[
  1636. local ManaFly = Mana.self:create("Toggle", {
  1637.     Name = "ManaFly",
  1638.     Default = false,
  1639.     Hint = "Toggle ManaFly",
  1640.     Hotkey = tostring(Enum.KeyCode.B),
  1641.     Callback = function(enabled)
  1642.         _ManaFly.Options.Enabled = enabled
  1643.         if enabled then
  1644.             _ManaFly:Enable()
  1645.         else
  1646.             _ManaFly:Disable()
  1647.         end
  1648.     end,
  1649. })
  1650.  
  1651. local ManaFlySpeed = ManaFly.self:create("Number", {
  1652.     Name = "FlySpeed",
  1653.     Default = 0,
  1654.     Min = 0,
  1655.     Max = 100,
  1656.     Round = 0.001,
  1657.     Hint = "Speed Boost",
  1658.     Callback = function(Speed)
  1659.         _ManaFly:SpeedChange(Speed)
  1660.         _ManaFly.Options.speed = tonumber(Speed)
  1661.     end,
  1662. })
  1663. local ManaPartSize = ManaFly.self:create("Number", {
  1664.     Name = "PartSize",
  1665.     Default = 1,
  1666.     Min = 1,
  1667.     Max = 100,
  1668.     Round = 0.001,
  1669.     Hint = "PartSize",
  1670.     Callback = function(Size)
  1671.         _ManaFly.Options.Size= tonumber(Size)
  1672.     end,
  1673. })
  1674.  
  1675. local ManaFlyOpacity = ManaFly.self:create("Number", {
  1676.     Name = "Opacity",
  1677.     Default = 0,
  1678.     Min = 0,
  1679.     Max = 1,
  1680.     Round = 0.001,
  1681.     Hint = "Visibility of the Part",
  1682.     Callback = function(opacity)
  1683.         _ManaFly.Options.Opacity = 1-opacity
  1684.     end,
  1685. })
  1686.  
  1687. local ManaPartMaterial = ManaFly.self:create("Mode", {
  1688.     Name = "ManaPart Material",
  1689.     Hint = "Change ManaPart Material",
  1690.     Default = 1,
  1691.     Modes = {
  1692.         "Air",
  1693.         "ForceField"
  1694.     },
  1695.     Callback = function(value)
  1696.         _ManaFly.Options.PartMaterial = value
  1697.     end,
  1698. })
  1699.  
  1700. local ManaSoul = Mana.self:create("Toggle", {
  1701.     Name = "ManaSoul",
  1702.     Default = false,
  1703.     Hint = "Toggle Noclip",
  1704.     Callback = function(enabled)
  1705.         _Noclip.Options.Enabled = enabled
  1706.         if enabled then
  1707.             _Noclip:Enable()
  1708.         else
  1709.             _Noclip:Disable()
  1710.         end
  1711.     end,
  1712. })
  1713. --]]
  1714.  
  1715. local ManaRun = Mana.self:create("Toggle", {
  1716.     Name = "ManaRun",
  1717.     Default = false,
  1718.     Hint = "Toggle ManaRun",
  1719.     Hotkey = tostring(Enum.KeyCode.V),
  1720.     Callback = function(enabled)
  1721.         _ManaRun.Options.Enabled = enabled
  1722.         if enabled then
  1723.             _ManaRun:Enable()
  1724.         else
  1725.             _ManaRun:Disable()
  1726.         end
  1727.     end,
  1728. })
  1729. local ManaRunSpeed = ManaRun.self:create("Number", {
  1730.     Name = "Boost Speed",
  1731.     Default = 0,
  1732.     Min = 0,
  1733.     Max = 2,
  1734.     Round = 0.001,
  1735.     Hint = "Speed Boost",
  1736.     Callback = function(Speed)
  1737.         _ManaRun:SpeedChange(Speed)
  1738.         _ManaRun.Options.speed = tonumber(Speed)
  1739.     end,
  1740. })
  1741. RunService.RenderStepped:Connect(function()
  1742.     for _, frame in pairs(screenGui:GetChildren()) do
  1743.         if frame:IsA("Frame") then
  1744.             frame.Size = UDim2.new(0, screenscale, 0, frame.Size.Y.Offset)
  1745.  
  1746.             frame.BackgroundTransparency = opacity
  1747.             frame.OptionsFrame.BackgroundTransparency = opacity
  1748.  
  1749.             frame.BackgroundColor3 = backcolor
  1750.             frame.OptionsFrame.BackgroundColor3 = backcolor
  1751.         end
  1752.     end
  1753. end)
  1754.  
  1755. notify.Text = "Loaded"
  1756. game:GetService("StarterGui"):SetCore("SendNotification",notify)
  1757. notify.Text = "Got it?"
Add Comment
Please, Sign In to add comment