Advertisement
plytalent

OwnHub

Nov 24th, 2021
844
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 56.10 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
  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.         gui:textColorOnHover(guiObject.Title, guiData)
  880.         gui:createList(guiObject, guiData)
  881.         gui:setText(guiObject.Title, data.Name)
  882.         gui:makeDraggable(guiObject, function(x, y)
  883.             guiData.yPos = y
  884.             saveData.Options[data.ID].Position = gui:pack(guiObject.Position)
  885.         end)
  886.  
  887.         return guiObject
  888.     end
  889.  
  890.     -- UI Creation Library
  891.     function gui.create(self, guiType, data)
  892.         if self == gui then
  893.             self = settingsArray
  894.         end
  895.  
  896.         data.ID = data.Name .. "_" .. (self[1].Name or "TOP")
  897.  
  898.         if not saveData.Options[data.ID] then
  899.             saveData.Options[data.ID] = {}
  900.         end
  901.  
  902.         if self[1].Object:FindFirstChild("Dropdown") then
  903.             self[1].Object.Dropdown.Visible = true
  904.         end
  905.  
  906.         local dataArray = {}
  907.         local objectArray = {}
  908.         local selfArray = {dataArray, objectArray, create = gui.create, callback = data.Callback}
  909.         dataArray.Name = data.Name
  910.         dataArray.Data = data
  911.         dataArray.Object = lib[guiType](data, dataArray)
  912.         dataArray.self = selfArray
  913.  
  914.         if guiType == "Toggle" then
  915.             lib.Hotkey(data, dataArray)
  916.         end
  917.         if data.Hint then
  918.             local Object = dataArray.Object
  919.             gui:addHint(Object:FindFirstChild("Title") or Object:FindFirstChild("Label"), data.Hint)
  920.         end
  921.  
  922.         self[1][data.Name] = selfArray
  923.         self[2][data.Name] = dataArray.Object
  924.  
  925.         dataArray.Object.Parent = self[1].Object:FindFirstChild("OptionsFrame") or self[1].Object
  926.  
  927.         return dataArray
  928.     end
  929.  
  930.     -- Connection Stuff
  931.     game:GetService("RunService").RenderStepped:Connect(function()
  932.         for _, func in pairs(connections) do
  933.             func()
  934.         end
  935.     end)
  936.  
  937.     UserInputService.InputBegan:Connect(function(input, gameProcessed)
  938.         if gameProcessed then return end
  939.         for id, key in pairs(saveData.Hotkeys) do
  940.             if key == tostring(input.KeyCode) then
  941.                 if hotkeyFunctions[id] then
  942.                     hotkeyFunctions[id]()
  943.                 end
  944.             end
  945.         end
  946.     end)
  947.  
  948.     Mods.Text = "Own Hub " .. _V
  949.  
  950.     game.Close:Connect(function()
  951.         Save()
  952.     end)
  953.  
  954.     return {gui, saveData, screenGui}
  955. end)()
  956.  
  957. local notify = {Title ="Own Hub", Text ="Loaded", Duration = 120, Button1 = "OK"}
  958. local _CustomChams=(function()
  959.     local modules = {}
  960.     modules.Options = {
  961.         Enable = true,
  962.         color = Color3.new(0.333333, 0, 1)
  963.     }
  964.     local function ChangedProperty(obj,property)
  965.         local event = Instance.new("BindableEvent")
  966.         spawn(function()
  967.             local oldproperty=obj[property]
  968.             while true do
  969.                 game:GetService("RunService").RenderStepped:Wait()
  970.                 if obj[property] ~= oldproperty then
  971.                     event:fire(obj[property])
  972.                     oldproperty=obj[property]
  973.                 end
  974.                 if not obj.Parent then
  975.                     break
  976.                 end
  977.             end
  978.             if not obj.Parent then
  979.                 event:Destroy()
  980.             end
  981.         end)
  982.         return event.Event
  983.     end
  984.     modules.eventforkillswtich={}
  985.     function modules:Enable()
  986.         modules.ui = Instance.new("ScreenGui")
  987.         if syn then
  988.             --syn.protect_gui(modules.ui)
  989.         end
  990.         local succ,err = pcall(function()
  991.             modules.ui.Parent = game:GetService("CoreGui")
  992.         end)
  993.         if not succ then
  994.             print("ERROR:\n,",err)
  995.             modules.ui.Parent = game:GetService("Players").LocalPlayer.PlayerGui
  996.         end
  997.         modules.viewport = Instance.new("ViewportFrame",modules.ui)
  998.         modules.viewport.Size = UDim2.new(1, 0, 1, 0)
  999.         modules.viewport.BackgroundTransparency = 1
  1000.         modules.viewport.CurrentCamera = workspace.CurrentCamera
  1001.         modules.ui.IgnoreGuiInset = true
  1002.         modules.Options.Enable = true
  1003.     end
  1004.     local function _Esp(p)
  1005.         if not modules.viewport then
  1006.             return
  1007.         end
  1008.         local parent = modules.viewport:FindFirstChild(p.Name)
  1009.         if not parent then
  1010.             parent = Instance.new("Model",modules.viewport)
  1011.             local hum = Instance.new("Humanoid",parent)
  1012.             hum.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
  1013.             parent.Name = p.Name
  1014.         elseif not parent:IsA("Model") then
  1015.             parent:Destroy()
  1016.             _Esp(p)
  1017.             return
  1018.         end
  1019.         if parent then
  1020.             if p.Character ~= nil then
  1021.                 for _,v in pairs(p.Character:GetDescendants())do
  1022.                     if v.Name ~="HumanoidRootPart" and v:IsA("BasePart") then
  1023.                         local clonedpart = parent:FindFirstChild(v.Name)
  1024.                         if not clonedpart then
  1025.                             clonedpart=v:Clone()
  1026.                             local event = ChangedProperty(v,"CFrame")
  1027.                             for _,v in pairs(clonedpart:GetDescendants())do
  1028.                                 if v:IsA("Decal") then
  1029.                                     v:Destroy()
  1030.                                 end
  1031.                             end
  1032.                             if modules.eventforkillswtich[v.Name..p.Name] then
  1033.                                 modules.eventforkillswtich[v.Name..p.Name]:Disconnect()
  1034.                             end
  1035.                             modules.eventforkillswtich[v.Name..p.Name]=event:Connect(function(cf)
  1036.                                 clonedpart.CFrame = cf
  1037.                             end)
  1038.                         end
  1039.                         clonedpart.Name = v.Name
  1040.                         clonedpart.Parent = parent
  1041.                         clonedpart.Material = Enum.Material.ForceField
  1042.                         clonedpart.Color = modules.Options.color
  1043.                     end
  1044.                 end
  1045.             end
  1046.         end
  1047.     end
  1048.     game:GetService("RunService"):BindToRenderStep("CustomESP",Enum.RenderPriority.Character.Value-1,function()
  1049.         if modules.Options.Enable then
  1050.             for _,plr in pairs(game:GetService("Players"):GetPlayers())do
  1051.                 if not modules.Options.Enable then
  1052.                     break
  1053.                 end
  1054.                 _Esp(plr)
  1055.             end
  1056.         end
  1057.     end)
  1058.     function modules:Disable()
  1059.         modules.Options.Enable = false
  1060.         game:GetService("RunService").RenderStepped:Wait()
  1061.         if modules.eventforkillswtich then
  1062.             for _,event in pairs(modules.eventforkillswtich)do
  1063.                 event:Disconnect()
  1064.             end
  1065.             if modules.ui then
  1066.                 modules.ui:Destroy()
  1067.                 modules.ui = nil
  1068.             end
  1069.         end
  1070.     end
  1071.     return modules
  1072. end)()
  1073.  
  1074. local _Chams = (function()
  1075.     --// Variables
  1076.     local RunService = game:GetService("RunService")
  1077.     local Players = game:GetService("Players")
  1078.     local Player = Players.LocalPlayer
  1079.     local Screen = Instance.new("ScreenGui")
  1080.     local Viewport = Instance.new("ViewportFrame", Screen)
  1081.  
  1082.     local module = {}
  1083.     local characters = {}
  1084.     local clones = {}
  1085.     local parts = {}
  1086.  
  1087.     module.Options = {
  1088.         Enabled = false,
  1089.         Parent = script.Parent or game.CoreGui,
  1090.         Color = Color3.new(1, 1, 1),
  1091.         ShowDescendants = false,
  1092.         TeamColor = false,
  1093.         ShowSelf = false,
  1094.         ShowTeam = false,
  1095.         Mode = "Shader",
  1096.         Opacity = 1,
  1097.         MaxDistance = 500,
  1098.     }
  1099.     --// Edits
  1100.     Viewport.Size = UDim2.new(1, 0, 1, 0)
  1101.     Viewport.BackgroundTransparency = 1
  1102.     Viewport.CurrentCamera = workspace.CurrentCamera
  1103.     Screen.IgnoreGuiInset = true
  1104.     --// Functions
  1105.     local function getParts(Model)
  1106.         local parts = {}
  1107.         local descendants = Model:GetDescendants()
  1108.         local descendantsn = #descendants
  1109.         for i = 1, descendantsn do
  1110.             local desc = descendants[i]
  1111.             if desc:IsA("BasePart") then
  1112.                 table.insert(parts, desc)
  1113.             end
  1114.         end
  1115.         return parts
  1116.     end
  1117.     local function getPart(Model)
  1118.         return Model.PrimaryPart or Model:FindFirstChild("HumanoidRootPart") or Model:FindFirstChildWhichIsA("Part")
  1119.     end
  1120.     function module:Clone(Object)
  1121.         local isArchivable = Object.Archivable
  1122.         local Clone
  1123.         Object.Archivable = true
  1124.         Clone = Object:Clone()
  1125.         Object.Archivable = isArchivable
  1126.         if module.Options.Mode == "Shader" then
  1127.             Viewport.Ambient = Color3.fromRGB(200, 200, 200)
  1128.         else
  1129.             Viewport.Ambient = Color3.fromRGB(255, 255, 255)
  1130.         end
  1131.         for _, child in pairs(Clone:GetDescendants()) do
  1132.             if child:IsA("Script") or child:IsA("LocalScript") or child:IsA("Sound") then
  1133.                 child:Destroy()
  1134.             elseif child:IsA("Humanoid") then
  1135.                 child.DisplayDistanceType = "None"
  1136.             elseif module.Options.Mode ~= "Shader" then
  1137.                 if child:IsA("SpecialMesh") then
  1138.                     if module.Options.Mode ~= "ForceField" then
  1139.                         child.TextureId = ""
  1140.                     end
  1141.                 elseif child:IsA("MeshPart") then
  1142.                     if module.Options.Mode ~= "ForceField" then
  1143.                         child.TextureID = ""
  1144.                     end
  1145.                 elseif child:IsA("BasePart") then
  1146.                     if module.Options.Mode ~= "ForceField" then
  1147.                         child.Material = Enum.Material.Neon
  1148.                     else
  1149.                         child.Material = Enum.Material.ForceField
  1150.                     end
  1151.                 elseif child:IsA("Clothing") or child:IsA("Decal") then
  1152.                     child:Destroy()
  1153.                 end
  1154.             end
  1155.         end
  1156.         return Clone
  1157.     end
  1158.     function module:Enable()
  1159.         module.Options.Enabled = true
  1160.         Screen.Parent = module.Options.Parent
  1161.         module:ReloadCharacters()
  1162.     end
  1163.  
  1164.     function module:Disable()
  1165.         module.Options.Enabled = false
  1166.         Screen.Parent = nil
  1167.     end
  1168.  
  1169.     function module:ReloadCharacters()
  1170.         Viewport:ClearAllChildren()
  1171.         for player, character in pairs(characters) do
  1172.             local clone = module:Clone(character)
  1173.             clone.Name = player.Name
  1174.             clone.Parent = Viewport
  1175.             clones[player] = clone
  1176.         end
  1177.     end
  1178.  
  1179.     local function newPlayer(player)
  1180.         if player.Character then
  1181.             characters[player] = player.Character
  1182.  
  1183.             local clone = module:Clone(player.Character)
  1184.             clone.Name = player.Name
  1185.             clone.Parent = Viewport
  1186.             clones[player] = clone
  1187.         end
  1188.         player.CharacterAdded:Connect(function(char)
  1189.             if clones[player] then
  1190.                 clones[player]:Destroy()
  1191.                 clones[player] = nil
  1192.             end;if characters[player] then
  1193.                 characters[player]:Destroy()
  1194.                 characters[player] = nil
  1195.             end
  1196.  
  1197.             characters[player] = char
  1198.  
  1199.             local clone = module:Clone(char)
  1200.             clone.Name = player.Name
  1201.             clone.Parent = Viewport
  1202.             clones[player] = clone
  1203.         end)
  1204.     end
  1205.  
  1206.     Players.PlayerAdded:Connect(newPlayer)
  1207.     Players.PlayerRemoving:Connect(function(player)
  1208.         if clones[player] then
  1209.             clones[player]:Destroy()
  1210.             clones[player] = nil
  1211.         end;if characters[player] then
  1212.             characters[player]:Destroy()
  1213.             characters[player] = nil
  1214.         end
  1215.     end)
  1216.     for _, player in pairs(Players:GetPlayers()) do
  1217.         newPlayer(player)
  1218.     end
  1219.     RunService.RenderStepped:Connect(function()
  1220.         if module.Options.Enabled then
  1221.             for player, character in pairs(characters) do
  1222.                 local clone = clones[player]
  1223.                 local target = getPart(clone)
  1224.                 if target then
  1225.                     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
  1226.                         if (player == Player and module.Options.ShowSelf) or player ~= Player then
  1227.                             local parts = getParts(clone)
  1228.                             for i = 1, #parts do
  1229.                                 local obj = parts[i]
  1230.                                 local cor = character:FindFirstChild(obj.Name, true)
  1231.                                 if character:FindFirstChild(obj.Parent.Name) then
  1232.                                     cor = character:FindFirstChild(obj.Parent.Name):FindFirstChild(obj.Name)
  1233.                                 end
  1234.                                 if cor and obj then
  1235.                                     if module.Options.TeamColor then
  1236.                                         obj.Color = player.TeamColor.Color
  1237.                                     elseif module.Options.Mode ~= "Shader" then
  1238.                                         obj.Color = Color3.new(1, 1, 1)
  1239.                                     end
  1240.                                     if module.Options.ShowDescendants then
  1241.                                         obj.CFrame = cor.CFrame
  1242.                                     elseif obj.Parent == clone then
  1243.                                         obj.CFrame = cor.CFrame
  1244.                                     else
  1245.                                         obj.CFrame = CFrame.new(10000, 10000, 10000)
  1246.                                     end
  1247.                                 end
  1248.                             end
  1249.                             if clone.Parent == nil then
  1250.                                 clone.Parent = Viewport
  1251.                             end
  1252.                         else
  1253.                             clone.Parent = nil
  1254.                         end
  1255.                     else
  1256.                         clone.Parent = nil
  1257.                     end
  1258.                 else
  1259.                     clone.Parent = nil
  1260.                 end
  1261.             end
  1262.             Viewport.ImageColor3 = module.Options.Color
  1263.             Viewport.ImageTransparency = 1 - module.Options.Opacity
  1264.         end
  1265.     end)
  1266.     return module
  1267. end)()
  1268. --[[]]
  1269. local _ManaFly = (function()
  1270.     local tweenservice = game:GetService("TweenService")
  1271.     local module = {}
  1272.  
  1273.     local RunService = game:GetService("RunService")
  1274.     local Players = game:GetService("Players")
  1275.     local Player = Players.LocalPlayer
  1276.     local x,y,z = 0,0,0
  1277.     module.Options = {
  1278.         Enabled = false,
  1279.         Color = Color3.new(1, 0, 0),
  1280.         speed = 0,
  1281.         Opacity = 0,
  1282.         PartMaterial = Enum.Material.Air,
  1283.         Up="x",
  1284.         Down="z",
  1285.         Size = 2,
  1286.         CFrameOffset = 3.5,
  1287.     }
  1288.     function module:Enable()
  1289.         module.Options.Enabled = true
  1290.         x,y,z = 0,0,0
  1291.     end
  1292.  
  1293.     function module:Disable()
  1294.         module.Options.Enabled = false
  1295.         x,y,z = 0,0,0
  1296.     end
  1297.     function module:SpeedChange(Speed)
  1298.         if z > 0 then
  1299.             z = Speed
  1300.         elseif z < 0 then
  1301.             z = -Speed
  1302.         end
  1303.         if y > 0 then
  1304.             y = Speed
  1305.         elseif y < 0 then
  1306.             y = -Speed
  1307.         end
  1308.         if x > 0 then
  1309.             x = Speed
  1310.         elseif x < 0 then
  1311.             x = -Speed
  1312.         end
  1313.     end
  1314.     local bodyvelocity,bodygyro
  1315.     Player:GetMouse().KeyDown:Connect(function(k)
  1316.         if not module.Options.Enabled then return end
  1317.         if k == "w" then
  1318.             x = x - module.Options.speed
  1319.         elseif k == "s" then
  1320.             x = x + module.Options.speed
  1321.         elseif k == "a" then
  1322.             z = z - module.Options.speed
  1323.         elseif k == "d" then
  1324.             z = z + module.Options.speed
  1325.         elseif k == module.Options.Down then
  1326.             y = y - module.Options.speed
  1327.         elseif k == module.Options.Up then
  1328.             y = y + module.Options.speed
  1329.         end
  1330.         --rconsoleinfo("ManaFly: X: "..tostring(x).." Y: "..tostring(y).." Z: "..tostring(z))
  1331.     end)
  1332.     Player:GetMouse().KeyUp:Connect(function(k)
  1333.         if not module.Options.Enabled then
  1334.             return
  1335.         end
  1336.         if x == 0 and z == 0 and y == 0 then
  1337.             return
  1338.         end
  1339.         if k == "w" then
  1340.             x = x + module.Options.speed
  1341.         elseif k == "s" then
  1342.             x = x - module.Options.speed
  1343.         elseif k == "a" then
  1344.             z = z + module.Options.speed
  1345.         elseif k == "d" then
  1346.             z = z - module.Options.speed
  1347.         elseif k == module.Options.Down then
  1348.             y = y + module.Options.speed
  1349.         elseif k == module.Options.Up then
  1350.             y = y - module.Options.speed
  1351.         end
  1352.     end)
  1353.     local part
  1354.     RunService.Stepped:Connect(function()
  1355.         if part then
  1356.             part.CanCollide = false
  1357.             part.CanTouch = false
  1358.             part.Transparency = 1
  1359.             part.Size=Vector3.new(1,1,1)
  1360.         end
  1361.     end)
  1362.     local MANAFLY
  1363.     local function CancelYVelocity()
  1364.         if not MANAFLY then
  1365.             MANAFLY =  Instance.new("Part",workspace)
  1366.         end
  1367.         MANAFLY.Parent = workspace
  1368.         MANAFLY.Size = Vector3.new(module.Options.Size,1,module.Options.Size)
  1369.         MANAFLY.Transparency = module.Options.Opacity
  1370.         MANAFLY.Name = "MANAFLYPART"
  1371.         MANAFLY.Material  = module.Options.PartMaterial
  1372.         MANAFLY.Color = module.Options.Color
  1373.         MANAFLY.Anchored = true
  1374.         MANAFLY.CanTouch = false
  1375.     end
  1376.     local function fly()
  1377.         if module.Options.Enabled then
  1378.             --rconsoleinfo("ManaFly:loop")
  1379.             CancelYVelocity()
  1380.             local targetCF = workspace.CurrentCamera.CFrame
  1381.             if not part then
  1382.                 part = Instance.new("Part",workspace)
  1383.                 part.CFrame = Player.Character:GetPrimaryPartCFrame()
  1384.             end
  1385.             if not bodyvelocity then
  1386.                 bodyvelocity=Instance.new("BodyVelocity", part)
  1387.             end
  1388.             if not bodygyro then
  1389.                 bodygyro = Instance.new("BodyGyro", part)
  1390.             end
  1391.             bodyvelocity.MaxForce = Vector3.new(9e9,9e9,9e9)
  1392.             bodygyro.P = 9e4
  1393.             bodygyro.maxTorque = Vector3.new(9e9, 9e9, 9e9)
  1394.             bodygyro.CFrame = targetCF
  1395.             --rconsoleinfo("ManaFly: X: "..tostring(x).." Y: "..tostring(y).." Z: "..tostring(z))
  1396.             bodyvelocity.Velocity =(targetCF*CFrame.new(z,y,x)).p - targetCF.p
  1397.             if Player.Character == nil then
  1398.                 bodyvelocity:Destroy()
  1399.                 bodygyro:Destroy()
  1400.                 bodyvelocity = nil
  1401.                 bodygyro = nil
  1402.             else
  1403.                 Player.Character:SetPrimaryPartCFrame(part.CFrame* CFrame.new(0,module.Options.CFrameOffset,0))
  1404.                 Player.Character.HumanoidRootPart.Velocity = Vector3.new(Player.Character.HumanoidRootPart.Velocity.x,0,Player.Character.HumanoidRootPart.Velocity.z)
  1405.                 MANAFLY.CFrame = part.CFrame
  1406.             end
  1407.         else
  1408.             if part then
  1409.                 part.CFrame = Player.Character:GetPrimaryPartCFrame() * CFrame.new(0,-3.4,0)
  1410.                 MANAFLY.CFrame = CFrame.new(0,0,0)
  1411.             end
  1412.         end
  1413.     end
  1414.     RunService:BindToRenderStep("MANAFLY",Enum.RenderPriority.Input.Value-1,fly)
  1415.     return module
  1416. end)()
  1417. --]]
  1418. local _ManaRun= (function()
  1419.     --// Variables
  1420.     local module = {}
  1421.  
  1422.     local RunService = game:GetService("RunService")
  1423.     local Players = game:GetService("Players")
  1424.     local Player = Players.LocalPlayer
  1425.  
  1426.     local leftorright,backorforward = 0,0
  1427.  
  1428.     module.Options = {
  1429.         Enabled = false,
  1430.         speed = 0,
  1431.     }
  1432.     function module:Enable()
  1433.         module.Options.Enabled = true
  1434.         leftorright,backorforward = 0,0
  1435.     end
  1436.  
  1437.     function module:Disable()
  1438.         module.Options.Enabled = false
  1439.         leftorright,backorforward = 0,0
  1440.     end
  1441.     function module:SpeedChange(Speed)
  1442.         if leftorright > 0 then
  1443.             leftorright = Speed
  1444.         elseif leftorright < 0 then
  1445.             leftorright = -Speed
  1446.         end
  1447.         if backorforward > 0 then
  1448.             backorforward = Speed
  1449.         elseif backorforward < 0 then
  1450.             backorforward = -Speed
  1451.         end
  1452.     end
  1453.     RunService:BindToRenderStep("MANARUN",1,function()
  1454.         if module.Options.Enabled then
  1455.             Player.Character:SetPrimaryPartCFrame(Player.Character:GetPrimaryPartCFrame():Lerp(Player.Character:GetPrimaryPartCFrame()*CFrame.new(leftorright,0,backorforward),1))
  1456.         end
  1457.     end)
  1458.     Player:GetMouse().KeyDown:Connect(function(k)
  1459.         if k == "w" then
  1460.             backorforward = backorforward - module.Options.speed
  1461.         elseif k == "s" then
  1462.             backorforward = backorforward + module.Options.speed
  1463.         elseif k == "a" then
  1464.             leftorright = leftorright - module.Options.speed
  1465.         elseif k == "d" then
  1466.             leftorright = leftorright + module.Options.speed
  1467.         end
  1468.     end)
  1469.     Player:GetMouse().KeyUp:Connect(function(k)
  1470.         if k == "w" then
  1471.             backorforward = backorforward + module.Options.speed
  1472.         elseif k == "s" then
  1473.             backorforward = backorforward - module.Options.speed
  1474.         elseif k == "a" then
  1475.             leftorright = leftorright + module.Options.speed
  1476.         elseif k == "d" then
  1477.             leftorright = leftorright - module.Options.speed
  1478.         end
  1479.     end)
  1480.     return module
  1481. end)()
  1482.  
  1483. local _OtherStats = (function()
  1484.     local modules = {}
  1485.     modules.Options = {
  1486.         Enabled = false,
  1487.         EnabledLocalPlayer = false,
  1488.     }
  1489.     local players = game:GetService("Players")
  1490.     local tweensc= game:GetService("TweenService")
  1491.     local localplayer = players.LocalPlayer
  1492.  
  1493.     local function createbar(parent,color)
  1494.         local barframe = Instance.new("Frame",parent)
  1495.         barframe.Size = UDim2.new(0.983, 0,0.174, 0)
  1496.         barframe.BackgroundTransparency = 1
  1497.         local bar = Instance.new("Frame",barframe)
  1498.         bar.Size = UDim2.new(1,0,1,0)
  1499.         bar.BackgroundColor3 = color
  1500.         bar.Name = "Bar"
  1501.         local ValueText = Instance.new("TextLabel",barframe)
  1502.         ValueText.Size = UDim2.new(1,0,1,0)
  1503.         ValueText.BackgroundTransparency = 1
  1504.         ValueText.TextScaled = true
  1505.         ValueText.Name = "Value"
  1506.         ValueText.TextColor3 = Color3.new(1,1,1)
  1507.         return barframe
  1508.     end
  1509.     local function createStatusBar(target)
  1510.         local billboard = Instance.new("BillboardGui",target)
  1511.         billboard.Size = UDim2.new(12,0,5,0)
  1512.         billboard.AlwaysOnTop = true
  1513.         billboard.ExtentsOffset = Vector3.new(0,-8,0)
  1514.         local frame = Instance.new("Frame",billboard)
  1515.         frame.Size = UDim2.new(1,0,1,0)
  1516.         frame.BackgroundTransparency = 1
  1517.         local HPBar = createbar(frame,Color3.new(1, 0, 0))
  1518.         HPBar.Name = "Health"
  1519.         HPBar.Position = UDim2.new(0.005, 0, 0.02, 0)
  1520.         local HungerBar = createbar(frame,Color3.new(255/255, 204/255, 49/255))
  1521.         HungerBar.Name = "Hunger"
  1522.         HungerBar.Position = UDim2.new(0.005, 0, 0.261, 0)
  1523.         local StaminaBar = createbar(frame,Color3.new(33/255, 215/255, 255/255))
  1524.         StaminaBar.Name = "Stamina"
  1525.         StaminaBar.Position = UDim2.new(0.005, 0, 0.502, 0)
  1526.         local BreathingBar = createbar(frame,Color3.new(169/255, 255/255, 241/255))
  1527.         BreathingBar.Name = "Breathing"
  1528.         BreathingBar.Position = UDim2.new(0.005, 0, 0.743, 0)
  1529.         return {Health = HPBar, Hunger = HungerBar, Stamina = StaminaBar, Breathing = BreathingBar}
  1530.     end
  1531.     function statsrenderer()
  1532.         if not modules.StatusBars then
  1533.             modules.StatusBars={}
  1534.         end
  1535.         local StatusBars = modules.StatusBars
  1536.         if modules.Options.Enabled then
  1537.             for _,player in pairs(players:GetPlayers())do
  1538.                 local status
  1539.                 if player:FindFirstChild("MaxHealth") then
  1540.                     status = {
  1541.                         Health={
  1542.                             max = math.floor(player["MaxHealth"].Value),
  1543.                             value = math.floor(player["Health"].Value),
  1544.                             percentage = math.floor(player["Health"].Value)/math.floor(player["MaxHealth"].Value)
  1545.                         },
  1546.                         Breathing={
  1547.                             max = 100,
  1548.                             value = math.floor(player["Breathing"].Value),
  1549.                             percentage = math.floor(player["Breathing"].Value)/100
  1550.                         },
  1551.                         Stamina={
  1552.                             max = math.floor(player["MaxStamina"].Value),
  1553.                             value = math.floor(player["Stamina"].Value),
  1554.                             percentage = math.floor(player["Stamina"].Value)/math.floor(player["MaxStamina"].Value)
  1555.                         },
  1556.                         Hunger={
  1557.                             max = math.floor(player["MaxHunger"].Value),
  1558.                             value = math.floor(player["Hunger"].Value),
  1559.                             percentage = math.floor(player["Hunger"].Value)/math.floor(player["MaxHunger"].Value)
  1560.                         }
  1561.                     }
  1562.                 end
  1563.                 if player ~= localplayer or modules.Options.EnabledLocalPlayer then
  1564.                     if player.Character:FindFirstChild("HumanoidRootPart") and status then
  1565.                         if not StatusBars[player.UserId] or not player.Character:FindFirstChild("HumanoidRootPart"):FindFirstChildOfClass("BillboardGui") then
  1566.                             StatusBars[player.UserId] = createStatusBar(player.Character.HumanoidRootPart)
  1567.                         end
  1568.                         if StatusBars[player.UserId] then
  1569.                             for i,v in pairs(status) do
  1570.                                 StatusBars[player.UserId][i].Bar.Size = UDim2.new(status[i].percentage,0,1,0)
  1571.                                 StatusBars[player.UserId][i]:FindFirstChild("Value").Text = tostring(status[i].value) .. "/"..tostring(status[i].max)
  1572.                             end
  1573.                         end
  1574.                     end
  1575.                 end
  1576.             end
  1577.         else
  1578.             for index,bar in pairs(modules.StatusBars) do
  1579.                 bar:Destroy()
  1580.                 modules.StatusBars[index] = nil
  1581.             end
  1582.         end
  1583.     end
  1584.     game:GetService("RunService"):BindToRenderStep("StatsViewer",1,statsrenderer)
  1585.     return modules
  1586. end)()
  1587.  
  1588. local _FullBright = (function()
  1589.     --// Variables
  1590.     local module = {}
  1591.  
  1592.     module.Options = {
  1593.         Enabled = false,
  1594.         ExposureCompensation=0,
  1595.         Brightness = 2
  1596.     }
  1597.  
  1598.     local RunService = game:GetService("RunService")
  1599.     local Players = game:GetService("Players")
  1600.     local Player = Players.LocalPlayer
  1601.  
  1602.     function module:Enable()
  1603.         module.Options.Enabled = true
  1604.     end
  1605.  
  1606.     function module:Disable()
  1607.         module.Options.Enabled = false
  1608.     end
  1609.  
  1610.     game:GetService("RunService"):BindToRenderStep("FULLBRIGHT",1,function()
  1611.         if module.Options.Enabled then
  1612.             game:GetService("Lighting").Ambient = Color3.new(1,1,1)
  1613.             game:GetService("Lighting").FogEnd = 100000000000000000000000
  1614.             game:GetService("Lighting").FogStart = 100000000000000000000000
  1615.             game:GetService("Lighting").Brightness =  module.Options.Brightness
  1616.             game:GetService("Lighting").ExposureCompensation = module.Options.ExposureCompensation
  1617.             game:GetService("Lighting").GeographicLatitude = 41.733
  1618.             game:GetService("Lighting").ColorShift_Bottom = Color3.new(1,1,1)
  1619.             game:GetService("Lighting").ColorShift_Top = Color3.new(1,1,1)
  1620.             game:GetService("Lighting").FogColor = Color3.new(1,1,1)
  1621.             game:GetService("Lighting").ClockTime = 12
  1622.         end
  1623.     end)
  1624.  
  1625.     return module
  1626. end)()
  1627.  
  1628. local _Noclip = (function()
  1629.     --// Variables
  1630.     local module = {}
  1631.  
  1632.     local RunService = game:GetService("RunService")
  1633.     local Players = game:GetService("Players")
  1634.     local Player = Players.LocalPlayer
  1635.     local MANAFLY = nil
  1636.  
  1637.     module.Options = {
  1638.         Enabled = false,
  1639.         Color = Color3.new(1, 0, 0),
  1640.         speed = 0,
  1641.         Opacity = 0,
  1642.         Up="x",
  1643.         Down="z",
  1644.     }
  1645.  
  1646.     function module:Enable()
  1647.         module.Options.Enabled = true
  1648.     end
  1649.  
  1650.     function module:Disable()
  1651.         module.Options.Enabled = false
  1652.     end
  1653.     RunService.Stepped:Connect(function()
  1654.         if module.Options.Enabled then
  1655.             for _,v in pairs(Player.Character:GetDescendants())do
  1656.                 if v:IsA("BasePart") then
  1657.                     v.CanCollide =  false
  1658.                 end
  1659.             end
  1660.         end
  1661.     end)
  1662.     return module
  1663. end)()
  1664.  
  1665.  
  1666. --// Variables
  1667. local RunService = game:GetService("RunService")
  1668. local HttpService = game:GetService("HttpService")
  1669. local UserInputService = game:GetService("UserInputService")
  1670. local Players = game:GetService("Players")
  1671. local Player = Players.LocalPlayer
  1672. local Mouse = Player:GetMouse()
  1673.  
  1674. local gui = GUIData[1]
  1675. local saveData = GUIData[2]
  1676. local screenGui = GUIData[3]
  1677.  
  1678. local screenscale = 250
  1679. local opacity = 1
  1680. local backcolor = Color3.new()
  1681.  
  1682. --// Saving
  1683. local readfile = readfile or function() end
  1684. pcall(function()
  1685.     local JSONData = readfile("OpenGui.txt")
  1686.     if JSONData then
  1687.         local LUAData = HttpService:JSONDecode(JSONData)
  1688.         saveData.Options = LUAData.Options
  1689.         saveData.Hotkeys = LUAData.Hotkeys
  1690.         print("Save Data found")
  1691.     else
  1692.         print("Save Data not found")
  1693.     end
  1694. end)
  1695.  
  1696.  
  1697. --// UI Creation
  1698. local UIopt = gui:create("Container", {
  1699.     Name = "UserInterface",
  1700. })
  1701. local OpenGui = UIopt.self:create("Toggle", {
  1702.     Name = "OpenGui",
  1703.     Default = true,
  1704.     Hotkey = tostring(Enum.KeyCode.RightControl),
  1705.     Hint = "The navigation GUI",
  1706.     Callback = function(enabled)
  1707.         for _, frame in pairs(screenGui:GetChildren()) do
  1708.             if frame:IsA("Frame") then
  1709.                 frame.Visible = enabled
  1710.             end
  1711.         end
  1712.         screenGui.Modal.Visible = enabled
  1713.         screenGui.Hint.Visible = false
  1714.     end,
  1715. })--|
  1716.  
  1717. local Opacity = OpenGui.self:create("Number", {
  1718.     Name = "Opacity",
  1719.     Min = 0,
  1720.     Max = 1,
  1721.     Round = 0.01,
  1722.     Default = 0.75,
  1723.     Hint = "Transparency of the navigation GUI",
  1724.     Callback = function(alpha)
  1725.         opacity = 1 - alpha
  1726.         for _, frame in pairs(screenGui:GetChildren()) do
  1727.             if frame:IsA("Frame") then
  1728.                 frame.BackgroundTransparency = 1 - alpha
  1729.                 frame.OptionsFrame.BackgroundTransparency = 1 - alpha
  1730.             end
  1731.         end
  1732.     end,
  1733. })
  1734.  
  1735. local Width = OpenGui.self:create("Number", {
  1736.     Name = "Width",
  1737.     Min = 200,
  1738.     Max = 1000,
  1739.     Round = 1,
  1740.     Default = 1000,
  1741.     Hint = "Width of the navigation GUI",
  1742.     Callback = function(scale)
  1743.         screenscale = scale
  1744.         for _, frame in pairs(screenGui:GetChildren()) do
  1745.             if frame:IsA("Frame") then
  1746.                 frame.Size = UDim2.new(0, scale, 0, frame.Size.Y.Offset)
  1747.             end
  1748.         end
  1749.     end,
  1750. })
  1751.  
  1752. local Color = OpenGui.self:create("Color", {
  1753.     Name = "Background Color",
  1754.     Default = Color3.fromRGB(40, 40, 40),
  1755.     Hint = "Background color of the navigation GUI",
  1756.     Callback = function(color)
  1757.         backcolor = color
  1758.         for _, frame in pairs(screenGui:GetChildren()) do
  1759.             if frame:IsA("Frame") then
  1760.                 frame.BackgroundColor3 = color
  1761.                 frame.OptionsFrame.BackgroundColor3 = color
  1762.             end
  1763.         end
  1764.     end,
  1765. })
  1766. --local UnderCoverUI = OpenGui.self:create("Toggle", {
  1767. --  Name = "UnderCover",
  1768. --  Default = false,
  1769. --  Hotkey = tostring(Enum.KeyCode.F7),
  1770. --  Hint = "Hide UI",
  1771. --  Callback = function(enabled)
  1772. --      screenGui.Enabled = not enabled
  1773. --  end,
  1774. --})--|
  1775. --// Render Frame
  1776. local Render = gui:create("Container", {
  1777.     Name = "Render",
  1778. })--|
  1779. if game.GameId == 1650291138 then
  1780.     local StatsViewer = Render.self:create("Toggle", {
  1781.         Name = "StatsViewer",
  1782.         Default = true,
  1783.         Hotkey = tostring(Enum.KeyCode.F6),
  1784.         Hint = "Enable OtherPlayer Stats",
  1785.         Callback = function(enabled)
  1786.             _OtherStats.Options.Enabled = enabled
  1787.         end,
  1788.     })
  1789.     local Viewerlp = StatsViewer.self:create("Checkbox", {
  1790.         Name = "LocalPlayer(Useless)",
  1791.         Default = false,
  1792.         Hint = "Enable LocalPlayer Stats(Useless)",
  1793.         Callback = function(enabled)
  1794.             _OtherStats.Options.EnabledLocalPlayer = enabled
  1795.         end,
  1796.     })
  1797. end
  1798. local FullBright = Render.self:create("Toggle", {
  1799.     Name = "FullBright",
  1800.     Default = false,
  1801.     Hint = "Toggle FullBright",
  1802.     Callback = function(enabled)
  1803.         _FullBright.Options.Enabled = enabled
  1804.         if enabled then
  1805.             _FullBright:Enable()
  1806.         else
  1807.             _FullBright:Disable()
  1808.         end
  1809.     end,
  1810. })
  1811.  
  1812. local ExposureCompensation  = FullBright.self:create("Number", {
  1813.     Name = "ExposureCompensation ",
  1814.     Default = 0.5,
  1815.     Min = 0,
  1816.     Max = 100,
  1817.     Round = 0.001,
  1818.     Hint = "Change ExposureCompensation",
  1819.     Callback = function(exposureCompensation)
  1820.         _FullBright.Options.ExposureCompensation = exposureCompensation
  1821.     end,
  1822. })
  1823.  
  1824. local Brightness  = FullBright.self:create("Number", {
  1825.     Name = "Brightness ",
  1826.     Default = 2,
  1827.     Min = 0,
  1828.     Max = 40,
  1829.     Round = 0.001,
  1830.     Hint = "Change Brightness",
  1831.     Callback = function(brightness)
  1832.         _FullBright.Options.Brightness = brightness
  1833.     end,
  1834. })
  1835. -- ESP --
  1836. local Chams = Render.self:create("Toggle", {
  1837.     Name = "Chams",
  1838.     Default = false,
  1839.     Hint = "Render players through walls",
  1840.     Callback = function(enabled)
  1841.         _Chams.Options.Enabled = enabled
  1842.         if enabled then
  1843.             _Chams:Enable()
  1844.         else
  1845.             _Chams:Disable()
  1846.         end
  1847.     end,
  1848. })--|
  1849. local ChamsColor = Chams.self:create("Color", {
  1850.     Name = "Chams Color",
  1851.     Default = Color3.new(1, 1, 1),
  1852.     Hint = "Color of the player chams",
  1853.     Callback = function(color)
  1854.         _Chams.Options.Color = color
  1855.     end,
  1856. })
  1857. local ChamsShowTeam = Chams.self:create("Checkbox", {
  1858.     Name = "Show Team",
  1859.     Default = false,
  1860.     Hint = "Include your teammates",
  1861.     Callback = function(enabled)
  1862.         _Chams.Options.ShowTeam = enabled
  1863.     end,
  1864. })
  1865. local ChamsShowSelf = Chams.self:create("Checkbox", {
  1866.     Name = "Show Self",
  1867.     Default = false,
  1868.     Hint = "Include yourself",
  1869.     Callback = function(enabled)
  1870.         _Chams.Options.ShowSelf = enabled
  1871.     end,
  1872. })
  1873. local ChamsTeamColor = Chams.self:create("Checkbox", {
  1874.     Name = "Team Color",
  1875.     Default = false,
  1876.     Hint = "The chams color corresponds to the player's team",
  1877.     Callback = function(enabled)
  1878.         _Chams.Options.TeamColor = enabled
  1879.     end,
  1880. })
  1881. local ChamsShowDescendants = Chams.self:create("Checkbox", {
  1882.     Name = "Show Descendants",
  1883.     Default = false,
  1884.     Hint = "Highlight items like accessories",
  1885.     Callback = function(enabled)
  1886.         _Chams.Options.ShowDescendants = enabled
  1887.     end,
  1888. })
  1889. local ChamsMode = Chams.self:create("Mode", {
  1890.     Name = "Chams Mode",
  1891.     Default = 1,
  1892.     Modes = {"Opaque", "Shader","ForceField"},
  1893.     Hint = "The type of chams used",
  1894.     Callback = function(mode)
  1895.         _Chams.Options.Mode = mode
  1896.         _Chams:ReloadCharacters()
  1897.     end,
  1898. })
  1899. local ChamsOpacity = Chams.self:create("Number", {
  1900.     Name = "Opacity",
  1901.     Default = 0.5,
  1902.     Min = 0,
  1903.     Max = 1,
  1904.     Round = 0.01,
  1905.     Hint = "Visibility of the chams",
  1906.     Callback = function(opacity)
  1907.         _Chams.Options.Opacity = opacity
  1908.     end,
  1909. })
  1910. local ChamsMaxDistance = Chams.self:create("Number", {
  1911.     Name = "Max Distance",
  1912.     Default = 2048,
  1913.     Min = 0,
  1914.     Max = 25000,
  1915.     Round = 0.5,
  1916.     Hint = "The chams' maximum distance",
  1917.     Callback = function(distance)
  1918.         _Chams.Options.MaxDistance = distance
  1919.     end,
  1920. })
  1921. local CustomChams = Render.self:create("Toggle", {
  1922.     Name = "CustomChams",
  1923.     Default = false,
  1924.     Hint = "Render players through walls",
  1925.     Callback = function(enabled)
  1926.         if enabled then
  1927.             _CustomChams:Enable()
  1928.         else
  1929.             _CustomChams:Disable()
  1930.         end
  1931.     end,
  1932. })
  1933. local CustomChamsColor = CustomChams.self:create("Color", {
  1934.     Name = "ESP Color",
  1935.     Default = Color3.new(0.333333, 0, 1),
  1936.     Hint = "Color of the player chams",
  1937.     Callback = function(color)
  1938.         _CustomChams.Options.color = color
  1939.     end,
  1940. })
  1941. local Mana = gui:create("Container", {
  1942.     Name = "Mana",
  1943. })
  1944.  
  1945. local ManaFly = Mana.self:create("Toggle", {
  1946.     Name = "ManaFly",
  1947.     Default = false,
  1948.     Hint = "Toggle ManaFly",
  1949.     Hotkey = tostring(Enum.KeyCode.B),
  1950.     Callback = function(enabled)
  1951.         _ManaFly.Options.Enabled = enabled
  1952.         if enabled then
  1953.             _ManaFly:Enable()
  1954.         else
  1955.             _ManaFly:Disable()
  1956.         end
  1957.     end,
  1958. })
  1959.  
  1960. local ManaFlySpeed = ManaFly.self:create("Number", {
  1961.     Name = "FlySpeed",
  1962.     Default = 0,
  1963.     Min = 0,
  1964.     Max = 100,
  1965.     Round = 0.001,
  1966.     Hint = "Speed Boost",
  1967.     Callback = function(Speed)
  1968.         _ManaFly:SpeedChange(Speed)
  1969.         _ManaFly.Options.speed = tonumber(Speed)
  1970.     end,
  1971. })
  1972. local ManaPartSize = ManaFly.self:create("Number", {
  1973.     Name = "PartSize",
  1974.     Default = 1,
  1975.     Min = 1,
  1976.     Max = 100,
  1977.     Round = 0.001,
  1978.     Hint = "PartSize",
  1979.     Callback = function(Size)
  1980.         _ManaFly.Options.Size= tonumber(Size)
  1981.     end,
  1982. })
  1983.  
  1984. local ManaFlyOpacity = ManaFly.self:create("Number", {
  1985.     Name = "Opacity",
  1986.     Default = 0,
  1987.     Min = 0,
  1988.     Max = 1,
  1989.     Round = 0.001,
  1990.     Hint = "Visibility of the Part",
  1991.     Callback = function(opacity)
  1992.         _ManaFly.Options.Opacity = 1-opacity
  1993.     end,
  1994. })
  1995.  
  1996. local ManaPartMaterial = ManaFly.self:create("Mode", {
  1997.     Name = "ManaPart Material",
  1998.     Hint = "Change ManaPart Material",
  1999.     Default = 1,
  2000.     Modes = {
  2001.         "Air",
  2002.         "ForceField"
  2003.     },
  2004.     Callback = function(value)
  2005.         _ManaFly.Options.PartMaterial = value
  2006.     end,
  2007. })
  2008.  
  2009. local ManaSoul = Mana.self:create("Toggle", {
  2010.     Name = "ManaSoul",
  2011.     Default = false,
  2012.     Hint = "Toggle Noclip",
  2013.     Callback = function(enabled)
  2014.         _Noclip.Options.Enabled = enabled
  2015.         if enabled then
  2016.             _Noclip:Enable()
  2017.         else
  2018.             _Noclip:Disable()
  2019.         end
  2020.     end,
  2021. })
  2022.  
  2023.  
  2024. local ManaRun = Mana.self:create("Toggle", {
  2025.     Name = "ManaRun",
  2026.     Default = false,
  2027.     Hint = "Toggle ManaRun",
  2028.     Hotkey = tostring(Enum.KeyCode.V),
  2029.     Callback = function(enabled)
  2030.         _ManaRun.Options.Enabled = enabled
  2031.         if enabled then
  2032.             _ManaRun:Enable()
  2033.         else
  2034.             _ManaRun:Disable()
  2035.         end
  2036.     end,
  2037. })
  2038. local ManaRunSpeed = ManaRun.self:create("Number", {
  2039.     Name = "Boost Speed",
  2040.     Default = 0,
  2041.     Min = 0,
  2042.     Max = 100,
  2043.     Round = 0.001,
  2044.     Hint = "Speed Boost",
  2045.     Callback = function(Speed)
  2046.         _ManaRun:SpeedChange(Speed)
  2047.         _ManaRun.Options.speed = tonumber(Speed)
  2048.     end,
  2049. })
  2050.  
  2051.  
  2052. RunService.RenderStepped:Connect(function()
  2053.     for _, frame in pairs(screenGui:GetChildren()) do
  2054.         if frame:IsA("Frame") then
  2055.             frame.Size = UDim2.new(0, screenscale, 0, frame.Size.Y.Offset)
  2056.  
  2057.             frame.BackgroundTransparency = opacity
  2058.             frame.OptionsFrame.BackgroundTransparency = opacity
  2059.  
  2060.             frame.BackgroundColor3 = backcolor
  2061.             frame.OptionsFrame.BackgroundColor3 = backcolor
  2062.         end
  2063.     end
  2064. end)
  2065.  
  2066. notify.Text = "Loaded"
  2067. game:GetService("StarterGui"):SetCore("SendNotification",notify)
  2068. notify.Text = "Got it?"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement