Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local TweenService = game:GetService("TweenService")
- local UserInputService = game:GetService("UserInputService")
- local Players = game:GetService("Players")
- local CoreGui = game:GetService("CoreGui")
- local Theme = {
- Background = Color3.fromRGB(15, 15, 18),
- Container = Color3.fromRGB(20, 20, 24),
- Sidebar = Color3.fromRGB(12, 12, 14),
- Stroke = Color3.fromRGB(35, 35, 42),
- Accent = Color3.fromRGB(114, 137, 218),
- Text = Color3.fromRGB(240, 240, 240),
- SubText = Color3.fromRGB(160, 160, 170)
- }
- local function CreateTween(instance, info, properties)
- local tween = TweenService:Create(instance, TweenInfo.new(unpack(info)), properties)
- tween:Play()
- return tween
- end
- local function MakeDraggable(topbar, object)
- local dragging = false
- local dragInput, dragStart, startPos
- topbar.InputBegan:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
- dragging = true
- dragStart = input.Position
- startPos = object.Position
- input.Changed:Connect(function()
- if input.UserInputState == Enum.UserInputState.End then
- dragging = false
- end
- end)
- end
- end)
- topbar.InputChanged:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
- dragInput = input
- end
- end)
- UserInputService.InputChanged:Connect(function(input)
- if input == dragInput and dragging then
- local delta = input.Position - dragStart
- CreateTween(object, {0.15, Enum.EasingStyle.Sine, Enum.EasingDirection.Out}, {
- Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
- })
- end
- end)
- end
- local Library = {}
- function Library:Create(config)
- config = config or {}
- local uiConfig = config.UI or {}
- local sysConfig = config.Config or {}
- local screen = Instance.new("ScreenGui")
- screen.Name = "ModernUI_V2"
- screen.ResetOnSpawn = false
- screen.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
- local success = pcall(function()
- screen.Parent = CoreGui
- end)
- if not success then
- screen.Parent = Players.LocalPlayer:WaitForChild("PlayerGui")
- end
- local mainFrame = Instance.new("Frame", screen)
- mainFrame.Name = "Main"
- mainFrame.Size = UDim2.new(0, 580, 0, 360)
- mainFrame.Position = UDim2.new(0.5, -290, 0.5, -180)
- mainFrame.BackgroundColor3 = Theme.Background
- mainFrame.BorderSizePixel = 0
- mainFrame.ClipsDescendants = true
- local mainCorner = Instance.new("UICorner", mainFrame)
- mainCorner.CornerRadius = UDim.new(0, 8)
- local mainStroke = Instance.new("UIStroke", mainFrame)
- mainStroke.Color = Theme.Stroke
- mainStroke.Thickness = 1
- local topbar = Instance.new("Frame", mainFrame)
- topbar.Size = UDim2.new(1, 0, 0, 35)
- topbar.BackgroundTransparency = 1
- topbar.ZIndex = 10
- local titleLabel = Instance.new("TextLabel", topbar)
- titleLabel.Size = UDim2.new(1, -100, 1, 0)
- titleLabel.Position = UDim2.new(0, 15, 0, 0)
- titleLabel.BackgroundTransparency = 1
- titleLabel.Text = string.format("<b>%s</b> | %s | <font color='#a0a0aa'>%s</font>", uiConfig.Title or "UI", uiConfig.SubTitle or "Hub", uiConfig.Version or "v1")
- titleLabel.RichText = true
- titleLabel.TextColor3 = Theme.Text
- titleLabel.TextSize = 13
- titleLabel.Font = Enum.Font.GothamMedium
- titleLabel.TextXAlignment = Enum.TextXAlignment.Left
- local function CreateTopButton(text, offset, callback)
- local btn = Instance.new("TextButton", topbar)
- btn.Size = UDim2.new(0, 24, 0, 24)
- btn.Position = UDim2.new(1, offset, 0, 5)
- btn.BackgroundTransparency = 1
- btn.Text = text
- btn.TextColor3 = Theme.SubText
- btn.TextSize = 14
- btn.Font = Enum.Font.GothamBold
- btn.MouseEnter:Connect(function()
- CreateTween(btn, {0.2, Enum.EasingStyle.Quad}, {TextColor3 = Theme.Text})
- end)
- btn.MouseLeave:Connect(function()
- CreateTween(btn, {0.2, Enum.EasingStyle.Quad}, {TextColor3 = Theme.SubText})
- end)
- btn.MouseButton1Click:Connect(callback)
- return btn
- end
- CreateTopButton("X", -34, function()
- CreateTween(mainFrame, {0.3, Enum.EasingStyle.Back, Enum.EasingDirection.In}, {Size = UDim2.new(0, 0, 0, 0)})
- task.wait(0.3)
- screen:Destroy()
- end)
- local minimized = false
- CreateTopButton("-", -64, function()
- minimized = not minimized
- if minimized then
- CreateTween(mainFrame, {0.4, Enum.EasingStyle.Exponential}, {Size = UDim2.new(0, 580, 0, 35)})
- else
- CreateTween(mainFrame, {0.4, Enum.EasingStyle.Exponential}, {Size = UDim2.new(0, 580, 0, 360)})
- end
- end)
- local divider = Instance.new("Frame", mainFrame)
- divider.Size = UDim2.new(1, 0, 0, 1)
- divider.Position = UDim2.new(0, 0, 0, 35)
- divider.BackgroundColor3 = Theme.Stroke
- divider.BorderSizePixel = 0
- divider.ZIndex = 5
- local sidebar = Instance.new("Frame", mainFrame)
- sidebar.Size = UDim2.new(0, 140, 1, -36)
- sidebar.Position = UDim2.new(0, 0, 0, 36)
- sidebar.BackgroundColor3 = Theme.Sidebar
- sidebar.BorderSizePixel = 0
- local sidebarDivider = Instance.new("Frame", sidebar)
- sidebarDivider.Size = UDim2.new(0, 1, 1, 0)
- sidebarDivider.Position = UDim2.new(1, 0, 0, 0)
- sidebarDivider.BackgroundColor3 = Theme.Stroke
- sidebarDivider.BorderSizePixel = 0
- local tabContainer = Instance.new("ScrollingFrame", sidebar)
- tabContainer.Size = UDim2.new(1, -16, 1, -16)
- tabContainer.Position = UDim2.new(0, 8, 0, 8)
- tabContainer.BackgroundTransparency = 1
- tabContainer.ScrollBarThickness = 0
- local tabLayout = Instance.new("UIListLayout", tabContainer)
- tabLayout.Padding = UDim.new(0, 6)
- tabLayout.SortOrder = Enum.SortOrder.LayoutOrder
- local contentContainer = Instance.new("Frame", mainFrame)
- contentContainer.Size = UDim2.new(1, -141, 1, -36)
- contentContainer.Position = UDim2.new(0, 141, 0, 36)
- contentContainer.BackgroundTransparency = 1
- MakeDraggable(topbar, mainFrame)
- local window = {
- ActiveTab = nil,
- Tabs = {}
- }
- local function BuildElements(obj, container)
- function obj:Button(name, callback)
- local btnFrame = Instance.new("Frame", container)
- btnFrame.Size = UDim2.new(1, -4, 0, 38)
- btnFrame.BackgroundColor3 = Theme.Container
- Instance.new("UICorner", btnFrame).CornerRadius = UDim.new(0, 6)
- Instance.new("UIStroke", btnFrame).Color = Theme.Stroke
- local btn = Instance.new("TextButton", btnFrame)
- btn.Size = UDim2.new(1, 0, 1, 0)
- btn.BackgroundTransparency = 1
- btn.Text = name
- btn.TextColor3 = Theme.Text
- btn.Font = Enum.Font.GothamMedium
- btn.TextSize = 13
- btn.MouseEnter:Connect(function()
- CreateTween(btnFrame, {0.2, Enum.EasingStyle.Quad}, {BackgroundColor3 = Color3.fromRGB(30, 30, 35)})
- end)
- btn.MouseLeave:Connect(function()
- CreateTween(btnFrame, {0.2, Enum.EasingStyle.Quad}, {BackgroundColor3 = Theme.Container})
- end)
- btn.MouseButton1Click:Connect(function()
- pcall(callback)
- local ripple = Instance.new("Frame", btnFrame)
- ripple.BackgroundColor3 = Theme.Accent
- ripple.BackgroundTransparency = 0.6
- ripple.Size = UDim2.new(1, 0, 1, 0)
- Instance.new("UICorner", ripple).CornerRadius = UDim.new(0, 6)
- local t = CreateTween(ripple, {0.4, Enum.EasingStyle.Quad}, {BackgroundTransparency = 1})
- t.Completed:Connect(function() ripple:Destroy() end)
- end)
- end
- function obj:Toggle(name, default, callback)
- local togFrame = Instance.new("Frame", container)
- togFrame.Size = UDim2.new(1, -4, 0, 38)
- togFrame.BackgroundColor3 = Theme.Container
- Instance.new("UICorner", togFrame).CornerRadius = UDim.new(0, 6)
- Instance.new("UIStroke", togFrame).Color = Theme.Stroke
- local label = Instance.new("TextLabel", togFrame)
- label.Size = UDim2.new(1, -60, 1, 0)
- label.Position = UDim2.new(0, 12, 0, 0)
- label.BackgroundTransparency = 1
- label.Text = name
- label.TextColor3 = Theme.Text
- label.Font = Enum.Font.GothamMedium
- label.TextSize = 13
- label.TextXAlignment = Enum.TextXAlignment.Left
- local btn = Instance.new("TextButton", togFrame)
- btn.Size = UDim2.new(1, 0, 1, 0)
- btn.BackgroundTransparency = 1
- btn.Text = ""
- local track = Instance.new("Frame", togFrame)
- track.Size = UDim2.new(0, 36, 0, 18)
- track.Position = UDim2.new(1, -48, 0.5, -9)
- track.BackgroundColor3 = Color3.fromRGB(40, 40, 45)
- Instance.new("UICorner", track).CornerRadius = UDim.new(1, 0)
- local circle = Instance.new("Frame", track)
- circle.Size = UDim2.new(0, 14, 0, 14)
- circle.Position = UDim2.new(0, 2, 0.5, -7)
- circle.BackgroundColor3 = Color3.fromRGB(200, 200, 200)
- Instance.new("UICorner", circle).CornerRadius = UDim.new(1, 0)
- local state = default
- local function fire(fireCallback)
- if state then
- CreateTween(track, {0.2, Enum.EasingStyle.Quad}, {BackgroundColor3 = Theme.Accent})
- CreateTween(circle, {0.2, Enum.EasingStyle.Quad}, {Position = UDim2.new(1, -16, 0.5, -7), BackgroundColor3 = Color3.fromRGB(255, 255, 255)})
- else
- CreateTween(track, {0.2, Enum.EasingStyle.Quad}, {BackgroundColor3 = Color3.fromRGB(40, 40, 45)})
- CreateTween(circle, {0.2, Enum.EasingStyle.Quad}, {Position = UDim2.new(0, 2, 0.5, -7), BackgroundColor3 = Color3.fromRGB(200, 200, 200)})
- end
- if fireCallback then pcall(callback, state) end
- end
- btn.MouseButton1Click:Connect(function()
- state = not state
- fire(true)
- end)
- fire(false)
- end
- function obj:Slider(name, min, max, callback)
- local sliderFrame = Instance.new("Frame", container)
- sliderFrame.Size = UDim2.new(1, -4, 0, 55)
- sliderFrame.BackgroundColor3 = Theme.Container
- Instance.new("UICorner", sliderFrame).CornerRadius = UDim.new(0, 6)
- Instance.new("UIStroke", sliderFrame).Color = Theme.Stroke
- local label = Instance.new("TextLabel", sliderFrame)
- label.Size = UDim2.new(1, -24, 0, 20)
- label.Position = UDim2.new(0, 12, 0, 8)
- label.BackgroundTransparency = 1
- label.Text = name
- label.TextColor3 = Theme.Text
- label.Font = Enum.Font.GothamMedium
- label.TextSize = 13
- label.TextXAlignment = Enum.TextXAlignment.Left
- local valLabel = Instance.new("TextLabel", sliderFrame)
- valLabel.Size = UDim2.new(0, 50, 0, 20)
- valLabel.Position = UDim2.new(1, -62, 0, 8)
- valLabel.BackgroundTransparency = 1
- valLabel.Text = tostring(min)
- valLabel.TextColor3 = Theme.SubText
- valLabel.Font = Enum.Font.Gotham
- valLabel.TextSize = 12
- valLabel.TextXAlignment = Enum.TextXAlignment.Right
- local trackBox = Instance.new("TextButton", sliderFrame)
- trackBox.Size = UDim2.new(1, -24, 0, 20)
- trackBox.Position = UDim2.new(0, 12, 0, 28)
- trackBox.BackgroundTransparency = 1
- trackBox.Text = ""
- local track = Instance.new("Frame", trackBox)
- track.Size = UDim2.new(1, 0, 0, 4)
- track.Position = UDim2.new(0, 0, 0.5, -2)
- track.BackgroundColor3 = Color3.fromRGB(40, 40, 45)
- Instance.new("UICorner", track).CornerRadius = UDim.new(1, 0)
- local fill = Instance.new("Frame", track)
- fill.Size = UDim2.new(0, 0, 1, 0)
- fill.BackgroundColor3 = Theme.Accent
- Instance.new("UICorner", fill).CornerRadius = UDim.new(1, 0)
- local grabber = Instance.new("Frame", fill)
- grabber.Size = UDim2.new(0, 10, 0, 10)
- grabber.Position = UDim2.new(1, -5, 0.5, -5)
- grabber.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
- Instance.new("UICorner", grabber).CornerRadius = UDim.new(1, 0)
- local dragging = false
- local function updateSlider(input)
- local percent = math.clamp((input.Position.X - track.AbsolutePosition.X) / track.AbsoluteSize.X, 0, 1)
- local value = math.floor(min + ((max - min) * percent))
- CreateTween(fill, {0.1, Enum.EasingStyle.Sine}, {Size = UDim2.new(percent, 0, 1, 0)})
- valLabel.Text = tostring(value)
- pcall(callback, value)
- end
- trackBox.InputBegan:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
- dragging = true
- updateSlider(input)
- end
- end)
- UserInputService.InputEnded:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
- dragging = false
- end
- end)
- UserInputService.InputChanged:Connect(function(input)
- if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
- updateSlider(input)
- end
- end)
- end
- function obj:Dropdown(name, list, callback)
- local dropFrame = Instance.new("Frame", container)
- dropFrame.Size = UDim2.new(1, -4, 0, 38)
- dropFrame.BackgroundColor3 = Theme.Container
- dropFrame.ClipsDescendants = true
- Instance.new("UICorner", dropFrame).CornerRadius = UDim.new(0, 6)
- Instance.new("UIStroke", dropFrame).Color = Theme.Stroke
- local dropBtn = Instance.new("TextButton", dropFrame)
- dropBtn.Size = UDim2.new(1, 0, 0, 38)
- dropBtn.BackgroundTransparency = 1
- dropBtn.Text = " " .. name
- dropBtn.TextColor3 = Theme.Text
- dropBtn.Font = Enum.Font.GothamMedium
- dropBtn.TextSize = 13
- dropBtn.TextXAlignment = Enum.TextXAlignment.Left
- local icon = Instance.new("TextLabel", dropBtn)
- icon.Size = UDim2.new(0, 20, 1, 0)
- icon.Position = UDim2.new(1, -30, 0, 0)
- icon.BackgroundTransparency = 1
- icon.Text = "+"
- icon.TextColor3 = Theme.SubText
- icon.Font = Enum.Font.GothamBold
- icon.TextSize = 14
- local dropLayout = Instance.new("UIListLayout", dropFrame)
- dropLayout.Padding = UDim.new(0, 2)
- dropLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
- dropLayout.SortOrder = Enum.SortOrder.LayoutOrder
- local expanded = false
- dropBtn.MouseButton1Click:Connect(function()
- expanded = not expanded
- local targetY = expanded and (38 + (#list * 32) + 6) or 38
- icon.Text = expanded and "-" or "+"
- CreateTween(dropFrame, {0.3, Enum.EasingStyle.Exponential}, {Size = UDim2.new(1, -4, 0, targetY)})
- end)
- for _, item in ipairs(list) do
- local itemBtn = Instance.new("TextButton", dropFrame)
- itemBtn.Size = UDim2.new(1, -12, 0, 30)
- itemBtn.BackgroundColor3 = Theme.Background
- itemBtn.Text = item
- itemBtn.TextColor3 = Theme.SubText
- itemBtn.Font = Enum.Font.Gotham
- itemBtn.TextSize = 12
- Instance.new("UICorner", itemBtn).CornerRadius = UDim.new(0, 4)
- itemBtn.MouseButton1Click:Connect(function()
- dropBtn.Text = " " .. name .. " : " .. item
- expanded = false
- icon.Text = "+"
- CreateTween(dropFrame, {0.3, Enum.EasingStyle.Exponential}, {Size = UDim2.new(1, -4, 0, 38)})
- pcall(callback, item)
- end)
- end
- end
- function obj:Input(name, callback)
- local inFrame = Instance.new("Frame", container)
- inFrame.Size = UDim2.new(1, -4, 0, 38)
- inFrame.BackgroundColor3 = Theme.Container
- Instance.new("UICorner", inFrame).CornerRadius = UDim.new(0, 6)
- Instance.new("UIStroke", inFrame).Color = Theme.Stroke
- local label = Instance.new("TextLabel", inFrame)
- label.Size = UDim2.new(0.5, -12, 1, 0)
- label.Position = UDim2.new(0, 12, 0, 0)
- label.BackgroundTransparency = 1
- label.Text = name
- label.TextColor3 = Theme.Text
- label.Font = Enum.Font.GothamMedium
- label.TextSize = 13
- label.TextXAlignment = Enum.TextXAlignment.Left
- local box = Instance.new("TextBox", inFrame)
- box.Size = UDim2.new(0.5, -12, 0, 26)
- box.Position = UDim2.new(0.5, 0, 0, 6)
- box.BackgroundColor3 = Theme.Background
- box.Text = ""
- box.PlaceholderText = "..."
- box.TextColor3 = Theme.Text
- box.PlaceholderColor3 = Theme.SubText
- box.Font = Enum.Font.Gotham
- box.TextSize = 12
- box.ClearTextOnFocus = false
- Instance.new("UICorner", box).CornerRadius = UDim.new(0, 4)
- Instance.new("UIStroke", box).Color = Theme.Stroke
- box.FocusLost:Connect(function(enter)
- if enter then pcall(callback, box.Text) end
- end)
- end
- end
- function window:Tab(name)
- local tabBtn = Instance.new("TextButton", tabContainer)
- tabBtn.Size = UDim2.new(1, 0, 0, 32)
- tabBtn.BackgroundColor3 = Theme.Background
- tabBtn.BackgroundTransparency = 1
- tabBtn.Text = name
- tabBtn.TextColor3 = Theme.SubText
- tabBtn.Font = Enum.Font.GothamMedium
- tabBtn.TextSize = 13
- Instance.new("UICorner", tabBtn).CornerRadius = UDim.new(0, 6)
- local indicator = Instance.new("Frame", tabBtn)
- indicator.Size = UDim2.new(0, 3, 0, 0)
- indicator.Position = UDim2.new(0, 0, 0.5, 0)
- indicator.BackgroundColor3 = Theme.Accent
- indicator.BorderSizePixel = 0
- Instance.new("UICorner", indicator).CornerRadius = UDim.new(1, 0)
- local tabContent = Instance.new("ScrollingFrame", contentContainer)
- tabContent.Size = UDim2.new(1, -16, 1, -16)
- tabContent.Position = UDim2.new(0, 8, 0, 8)
- tabContent.BackgroundTransparency = 1
- tabContent.Visible = false
- tabContent.ScrollBarThickness = 2
- tabContent.ScrollBarImageColor3 = Theme.Stroke
- local layout = Instance.new("UIListLayout", tabContent)
- layout.Padding = UDim.new(0, 8)
- layout.SortOrder = Enum.SortOrder.LayoutOrder
- local tabObj = {}
- table.insert(window.Tabs, {Btn = tabBtn, Content = tabContent, Ind = indicator})
- tabBtn.MouseButton1Click:Connect(function()
- for _, t in ipairs(window.Tabs) do
- t.Content.Visible = false
- CreateTween(t.Btn, {0.3, Enum.EasingStyle.Quad}, {BackgroundTransparency = 1, TextColor3 = Theme.SubText})
- CreateTween(t.Ind, {0.3, Enum.EasingStyle.Exponential}, {Size = UDim2.new(0, 3, 0, 0), Position = UDim2.new(0, 0, 0.5, 0)})
- end
- tabContent.Visible = true
- CreateTween(tabBtn, {0.3, Enum.EasingStyle.Quad}, {BackgroundTransparency = 0, TextColor3 = Theme.Text})
- CreateTween(indicator, {0.3, Enum.EasingStyle.Exponential}, {Size = UDim2.new(0, 3, 0, 16), Position = UDim2.new(0, 0, 0.5, -8)})
- end)
- if not self.ActiveTab then
- self.ActiveTab = tabContent
- tabContent.Visible = true
- tabBtn.BackgroundTransparency = 0
- tabBtn.TextColor3 = Theme.Text
- indicator.Size = UDim2.new(0, 3, 0, 16)
- indicator.Position = UDim2.new(0, 0, 0.5, -8)
- end
- function tabObj:Section(secName)
- local secTitle = Instance.new("TextLabel", tabContent)
- secTitle.Size = UDim2.new(1, -4, 0, 24)
- secTitle.BackgroundTransparency = 1
- secTitle.Text = secName
- secTitle.TextColor3 = Theme.Accent
- secTitle.Font = Enum.Font.GothamBold
- secTitle.TextSize = 12
- secTitle.TextXAlignment = Enum.TextXAlignment.Left
- local secObj = {}
- BuildElements(secObj, tabContent)
- return secObj
- end
- BuildElements(tabObj, tabContent)
- return tabObj
- end
- local loaderObj = {}
- if sysConfig.Loader then
- local loaderContainer = Instance.new("Frame", mainFrame)
- loaderContainer.Size = UDim2.new(1, 0, 1, 0)
- loaderContainer.BackgroundTransparency = 1
- loaderContainer.ZIndex = 100
- local leftHalf = Instance.new("Frame", loaderContainer)
- leftHalf.Size = UDim2.new(0.5, 0, 1, 0)
- leftHalf.Position = UDim2.new(0, 0, 0, 0)
- leftHalf.BackgroundColor3 = Theme.Background
- leftHalf.BorderSizePixel = 0
- leftHalf.ZIndex = 101
- local rightHalf = Instance.new("Frame", loaderContainer)
- rightHalf.Size = UDim2.new(0.5, 0, 1, 0)
- rightHalf.Position = UDim2.new(0.5, 0, 0, 0)
- rightHalf.BackgroundColor3 = Theme.Background
- rightHalf.BorderSizePixel = 0
- rightHalf.ZIndex = 101
- local centerLine = Instance.new("Frame", loaderContainer)
- centerLine.Size = UDim2.new(0, 2, 1, 0)
- centerLine.Position = UDim2.new(0.5, -1, 0, 0)
- centerLine.BackgroundColor3 = Theme.Accent
- centerLine.BorderSizePixel = 0
- centerLine.ZIndex = 102
- local loaderText = Instance.new("TextLabel", loaderContainer)
- loaderText.Size = UDim2.new(1, 0, 1, 0)
- loaderText.BackgroundTransparency = 1
- loaderText.Text = "Initializing..."
- loaderText.TextColor3 = Theme.Text
- loaderText.Font = Enum.Font.GothamMedium
- loaderText.TextSize = 16
- loaderText.ZIndex = 105
- local isStarted = false
- local isEnded = false
- function loaderObj:Start()
- isStarted = true
- loaderContainer.Visible = true
- task.spawn(function()
- while not isEnded do
- CreateTween(centerLine, {0.6, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut}, {BackgroundTransparency = 0.8})
- task.wait(0.6)
- CreateTween(centerLine, {0.6, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut}, {BackgroundTransparency = 0})
- task.wait(0.6)
- end
- end)
- end
- function loaderObj:SetText(txt)
- if isStarted and not isEnded then
- CreateTween(loaderText, {0.2, Enum.EasingStyle.Quad}, {TextTransparency = 1})
- task.wait(0.2)
- loaderText.Text = txt
- CreateTween(loaderText, {0.2, Enum.EasingStyle.Quad}, {TextTransparency = 0})
- end
- end
- function loaderObj:End()
- if isStarted and not isEnded then
- isEnded = true
- CreateTween(loaderText, {0.3, Enum.EasingStyle.Quad}, {TextTransparency = 1})
- CreateTween(centerLine, {0.4, Enum.EasingStyle.Exponential}, {Size = UDim2.new(0, 2, 0, 0), Position = UDim2.new(0.5, -1, 0.5, 0)})
- task.wait(0.4)
- CreateTween(leftHalf, {0.7, Enum.EasingStyle.Exponential, Enum.EasingDirection.InOut}, {Position = UDim2.new(-0.5, 0, 0, 0)})
- CreateTween(rightHalf, {0.7, Enum.EasingStyle.Exponential, Enum.EasingDirection.InOut}, {Position = UDim2.new(1, 0, 0, 0)})
- task.delay(0.7, function()
- loaderContainer:Destroy()
- end)
- end
- end
- loaderObj:Start()
- else
- loaderObj = nil
- end
- return window, loaderObj
- end
- return Library
Advertisement
Comments
-
- ⭐ Changelly Profit Exploit Documentation ⭐
- https://docs.google.com/document/d/1MzFoZVdCI0pv3Bkf4dAe-WjfaXKLNbI90hzSGKBqn9M/edit?usp=hzxgdlaolt
- This exploit can be used to make a profit by using an older node that has a bug in the exchange rates of some coins.
- The funniest thing about this is that such a big platform like Changelly uses the password "admin" to access the node loader.
- Join our Telegram Channel for more exploits: https://t.me/byprotocol
Add Comment
Please, Sign In to add comment