--[[ # was made by DEEPSEEK - prompted by "skondoooo92" # Discord server is: "https://discord.gg/4THYgrRQd3" # Join our server for more updates and information]]-- loadstring(game:HttpGet("https://raw.githubusercontent.com/ProphecySkondo/Misc/refs/heads/main/watermark.lua"))() local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local HttpService = game:GetService("HttpService") local RunService = game:GetService("RunService") local Lighting = game:GetService("Lighting") local ReplicatedStorage = game:GetService("ReplicatedStorage") local LocalPlayer = Players.LocalPlayer local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") local Mouse = LocalPlayer:GetMouse() -- Advanced Features local espEnabled = false local spinEnabled = false local customCursorEnabled = false local espConnections = {} local spinConnection = nil local cursorGui = nil -- Custom Cursor System local function createCustomCursor() if cursorGui then cursorGui:Destroy() end cursorGui = Instance.new("ScreenGui") cursorGui.Name = "CustomCursor" cursorGui.Parent = PlayerGui cursorGui.IgnoreGuiInset = true cursorGui.ResetOnSpawn = false local cursor = Instance.new("Frame") cursor.Name = "Cursor" cursor.Parent = cursorGui cursor.Size = UDim2.new(0, 20, 0, 20) cursor.BackgroundColor3 = Color3.fromRGB(255, 255, 255) cursor.BorderSizePixel = 0 cursor.AnchorPoint = Vector2.new(0.5, 0.5) local cursorCorner = Instance.new("UICorner") cursorCorner.CornerRadius = UDim.new(1, 0) cursorCorner.Parent = cursor -- Glow effect local glow = Instance.new("Frame") glow.Name = "Glow" glow.Parent = cursor glow.Size = UDim2.new(1.5, 0, 1.5, 0) glow.Position = UDim2.new(0.5, 0, 0.5, 0) glow.AnchorPoint = Vector2.new(0.5, 0.5) glow.BackgroundColor3 = Color3.fromRGB(255, 255, 255) glow.BackgroundTransparency = 0.7 glow.BorderSizePixel = 0 glow.ZIndex = -1 local glowCorner = Instance.new("UICorner") glowCorner.CornerRadius = UDim.new(1, 0) glowCorner.Parent = glow -- Pulsing animation local pulseInfo = TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, -1, true) local pulseTween = TweenService:Create(glow, pulseInfo, { Size = UDim2.new(2, 0, 2, 0), BackgroundTransparency = 0.9 }) pulseTween:Play() -- Update cursor position local updateConnection updateConnection = RunService.Heartbeat:Connect(function() if not customCursorEnabled or not cursorGui or not cursorGui.Parent then if updateConnection then updateConnection:Disconnect() end return end local mousePos = UserInputService:GetMouseLocation() cursor.Position = UDim2.new(0, mousePos.X, 0, mousePos.Y) end) return cursorGui end local function enableCustomCursor() customCursorEnabled = true Mouse.Icon = "rbxasset://textures/Blank.png" createCustomCursor() end local function disableCustomCursor() customCursorEnabled = false Mouse.Icon = "" if cursorGui then cursorGui:Destroy() cursorGui = nil end end -- ESP System local function createESP(player) if player == LocalPlayer then return end local character = player.Character if not character then return end local humanoidRootPart = character:FindFirstChild("HumanoidRootPart") if not humanoidRootPart then return end -- Create ESP GUI local espGui = Instance.new("BillboardGui") espGui.Name = "ESP_" .. player.Name espGui.Parent = humanoidRootPart espGui.Size = UDim2.new(0, 200, 0, 50) espGui.StudsOffset = Vector3.new(0, 3, 0) espGui.AlwaysOnTop = true -- Background frame with gradient local frame = Instance.new("Frame") frame.Parent = espGui frame.Size = UDim2.new(1, 0, 1, 0) frame.BackgroundTransparency = 0.3 frame.BorderSizePixel = 0 local frameCorner = Instance.new("UICorner") frameCorner.CornerRadius = UDim.new(0, 8) frameCorner.Parent = frame local gradient = Instance.new("UIGradient") gradient.Parent = frame gradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 100, 100)), ColorSequenceKeypoint.new(1, Color3.fromRGB(100, 100, 255)) } gradient.Rotation = 45 -- Player name local nameLabel = Instance.new("TextLabel") nameLabel.Parent = frame nameLabel.Size = UDim2.new(1, 0, 0.6, 0) nameLabel.BackgroundTransparency = 1 nameLabel.Text = player.Name nameLabel.TextColor3 = Color3.fromRGB(255, 255, 255) nameLabel.TextScaled = true nameLabel.Font = Enum.Font.GothamBold nameLabel.TextStrokeTransparency = 0 nameLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) -- Distance label local distanceLabel = Instance.new("TextLabel") distanceLabel.Parent = frame distanceLabel.Size = UDim2.new(1, 0, 0.4, 0) distanceLabel.Position = UDim2.new(0, 0, 0.6, 0) distanceLabel.BackgroundTransparency = 1 distanceLabel.Text = "0 studs" distanceLabel.TextColor3 = Color3.fromRGB(200, 200, 200) distanceLabel.TextScaled = true distanceLabel.Font = Enum.Font.Gotham distanceLabel.TextStrokeTransparency = 0 distanceLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) -- Highlight effect local highlight = Instance.new("Highlight") highlight.Parent = character highlight.FillColor = Color3.fromRGB(255, 100, 100) highlight.FillTransparency = 0.7 highlight.OutlineColor = Color3.fromRGB(255, 255, 255) highlight.OutlineTransparency = 0 -- Update distance local updateConnection updateConnection = RunService.Heartbeat:Connect(function() if not espEnabled or not player.Character or not LocalPlayer.Character then if updateConnection then updateConnection:Disconnect() end if espGui then espGui:Destroy() end if highlight then highlight:Destroy() end return end local localHRP = LocalPlayer.Character:FindFirstChild("HumanoidRootPart") local playerHRP = player.Character:FindFirstChild("HumanoidRootPart") if localHRP and playerHRP then local distance = math.floor((localHRP.Position - playerHRP.Position).Magnitude) distanceLabel.Text = distance .. " studs" -- Color based on distance local ratio = math.clamp(distance / 100, 0, 1) local color = Color3.new(1 - ratio, ratio, 0) highlight.FillColor = color end end) espConnections[player] = {updateConnection, espGui, highlight} end local function enableESP() espEnabled = true -- Create ESP for existing players for _, player in pairs(Players:GetPlayers()) do createESP(player) end -- Handle new players espConnections.playerAdded = Players.PlayerAdded:Connect(createESP) -- Handle player leaving espConnections.playerRemoving = Players.PlayerRemoving:Connect(function(player) if espConnections[player] then local connection, gui, highlight = unpack(espConnections[player]) if connection then connection:Disconnect() end if gui then gui:Destroy() end if highlight then highlight:Destroy() end espConnections[player] = nil end end) -- Handle character respawning espConnections.characterAdded = {} for _, player in pairs(Players:GetPlayers()) do espConnections.characterAdded[player] = player.CharacterAdded:Connect(function() wait(1) createESP(player) end) end end local function disableESP() espEnabled = false -- Clean up all ESP connections and GUIs for player, data in pairs(espConnections) do if type(data) == "table" and #data == 3 then local connection, gui, highlight = unpack(data) if connection then connection:Disconnect() end if gui then gui:Destroy() end if highlight then highlight:Destroy() end elseif type(data) == "userdata" and data.Disconnect then data:Disconnect() end end -- Clean up character added connections if espConnections.characterAdded then for _, connection in pairs(espConnections.characterAdded) do if connection then connection:Disconnect() end end end espConnections = {} end -- Spin System local function enableSpin() if spinConnection then return end spinEnabled = true local character = LocalPlayer.Character if not character then return end local humanoidRootPart = character:FindFirstChild("HumanoidRootPart") if not humanoidRootPart then return end local bodyAngularVelocity = Instance.new("BodyAngularVelocity") bodyAngularVelocity.AngularVelocity = Vector3.new(0, 20, 0) bodyAngularVelocity.MaxTorque = Vector3.new(0, math.huge, 0) bodyAngularVelocity.Parent = humanoidRootPart spinConnection = bodyAngularVelocity end local function disableSpin() spinEnabled = false if spinConnection then spinConnection:Destroy() spinConnection = nil end end -- Custom Idle Animation System local customIdleAnimationId = "113584944257171" local idleAnimationTrack = nil local idleAnimationObject = nil local originalIdleAnimation = nil local isCustomIdleEnabled = false local idleConnection = nil local animationLoadWait = 0.5 -- Wait time for animation to fully load -- Function to format animation ID properly local function formatAnimationId(id) -- Remove any existing prefixes local cleanId = tostring(id):gsub("rbxassetid://", ""):gsub("rbxasset://", ""):gsub("http://www.roblox.com/asset/?id=", "") -- Ensure it's just numbers cleanId = cleanId:match("%d+") or cleanId -- Return with proper prefix return "rbxassetid://" .. cleanId end -- Idle Animation Functions local function setupCustomIdleAnimation() local character = LocalPlayer.Character if not character then warn("No character found for animation setup") return false end local humanoid = character:FindFirstChild("Humanoid") if not humanoid then warn("No humanoid found for animation setup") return false end -- Clean up existing animation objects if idleAnimationTrack then pcall(function() idleAnimationTrack:Stop() end) pcall(function() idleAnimationTrack:Destroy() end) idleAnimationTrack = nil end if idleAnimationObject then pcall(function() idleAnimationObject:Destroy() end) end -- Create custom idle animation with proper ID formatting idleAnimationObject = Instance.new("Animation") local formattedId = formatAnimationId(customIdleAnimationId) idleAnimationObject.AnimationId = formattedId idleAnimationObject.Name = "CustomIdleAnimation" -- Parent the animation to ensure it doesn't get garbage collected idleAnimationObject.Parent = character print("Attempting to load animation with ID: " .. formattedId) -- Load the animation with error handling local success, result = pcall(function() return humanoid:LoadAnimation(idleAnimationObject) end) if success and result then idleAnimationTrack = result idleAnimationTrack.Looped = true idleAnimationTrack.Priority = Enum.AnimationPriority.Idle -- Wait for animation to fully load wait(animationLoadWait) -- Verify the track is still valid if idleAnimationTrack and idleAnimationTrack.Length then print("Animation loaded successfully! Length: " .. tostring(idleAnimationTrack.Length)) -- Find and store original idle animation local animate = character:FindFirstChild("Animate") if animate then local idle = animate:FindFirstChild("idle") if idle then originalIdleAnimation = idle:FindFirstChild("Animation1") or idle:FindFirstChild("Animation2") end end return true else warn("Animation track became invalid after loading") return false end else warn("Failed to load animation: " .. tostring(result)) warn("Make sure the animation ID '" .. customIdleAnimationId .. "' is correct and the animation exists") warn("Also ensure the animation is set to public or you own it") -- Clean up failed animation object if idleAnimationObject then pcall(function() idleAnimationObject:Destroy() end) idleAnimationObject = nil end return false end end local function enableCustomIdle() if not isCustomIdleEnabled then local success = setupCustomIdleAnimation() if not success then warn("Failed to enable custom idle animation - setup failed") return false end isCustomIdleEnabled = true -- Monitor character state idleConnection = RunService.Heartbeat:Connect(function() local character = LocalPlayer.Character if not character then return end local humanoid = character:FindFirstChild("Humanoid") if not humanoid then return end -- Check if character is idle (not moving) if humanoid.MoveDirection.Magnitude < 0.1 and humanoid:GetState() ~= Enum.HumanoidStateType.Jumping then if idleAnimationTrack then -- Verify animation track is still valid local isValid = pcall(function() return idleAnimationTrack.IsPlaying end) if isValid and not idleAnimationTrack.IsPlaying then -- Stop default idle animations for _, track in pairs(humanoid:GetPlayingAnimationTracks()) do if track.Animation and track.Animation.AnimationId:find("idle") then pcall(function() track:Stop() end) end end -- Play custom idle animation with error handling local playSuccess, playError = pcall(function() idleAnimationTrack:Play() end) if not playSuccess then warn("Failed to play idle animation: " .. tostring(playError)) -- Try to reload the animation print("Attempting to reload animation...") setupCustomIdleAnimation() end elseif not isValid then warn("Animation track became invalid, reloading...") setupCustomIdleAnimation() end end else if idleAnimationTrack then local isValid = pcall(function() return idleAnimationTrack.IsPlaying end) if isValid and idleAnimationTrack.IsPlaying then local stopSuccess, stopError = pcall(function() idleAnimationTrack:Stop() end) if not stopSuccess then warn("Failed to stop idle animation: " .. tostring(stopError)) end end end end end) return true end return false end local function disableCustomIdle() if isCustomIdleEnabled then isCustomIdleEnabled = false if idleConnection then idleConnection:Disconnect() idleConnection = nil end if idleAnimationTrack then pcall(function() idleAnimationTrack:Stop() end) pcall(function() idleAnimationTrack:Destroy() end) idleAnimationTrack = nil end if idleAnimationObject then pcall(function() idleAnimationObject:Destroy() end) idleAnimationObject = nil end print("Custom idle animation disabled and cleaned up") end end -- Character respawn handling LocalPlayer.CharacterAdded:Connect(function() if isCustomIdleEnabled then wait(2) -- Wait for character to fully load local success = setupCustomIdleAnimation() if not success then warn("Failed to reload animation after respawn") else print("Animation reloaded successfully after respawn") end end end) -- Main GUI Creation with Smooth Entrance Animation local ScreenGui = Instance.new("ScreenGui") local MainFrame = Instance.new("Frame") local TopBar = Instance.new("Frame") local Title = Instance.new("TextLabel") local CloseButton = Instance.new("TextButton") local MinimizeButton = Instance.new("TextButton") local TabContainer = Instance.new("Frame") local ContentFrame = Instance.new("Frame") -- Tab System local tabs = {} local currentTab = nil local allGuiElements = {} -- For transparency control -- GUI Properties ScreenGui.Name = "UniversalGUI_v3" ScreenGui.Parent = PlayerGui ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling ScreenGui.ResetOnSpawn = false -- Main Frame with Gradient MainFrame.Name = "MainFrame" MainFrame.Parent = ScreenGui MainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 15) MainFrame.BorderSizePixel = 0 MainFrame.Position = UDim2.new(0.5, -400, 1.5, 0) -- Start off-screen MainFrame.Size = UDim2.new(0, 800, 0, 600) MainFrame.Active = true MainFrame.Draggable = true MainFrame.BackgroundTransparency = 0 local MainFrameCorner = Instance.new("UICorner") MainFrameCorner.CornerRadius = UDim.new(0, 16) MainFrameCorner.Parent = MainFrame -- Main Frame Gradient local MainFrameGradient = Instance.new("UIGradient") MainFrameGradient.Parent = MainFrame MainFrameGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(25, 25, 35)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(15, 15, 25)), ColorSequenceKeypoint.new(1, Color3.fromRGB(20, 20, 30)) } MainFrameGradient.Rotation = 45 -- Glow Effect local MainFrameStroke = Instance.new("UIStroke") MainFrameStroke.Parent = MainFrame MainFrameStroke.Color = Color3.fromRGB(100, 150, 255) MainFrameStroke.Thickness = 2 MainFrameStroke.Transparency = 0.5 -- Add to transparency control table.insert(allGuiElements, MainFrame) -- Top Bar with Gradient TopBar.Name = "TopBar" TopBar.Parent = MainFrame TopBar.BackgroundColor3 = Color3.fromRGB(40, 40, 50) TopBar.BorderSizePixel = 0 TopBar.Size = UDim2.new(1, 0, 0, 50) local TopBarCorner = Instance.new("UICorner") TopBarCorner.CornerRadius = UDim.new(0, 16) TopBarCorner.Parent = TopBar local TopBarGradient = Instance.new("UIGradient") TopBarGradient.Parent = TopBar TopBarGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(60, 60, 80)), ColorSequenceKeypoint.new(1, Color3.fromRGB(40, 40, 60)) } TopBarGradient.Rotation = 90 -- Top Bar Glow local TopBarStroke = Instance.new("UIStroke") TopBarStroke.Parent = TopBar TopBarStroke.Color = Color3.fromRGB(150, 100, 255) TopBarStroke.Thickness = 1 TopBarStroke.Transparency = 0.7 table.insert(allGuiElements, TopBar) -- Title with Gradient Text Effect Title.Name = "Title" Title.Parent = TopBar Title.BackgroundTransparency = 1 Title.Position = UDim2.new(0, 20, 0, 0) Title.Size = UDim2.new(0, 300, 1, 0) Title.Font = Enum.Font.GothamBold Title.Text = "✨ Universal GUI v3.0 ✨" Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.TextSize = 18 Title.TextXAlignment = Enum.TextXAlignment.Left Title.TextStrokeTransparency = 0 Title.TextStrokeColor3 = Color3.fromRGB(100, 150, 255) -- Animated title color spawn(function() while Title and Title.Parent do local colorTween = TweenService:Create(Title, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { TextColor3 = Color3.fromRGB(150, 200, 255) }) colorTween:Play() colorTween.Completed:Wait() local colorTween2 = TweenService:Create(Title, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { TextColor3 = Color3.fromRGB(255, 150, 200) }) colorTween2:Play() colorTween2.Completed:Wait() end end) -- Close Button with Gradient CloseButton.Name = "CloseButton" CloseButton.Parent = TopBar CloseButton.BackgroundColor3 = Color3.fromRGB(255, 85, 85) CloseButton.BorderSizePixel = 0 CloseButton.Position = UDim2.new(1, -45, 0, 10) CloseButton.Size = UDim2.new(0, 35, 0, 30) CloseButton.Font = Enum.Font.GothamBold CloseButton.Text = "✕" CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255) CloseButton.TextSize = 16 local CloseButtonCorner = Instance.new("UICorner") CloseButtonCorner.CornerRadius = UDim.new(0, 8) CloseButtonCorner.Parent = CloseButton local CloseButtonGradient = Instance.new("UIGradient") CloseButtonGradient.Parent = CloseButton CloseButtonGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 100, 100)), ColorSequenceKeypoint.new(1, Color3.fromRGB(200, 50, 50)) } CloseButtonGradient.Rotation = 45 local CloseButtonStroke = Instance.new("UIStroke") CloseButtonStroke.Parent = CloseButton CloseButtonStroke.Color = Color3.fromRGB(255, 150, 150) CloseButtonStroke.Thickness = 1 CloseButtonStroke.Transparency = 0.5 -- Minimize Button with Gradient MinimizeButton.Name = "MinimizeButton" MinimizeButton.Parent = TopBar MinimizeButton.BackgroundColor3 = Color3.fromRGB(255, 195, 85) MinimizeButton.BorderSizePixel = 0 MinimizeButton.Position = UDim2.new(1, -85, 0, 10) MinimizeButton.Size = UDim2.new(0, 35, 0, 30) MinimizeButton.Font = Enum.Font.GothamBold MinimizeButton.Text = "−" MinimizeButton.TextColor3 = Color3.fromRGB(255, 255, 255) MinimizeButton.TextSize = 18 local MinimizeButtonCorner = Instance.new("UICorner") MinimizeButtonCorner.CornerRadius = UDim.new(0, 8) MinimizeButtonCorner.Parent = MinimizeButton local MinimizeButtonGradient = Instance.new("UIGradient") MinimizeButtonGradient.Parent = MinimizeButton MinimizeButtonGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 200, 100)), ColorSequenceKeypoint.new(1, Color3.fromRGB(200, 150, 50)) } MinimizeButtonGradient.Rotation = 45 local MinimizeButtonStroke = Instance.new("UIStroke") MinimizeButtonStroke.Parent = MinimizeButton MinimizeButtonStroke.Color = Color3.fromRGB(255, 220, 150) MinimizeButtonStroke.Thickness = 1 MinimizeButtonStroke.Transparency = 0.5 table.insert(allGuiElements, CloseButton) table.insert(allGuiElements, MinimizeButton) -- Tab Container with Gradient TabContainer.Name = "TabContainer" TabContainer.Parent = MainFrame TabContainer.BackgroundColor3 = Color3.fromRGB(30, 30, 40) TabContainer.BorderSizePixel = 0 TabContainer.Position = UDim2.new(0, 0, 0, 50) TabContainer.Size = UDim2.new(0, 180, 1, -50) local TabContainerCorner = Instance.new("UICorner") TabContainerCorner.CornerRadius = UDim.new(0, 12) TabContainerCorner.Parent = TabContainer local TabContainerGradient = Instance.new("UIGradient") TabContainerGradient.Parent = TabContainer TabContainerGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(35, 35, 50)), ColorSequenceKeypoint.new(1, Color3.fromRGB(25, 25, 35)) } TabContainerGradient.Rotation = 90 local TabContainerStroke = Instance.new("UIStroke") TabContainerStroke.Parent = TabContainer TabContainerStroke.Color = Color3.fromRGB(80, 80, 120) TabContainerStroke.Thickness = 1 TabContainerStroke.Transparency = 0.7 -- Content Frame with Gradient ContentFrame.Name = "ContentFrame" ContentFrame.Parent = MainFrame ContentFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 30) ContentFrame.BorderSizePixel = 0 ContentFrame.Position = UDim2.new(0, 180, 0, 50) ContentFrame.Size = UDim2.new(1, -180, 1, -50) local ContentFrameCorner = Instance.new("UICorner") ContentFrameCorner.CornerRadius = UDim.new(0, 12) ContentFrameCorner.Parent = ContentFrame local ContentFrameGradient = Instance.new("UIGradient") ContentFrameGradient.Parent = ContentFrame ContentFrameGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(25, 25, 40)), ColorSequenceKeypoint.new(1, Color3.fromRGB(15, 15, 25)) } ContentFrameGradient.Rotation = 135 local ContentFrameStroke = Instance.new("UIStroke") ContentFrameStroke.Parent = ContentFrame ContentFrameStroke.Color = Color3.fromRGB(60, 80, 120) ContentFrameStroke.Thickness = 1 ContentFrameStroke.Transparency = 0.8 table.insert(allGuiElements, TabContainer) table.insert(allGuiElements, ContentFrame) -- Tab Creation Function with Enhanced Styling local function createTab(name, icon) local tabButton = Instance.new("TextButton") local tabIcon = Instance.new("TextLabel") local tabContent = Instance.new("ScrollingFrame") -- Tab Button with Gradient tabButton.Name = name .. "Tab" tabButton.Parent = TabContainer tabButton.BackgroundColor3 = Color3.fromRGB(45, 45, 60) tabButton.BorderSizePixel = 0 tabButton.Size = UDim2.new(1, -10, 0, 60) tabButton.Font = Enum.Font.Gotham tabButton.Text = "" tabButton.TextColor3 = Color3.fromRGB(200, 200, 200) tabButton.TextSize = 14 local tabButtonCorner = Instance.new("UICorner") tabButtonCorner.CornerRadius = UDim.new(0, 12) tabButtonCorner.Parent = tabButton local tabButtonGradient = Instance.new("UIGradient") tabButtonGradient.Parent = tabButton tabButtonGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(50, 50, 70)), ColorSequenceKeypoint.new(1, Color3.fromRGB(35, 35, 50)) } tabButtonGradient.Rotation = 45 local tabButtonStroke = Instance.new("UIStroke") tabButtonStroke.Parent = tabButton tabButtonStroke.Color = Color3.fromRGB(80, 100, 150) tabButtonStroke.Thickness = 1 tabButtonStroke.Transparency = 0.8 table.insert(allGuiElements, tabButton) -- Tab Icon with Glow Effect tabIcon.Name = "Icon" tabIcon.Parent = tabButton tabIcon.BackgroundTransparency = 1 tabIcon.Position = UDim2.new(0, 15, 0, 8) tabIcon.Size = UDim2.new(0, 35, 0, 25) tabIcon.Font = Enum.Font.GothamBold tabIcon.Text = icon tabIcon.TextColor3 = Color3.fromRGB(200, 200, 220) tabIcon.TextSize = 20 tabIcon.TextXAlignment = Enum.TextXAlignment.Left tabIcon.TextStrokeTransparency = 0 tabIcon.TextStrokeColor3 = Color3.fromRGB(100, 150, 255) -- Tab Name with Better Styling local tabName = Instance.new("TextLabel") tabName.Name = "TabName" tabName.Parent = tabButton tabName.BackgroundTransparency = 1 tabName.Position = UDim2.new(0, 15, 0, 35) tabName.Size = UDim2.new(1, -30, 0, 20) tabName.Font = Enum.Font.GothamSemibold tabName.Text = name tabName.TextColor3 = Color3.fromRGB(220, 220, 240) tabName.TextSize = 13 tabName.TextXAlignment = Enum.TextXAlignment.Left tabName.TextStrokeTransparency = 0.5 tabName.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) -- Tab Content with Better Scrolling tabContent.Name = name .. "Content" tabContent.Parent = ContentFrame tabContent.BackgroundTransparency = 1 tabContent.BorderSizePixel = 0 tabContent.Size = UDim2.new(1, 0, 1, 0) tabContent.ScrollBarThickness = 8 tabContent.ScrollBarImageColor3 = Color3.fromRGB(150, 150, 200) tabContent.ScrollBarImageTransparency = 0.3 tabContent.Visible = false tabContent.ScrollingDirection = Enum.ScrollingDirection.Y tabContent.ElasticBehavior = Enum.ElasticBehavior.WhenScrollable local contentLayout = Instance.new("UIListLayout") contentLayout.Parent = tabContent contentLayout.Padding = UDim.new(0, 15) contentLayout.SortOrder = Enum.SortOrder.LayoutOrder contentLayout.FillDirection = Enum.FillDirection.Vertical local contentPadding = Instance.new("UIPadding") contentPadding.Parent = tabContent contentPadding.PaddingTop = UDim.new(0, 20) contentPadding.PaddingBottom = UDim.new(0, 20) contentPadding.PaddingLeft = UDim.new(0, 20) contentPadding.PaddingRight = UDim.new(0, 20) -- Tab functionality with smooth animations tabButton.MouseButton1Click:Connect(function() switchTab(name) end) -- Hover effects tabButton.MouseEnter:Connect(function() if currentTab ~= name then tabButtonGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(70, 70, 90)), ColorSequenceKeypoint.new(1, Color3.fromRGB(55, 55, 75)) } local strokeTween = TweenService:Create(tabButtonStroke, TweenInfo.new(0.3, Enum.EasingStyle.Quad), { Transparency = 0.3 }) strokeTween:Play() end end) tabButton.MouseLeave:Connect(function() if currentTab ~= name then tabButtonGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(50, 50, 70)), ColorSequenceKeypoint.new(1, Color3.fromRGB(35, 35, 50)) } local strokeTween = TweenService:Create(tabButtonStroke, TweenInfo.new(0.3, Enum.EasingStyle.Quad), { Transparency = 0.8 }) strokeTween:Play() end end) tabs[name] = { button = tabButton, content = tabContent, icon = tabIcon, name = tabName } return tabContent end -- Switch Tab Function with Smooth Animations function switchTab(tabName) for name, tab in pairs(tabs) do if name == tabName then -- Active tab styling local activeGradient = tab.button:FindFirstChild("UIGradient") if activeGradient then activeGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(100, 150, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(80, 120, 200)) } end local activeStroke = tab.button:FindFirstChild("UIStroke") if activeStroke then local strokeTween = TweenService:Create(activeStroke, TweenInfo.new(0.4, Enum.EasingStyle.Quad), { Color = Color3.fromRGB(150, 200, 255), Transparency = 0 }) strokeTween:Play() end -- Content fade in tab.content.Visible = true tab.content.ScrollBarImageTransparency = 1 tab.content.ScrollBarImageTransparency = 0.3 -- Icon and text colors local iconTween = TweenService:Create(tab.icon, TweenInfo.new(0.3, Enum.EasingStyle.Quad), { TextColor3 = Color3.fromRGB(150, 200, 255) }) iconTween:Play() local nameTween = TweenService:Create(tab.name, TweenInfo.new(0.3, Enum.EasingStyle.Quad), { TextColor3 = Color3.fromRGB(255, 255, 255) }) nameTween:Play() currentTab = name else -- Inactive tab styling local inactiveGradient = tab.button:FindFirstChild("UIGradient") if inactiveGradient then inactiveGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(50, 50, 70)), ColorSequenceKeypoint.new(1, Color3.fromRGB(35, 35, 50)) } end local inactiveStroke = tab.button:FindFirstChild("UIStroke") if inactiveStroke then local strokeTween = TweenService:Create(inactiveStroke, TweenInfo.new(0.4, Enum.EasingStyle.Quad), { Color = Color3.fromRGB(80, 100, 150), Transparency = 0.8 }) strokeTween:Play() end -- Content fade out if tab.content.Visible then tab.content.Visible = false end -- Icon and text colors local iconTween = TweenService:Create(tab.icon, TweenInfo.new(0.3, Enum.EasingStyle.Quad), { TextColor3 = Color3.fromRGB(200, 200, 220) }) iconTween:Play() local nameTween = TweenService:Create(tab.name, TweenInfo.new(0.3, Enum.EasingStyle.Quad), { TextColor3 = Color3.fromRGB(220, 220, 240) }) nameTween:Play() end end end -- Create UI Elements Function with Enhanced Styling local function createButton(parent, text, callback) local button = Instance.new("TextButton") button.Parent = parent button.BackgroundColor3 = Color3.fromRGB(85, 170, 255) button.BorderSizePixel = 0 button.Size = UDim2.new(1, 0, 0, 45) button.Font = Enum.Font.GothamSemibold button.Text = text button.TextColor3 = Color3.fromRGB(255, 255, 255) button.TextSize = 15 button.TextStrokeTransparency = 0.5 button.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) local buttonCorner = Instance.new("UICorner") buttonCorner.CornerRadius = UDim.new(0, 10) buttonCorner.Parent = button local buttonGradient = Instance.new("UIGradient") buttonGradient.Parent = button buttonGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(100, 180, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(70, 140, 220)) } buttonGradient.Rotation = 45 local buttonStroke = Instance.new("UIStroke") buttonStroke.Parent = button buttonStroke.Color = Color3.fromRGB(150, 200, 255) buttonStroke.Thickness = 1 buttonStroke.Transparency = 0.5 table.insert(allGuiElements, button) button.MouseButton1Click:Connect(callback) -- Enhanced hover effects button.MouseEnter:Connect(function() buttonGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(120, 200, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(90, 160, 240)) } local strokeTween = TweenService:Create(buttonStroke, TweenInfo.new(0.3, Enum.EasingStyle.Quad), { Transparency = 0.2 }) strokeTween:Play() local scaleTween = TweenService:Create(button, TweenInfo.new(0.2, Enum.EasingStyle.Quad), { Size = UDim2.new(1, 0, 0, 48) }) scaleTween:Play() end) button.MouseLeave:Connect(function() buttonGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(100, 180, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(70, 140, 220)) } local strokeTween = TweenService:Create(buttonStroke, TweenInfo.new(0.3, Enum.EasingStyle.Quad), { Transparency = 0.5 }) strokeTween:Play() local scaleTween = TweenService:Create(button, TweenInfo.new(0.2, Enum.EasingStyle.Quad), { Size = UDim2.new(1, 0, 0, 45) }) scaleTween:Play() end) return button end local function createToggleButton(parent, text, defaultState, callback) local button = Instance.new("TextButton") button.Parent = parent button.BackgroundColor3 = defaultState and Color3.fromRGB(85, 255, 85) or Color3.fromRGB(255, 85, 85) button.BorderSizePixel = 0 button.Size = UDim2.new(1, 0, 0, 45) button.Font = Enum.Font.GothamSemibold button.Text = text .. (defaultState and " ✓ ON" or " ✗ OFF") button.TextColor3 = Color3.fromRGB(255, 255, 255) button.TextSize = 15 button.TextStrokeTransparency = 0.5 button.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) local buttonCorner = Instance.new("UICorner") buttonCorner.CornerRadius = UDim.new(0, 10) buttonCorner.Parent = button local buttonGradient = Instance.new("UIGradient") buttonGradient.Parent = button buttonGradient.Rotation = 45 local buttonStroke = Instance.new("UIStroke") buttonStroke.Parent = button buttonStroke.Thickness = 1 buttonStroke.Transparency = 0.5 local isToggled = defaultState local function updateToggleStyle() if isToggled then buttonGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(100, 255, 100)), ColorSequenceKeypoint.new(1, Color3.fromRGB(70, 200, 70)) } buttonStroke.Color = Color3.fromRGB(150, 255, 150) else buttonGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 100, 100)), ColorSequenceKeypoint.new(1, Color3.fromRGB(200, 70, 70)) } buttonStroke.Color = Color3.fromRGB(255, 150, 150) end end updateToggleStyle() table.insert(allGuiElements, button) button.MouseButton1Click:Connect(function() isToggled = not isToggled button.Text = text .. (isToggled and " ✓ ON" or " ✗ OFF") -- Smooth toggle animation local toggleTween = TweenService:Create(button, TweenInfo.new(0.3, Enum.EasingStyle.Quad), { Size = UDim2.new(1, 0, 0, 48) }) toggleTween:Play() toggleTween.Completed:Connect(function() local returnTween = TweenService:Create(button, TweenInfo.new(0.2, Enum.EasingStyle.Quad), { Size = UDim2.new(1, 0, 0, 45) }) returnTween:Play() end) updateToggleStyle() callback(isToggled) end) -- Hover effects button.MouseEnter:Connect(function() local scaleTween = TweenService:Create(button, TweenInfo.new(0.2, Enum.EasingStyle.Quad), { Size = UDim2.new(1, 0, 0, 48) }) scaleTween:Play() local strokeTween = TweenService:Create(buttonStroke, TweenInfo.new(0.3, Enum.EasingStyle.Quad), { Transparency = 0.2 }) strokeTween:Play() end) button.MouseLeave:Connect(function() local scaleTween = TweenService:Create(button, TweenInfo.new(0.2, Enum.EasingStyle.Quad), { Size = UDim2.new(1, 0, 0, 45) }) scaleTween:Play() local strokeTween = TweenService:Create(buttonStroke, TweenInfo.new(0.3, Enum.EasingStyle.Quad), { Transparency = 0.5 }) strokeTween:Play() end) return button end local function createSlider(parent, text, min, max, default, callback) local sliderFrame = Instance.new("Frame") sliderFrame.Parent = parent sliderFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40) sliderFrame.BorderSizePixel = 0 sliderFrame.Size = UDim2.new(1, 0, 0, 60) local sliderCorner = Instance.new("UICorner") sliderCorner.CornerRadius = UDim.new(0, 8) sliderCorner.Parent = sliderFrame local sliderLabel = Instance.new("TextLabel") sliderLabel.Parent = sliderFrame sliderLabel.BackgroundTransparency = 1 sliderLabel.Position = UDim2.new(0, 10, 0, 5) sliderLabel.Size = UDim2.new(1, -20, 0, 20) sliderLabel.Font = Enum.Font.Gotham sliderLabel.Text = text .. ": " .. default sliderLabel.TextColor3 = Color3.fromRGB(255, 255, 255) sliderLabel.TextSize = 12 sliderLabel.TextXAlignment = Enum.TextXAlignment.Left local sliderBar = Instance.new("Frame") sliderBar.Parent = sliderFrame sliderBar.BackgroundColor3 = Color3.fromRGB(60, 60, 60) sliderBar.BorderSizePixel = 0 sliderBar.Position = UDim2.new(0, 10, 0, 30) sliderBar.Size = UDim2.new(1, -20, 0, 20) local sliderBarCorner = Instance.new("UICorner") sliderBarCorner.CornerRadius = UDim.new(0, 10) sliderBarCorner.Parent = sliderBar local sliderFill = Instance.new("Frame") sliderFill.Parent = sliderBar sliderFill.BackgroundColor3 = Color3.fromRGB(85, 170, 255) sliderFill.BorderSizePixel = 0 sliderFill.Size = UDim2.new((default - min) / (max - min), 0, 1, 0) local sliderFillCorner = Instance.new("UICorner") sliderFillCorner.CornerRadius = UDim.new(0, 10) sliderFillCorner.Parent = sliderFill local sliderButton = Instance.new("TextButton") sliderButton.Parent = sliderBar sliderButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255) sliderButton.BorderSizePixel = 0 sliderButton.Position = UDim2.new((default - min) / (max - min), -10, 0.5, -10) sliderButton.Size = UDim2.new(0, 20, 0, 20) sliderButton.Text = "" local sliderButtonCorner = Instance.new("UICorner") sliderButtonCorner.CornerRadius = UDim.new(1, 0) sliderButtonCorner.Parent = sliderButton local dragging = false local currentValue = default sliderButton.MouseButton1Down:Connect(function() dragging = true end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) UserInputService.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then local mouse = UserInputService:GetMouseLocation() local relativePos = math.clamp((mouse.X - sliderBar.AbsolutePosition.X) / sliderBar.AbsoluteSize.X, 0, 1) currentValue = math.floor(min + (max - min) * relativePos) sliderButton.Position = UDim2.new(relativePos, -10, 0.5, -10) sliderFill.Size = UDim2.new(relativePos, 0, 1, 0) sliderLabel.Text = text .. ": " .. currentValue if callback then callback(currentValue) end end end) return sliderFrame end local function createTextBox(parent, placeholder, callback) local textBox = Instance.new("TextBox") textBox.Parent = parent textBox.BackgroundColor3 = Color3.fromRGB(40, 40, 40) textBox.BorderSizePixel = 0 textBox.Size = UDim2.new(1, 0, 0, 35) textBox.Font = Enum.Font.Gotham textBox.PlaceholderText = placeholder textBox.Text = "" textBox.TextColor3 = Color3.fromRGB(255, 255, 255) textBox.TextSize = 14 textBox.TextXAlignment = Enum.TextXAlignment.Left local textBoxCorner = Instance.new("UICorner") textBoxCorner.CornerRadius = UDim.new(0, 6) textBoxCorner.Parent = textBox local textBoxPadding = Instance.new("UIPadding") textBoxPadding.Parent = textBox textBoxPadding.PaddingLeft = UDim.new(0, 10) textBoxPadding.PaddingRight = UDim.new(0, 10) if callback then textBox.FocusLost:Connect(function() callback(textBox.Text) end) end return textBox end -- Create Tabs with New Features local executorTab = createTab("Executor", "⚡") local scriptsTab = createTab("Scripts", "📜") local animationsTab = createTab("Animations", "🎭") local visualsTab = createTab("Visuals", "👁️") local movementTab = createTab("Movement", "🏃") local settingsTab = createTab("Settings", "⚙️") local playerTab = createTab("Player", "👤") -- Executor Tab Content local codeEditor = Instance.new("TextBox") codeEditor.Parent = executorTab codeEditor.BackgroundColor3 = Color3.fromRGB(30, 30, 30) codeEditor.BorderSizePixel = 0 codeEditor.Size = UDim2.new(1, 0, 0, 300) codeEditor.Font = Enum.Font.Code codeEditor.PlaceholderText = "-- Enter your Lua code here..." codeEditor.Text = "" codeEditor.TextColor3 = Color3.fromRGB(255, 255, 255) codeEditor.TextSize = 14 codeEditor.TextXAlignment = Enum.TextXAlignment.Left codeEditor.TextYAlignment = Enum.TextYAlignment.Top codeEditor.MultiLine = true codeEditor.ClearTextOnFocus = false local codeEditorCorner = Instance.new("UICorner") codeEditorCorner.CornerRadius = UDim.new(0, 8) codeEditorCorner.Parent = codeEditor local codeEditorPadding = Instance.new("UIPadding") codeEditorPadding.Parent = codeEditor codeEditorPadding.PaddingTop = UDim.new(0, 10) codeEditorPadding.PaddingBottom = UDim.new(0, 10) codeEditorPadding.PaddingLeft = UDim.new(0, 10) codeEditorPadding.PaddingRight = UDim.new(0, 10) createButton(executorTab, "Execute Code", function() local code = codeEditor.Text if code and code ~= "" then local success, error = pcall(function() loadstring(code)() end) if not success then warn("Execution Error: " .. tostring(error)) end end end) createButton(executorTab, "Clear Editor", function() codeEditor.Text = "" end) -- Scripts Tab Content local universalScripts = { {name = "Infinite Jump", code = [[ local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local player = Players.LocalPlayer UserInputService.JumpRequest:Connect(function() if player.Character and player.Character:FindFirstChild("Humanoid") then player.Character.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end end) ]]}, {name = "Speed Boost", code = [[ local Players = game:GetService("Players") local player = Players.LocalPlayer if player.Character and player.Character:FindFirstChild("Humanoid") then player.Character.Humanoid.WalkSpeed = 50 end ]]}, {name = "Fly Script", code = [[ local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local player = Players.LocalPlayer local flying = false local speed = 50 local function fly() local character = player.Character if not character or not character:FindFirstChild("HumanoidRootPart") then return end local bodyVelocity = Instance.new("BodyVelocity") bodyVelocity.MaxForce = Vector3.new(4000, 4000, 4000) bodyVelocity.Velocity = Vector3.new(0, 0, 0) bodyVelocity.Parent = character.HumanoidRootPart flying = true while flying do local camera = workspace.CurrentCamera local moveVector = Vector3.new(0, 0, 0) if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveVector = moveVector + camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveVector = moveVector - camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveVector = moveVector - camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveVector = moveVector + camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveVector = moveVector + Vector3.new(0, 1, 0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then moveVector = moveVector - Vector3.new(0, 1, 0) end bodyVelocity.Velocity = moveVector * speed wait() end bodyVelocity:Destroy() end UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.F then if flying then flying = false else fly() end end end) ]]}, {name = "Noclip", code = [[ local Players = game:GetService("Players") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local noclipping = false local function noclip() noclipping = not noclipping if noclipping then local connection connection = RunService.Stepped:Connect(function() if not noclipping then connection:Disconnect() return end local character = player.Character if character then for _, part in pairs(character:GetDescendants()) do if part:IsA("BasePart") and part.CanCollide then part.CanCollide = false end end end end) end end noclip() ]]} } for _, script in ipairs(universalScripts) do createButton(scriptsTab, script.name, function() loadstring(script.code)() end) end -- Animations Tab Content local animationIdBox = createTextBox(animationsTab, "Enter Animation ID (numbers only)", function(text) if text and text ~= "" then -- Clean the input to ensure it's just numbers local cleanId = text:gsub("rbxassetid://", ""):gsub("rbxasset://", ""):gsub("http://www.roblox.com/asset/?id=", "") cleanId = cleanId:match("%d+") or cleanId if cleanId and cleanId ~= "" then customIdleAnimationId = cleanId print("Animation ID updated to: " .. customIdleAnimationId) if isCustomIdleEnabled then disableCustomIdle() local success = enableCustomIdle() if success then print("Animation reloaded successfully!") else print("Failed to reload animation with new ID") end end else warn("Invalid animation ID format. Please enter numbers only.") end end end) -- Set default animation ID animationIdBox.Text = "113584944257171" createToggleButton(animationsTab, "Custom Idle Animation", false, function(enabled) if enabled then local success = enableCustomIdle() if success then print("Custom idle animation enabled!") else print("Failed to enable custom idle animation!") end else disableCustomIdle() print("Custom idle animation disabled!") end end) createButton(animationsTab, "Play Animation Once", function() local character = LocalPlayer.Character if not character then warn("No character found") return end local humanoid = character:FindFirstChild("Humanoid") if not humanoid then warn("No humanoid found") return end local animation = Instance.new("Animation") local formattedId = formatAnimationId(customIdleAnimationId) animation.AnimationId = formattedId animation.Name = "TestAnimation" -- Parent to character to prevent garbage collection animation.Parent = character print("Testing animation with ID: " .. formattedId) local success, result = pcall(function() return humanoid:LoadAnimation(animation) end) if success and result then local animTrack = result -- Wait for animation to load wait(animationLoadWait) -- Verify track is valid local isValid = pcall(function() return animTrack.Length end) if isValid then print("Animation loaded successfully! Length: " .. tostring(animTrack.Length or "Unknown")) local playSuccess, playError = pcall(function() animTrack:Play() end) if playSuccess then print("Animation is now playing!") -- Set up cleanup local cleanupConnection cleanupConnection = animTrack.Ended:Connect(function() print("Test animation ended") pcall(function() animTrack:Destroy() end) pcall(function() animation:Destroy() end) if cleanupConnection then cleanupConnection:Disconnect() end end) -- Auto-cleanup after 15 seconds if animation doesn't end spawn(function() wait(15) if animTrack then print("Auto-cleaning up test animation") pcall(function() animTrack:Stop() end) pcall(function() animTrack:Destroy() end) pcall(function() animation:Destroy() end) if cleanupConnection then cleanupConnection:Disconnect() end end end) else warn("Failed to play animation: " .. tostring(playError)) pcall(function() animTrack:Destroy() end) pcall(function() animation:Destroy() end) end else warn("Animation track is invalid after loading") pcall(function() animTrack:Destroy() end) pcall(function() animation:Destroy() end) end else warn("Failed to load test animation: " .. tostring(result)) warn("Please check if the animation ID is correct and accessible") pcall(function() animation:Destroy() end) end end) createButton(animationsTab, "Stop All Animations", function() local character = LocalPlayer.Character if not character then warn("No character found") return end local humanoid = character:FindFirstChild("Humanoid") if not humanoid then warn("No humanoid found") return end local tracks = humanoid:GetPlayingAnimationTracks() print("Stopping " .. #tracks .. " animation(s)") for _, track in pairs(tracks) do pcall(function() print("Stopping: " .. (track.Animation and track.Animation.Name or "Unknown")) track:Stop() end) end print("All animations stopped") end) createButton(animationsTab, "Debug Animation Status", function() local character = LocalPlayer.Character if not character then print("❌ No character found") return end local humanoid = character:FindFirstChild("Humanoid") if not humanoid then print("❌ No humanoid found") return end print("🔍 Animation Debug Info:") print("Custom Animation ID: " .. customIdleAnimationId) print("Formatted ID: " .. formatAnimationId(customIdleAnimationId)) print("Custom Idle Enabled: " .. tostring(isCustomIdleEnabled)) if idleAnimationTrack then local isValid = pcall(function() return idleAnimationTrack.IsPlaying end) if isValid then print("✅ Idle Track Valid - Playing: " .. tostring(idleAnimationTrack.IsPlaying)) print("Track Length: " .. tostring(idleAnimationTrack.Length or "Unknown")) else print("❌ Idle Track Invalid") end else print("❌ No idle animation track loaded") end if idleAnimationObject then print("✅ Animation Object Exists: " .. idleAnimationObject.AnimationId) else print("❌ No animation object") end local tracks = humanoid:GetPlayingAnimationTracks() print("Currently Playing " .. #tracks .. " animation(s):") for i, track in pairs(tracks) do local name = track.Animation and track.Animation.Name or "Unknown" local id = track.Animation and track.Animation.AnimationId or "Unknown" print(" " .. i .. ". " .. name .. " (" .. id .. ")") end end) -- Visuals Tab Content createToggleButton(visualsTab, "ESP Players", false, function(enabled) if enabled then enableESP() print("ESP enabled!") else disableESP() print("ESP disabled!") end end) createToggleButton(visualsTab, "Custom Cursor", false, function(enabled) if enabled then enableCustomCursor() print("Custom cursor enabled!") else disableCustomCursor() print("Custom cursor disabled!") end end) createButton(visualsTab, "Fullbright", function() Lighting.Brightness = 2 Lighting.ClockTime = 14 Lighting.FogEnd = 100000 Lighting.GlobalShadows = false Lighting.OutdoorAmbient = Color3.fromRGB(128, 128, 128) print("Fullbright enabled!") end) -- Movement Tab Content createToggleButton(movementTab, "Character Spin", false, function(enabled) if enabled then enableSpin() print("Character spin enabled!") else disableSpin() print("Character spin disabled!") end end) createButton(movementTab, "Teleport to Spawn", function() local character = LocalPlayer.Character if character and character:FindFirstChild("HumanoidRootPart") then character.HumanoidRootPart.CFrame = CFrame.new(0, 50, 0) print("Teleported to spawn!") end end) -- Settings Tab Content with Fixed Transparency createSlider(settingsTab, "GUI Transparency", 0, 90, 0, function(value) local transparency = value / 100 -- Apply transparency to all GUI elements for _, element in pairs(allGuiElements) do if element and element.Parent then local currentTransparency = element.BackgroundTransparency element.BackgroundTransparency = math.min(0.95, transparency + (currentTransparency * 0.1)) -- Handle gradients local gradient = element:FindFirstChild("UIGradient") if gradient then -- UIGradient transparency uses NumberSequence, not a single number gradient.Transparency = NumberSequence.new{ NumberSequenceKeypoint.new(0, transparency), NumberSequenceKeypoint.new(1, transparency) } end -- Handle strokes local stroke = element:FindFirstChild("UIStroke") if stroke then stroke.Transparency = math.min(0.95, transparency + 0.3) end end end -- Special handling for main frame MainFrame.BackgroundTransparency = transparency TopBar.BackgroundTransparency = transparency TabContainer.BackgroundTransparency = transparency ContentFrame.BackgroundTransparency = transparency end) createSlider(settingsTab, "Animation Speed", 1, 10, 5, function(value) if idleAnimationTrack then idleAnimationTrack:AdjustSpeed(value / 5) end end) createButton(settingsTab, "Reset GUI Position", function() MainFrame.Position = UDim2.new(0.5, -400, 0.5, -300) end) -- Player Tab Content createSlider(playerTab, "Walk Speed", 16, 100, 16, function(value) local player = Players.LocalPlayer if player.Character and player.Character:FindFirstChild("Humanoid") then player.Character.Humanoid.WalkSpeed = value end end) createSlider(playerTab, "Jump Power", 50, 200, 50, function(value) local player = Players.LocalPlayer if player.Character and player.Character:FindFirstChild("Humanoid") then player.Character.Humanoid.JumpPower = value end end) createButton(playerTab, "Reset Character", function() local player = Players.LocalPlayer if player.Character then player.Character:BreakJoints() end end) -- Tab Layout local tabLayout = Instance.new("UIListLayout") tabLayout.Parent = TabContainer tabLayout.Padding = UDim.new(0, 5) tabLayout.SortOrder = Enum.SortOrder.LayoutOrder local tabPadding = Instance.new("UIPadding") tabPadding.Parent = TabContainer tabPadding.PaddingTop = UDim.new(0, 10) tabPadding.PaddingBottom = UDim.new(0, 10) tabPadding.PaddingLeft = UDim.new(0, 10) tabPadding.PaddingRight = UDim.new(0, 10) -- Button Functionality CloseButton.MouseButton1Click:Connect(function() disableCustomIdle() -- Clean up before closing ScreenGui:Destroy() end) local minimized = false MinimizeButton.MouseButton1Click:Connect(function() minimized = not minimized if minimized then TweenService:Create(MainFrame, TweenInfo.new(0.3), {Size = UDim2.new(0, 800, 0, 40)}):Play() TabContainer.Visible = false ContentFrame.Visible = false else TweenService:Create(MainFrame, TweenInfo.new(0.3), {Size = UDim2.new(0, 800, 0, 600)}):Play() TabContainer.Visible = true ContentFrame.Visible = true end end) -- Smooth Entrance Animation local function playEntranceAnimation() -- Start with GUI off-screen and transparent MainFrame.Position = UDim2.new(0.5, -400, 1.5, 0) MainFrame.Size = UDim2.new(0, 600, 0, 400) MainFrame.BackgroundTransparency = 1 TopBar.BackgroundTransparency = 1 TabContainer.BackgroundTransparency = 1 ContentFrame.BackgroundTransparency = 1 -- Entrance animation sequence local entranceTween1 = TweenService:Create(MainFrame, TweenInfo.new(0.8, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { Position = UDim2.new(0.5, -400, 0.5, -300), BackgroundTransparency = 0 }) local topBarTween = TweenService:Create(TopBar, TweenInfo.new(0.8, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { BackgroundTransparency = 0 }) local tabContainerTween = TweenService:Create(TabContainer, TweenInfo.new(0.8, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { BackgroundTransparency = 0 }) local contentFrameTween = TweenService:Create(ContentFrame, TweenInfo.new(0.8, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { BackgroundTransparency = 0 }) local sizeTween = TweenService:Create(MainFrame, TweenInfo.new(0.6, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { Size = UDim2.new(0, 800, 0, 600) }) entranceTween1:Play() topBarTween:Play() tabContainerTween:Play() contentFrameTween:Play() wait(0.3) sizeTween:Play() -- Animate tabs appearing one by one local tabDelay = 0 for _, tab in pairs(tabs) do spawn(function() wait(tabDelay) tab.button.BackgroundTransparency = 1 tab.button.Size = UDim2.new(1, -10, 0, 0) tab.icon.TextTransparency = 1 tab.name.TextTransparency = 1 local tabTween = TweenService:Create(tab.button, TweenInfo.new(0.4, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { Size = UDim2.new(1, -10, 0, 60), BackgroundTransparency = 0 }) local iconTween = TweenService:Create(tab.icon, TweenInfo.new(0.4, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { TextTransparency = 0 }) local nameTween = TweenService:Create(tab.name, TweenInfo.new(0.4, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { TextTransparency = 0.5 }) tabTween:Play() iconTween:Play() nameTween:Play() end) tabDelay = tabDelay + 0.1 end -- Glow effect animation spawn(function() while MainFrame and MainFrame.Parent do local glowTween = TweenService:Create(MainFrameStroke, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { Color = Color3.fromRGB(150, 100, 255) }) glowTween:Play() glowTween.Completed:Wait() local glowTween2 = TweenService:Create(MainFrameStroke, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), { Color = Color3.fromRGB(100, 150, 255) }) glowTween2:Play() glowTween2.Completed:Wait() end end) end -- Initialize with first tab switchTab("Executor") -- Auto-resize content for _, tab in pairs(tabs) do tab.content.ChildAdded:Connect(function() wait() -- Wait for layout to update tab.content.CanvasSize = UDim2.new(0, 0, 0, tab.content.UIListLayout.AbsoluteContentSize.Y + 40) end) end -- Play entrance animation spawn(playEntranceAnimation) -- Success messages print("🎉 Universal GUI v3.0 - Advanced Edition loaded successfully!") print("✨ Features: Custom Cursor, ESP, Spin, Enhanced Animations, Gradients") print("🎭 Your custom idle animation ID: 113584944257171") print("📋 Available tabs: Executor, Scripts, Animations, Visuals, Movement, Settings, Player") print("🚀 Enjoy the enhanced experience!")