-- Services local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local VirtualInputManager = game:GetService("VirtualInputManager") local Workspace = game:GetService("Workspace") -- Variables local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") local character = player.Character or player.CharacterAdded:Wait() local humanoid = character:WaitForChild("Humanoid") local mouse = player:GetMouse() -- Set up character added connection player.CharacterAdded:Connect(function(char) character = char humanoid = char:WaitForChild("Humanoid") end) -- Utility Functions local function createTween(instance, props, duration, style, direction) local tweenInfo = TweenInfo.new(duration or 0.3, style or Enum.EasingStyle.Quad, direction or Enum.EasingDirection.Out) local tween = TweenService:Create(instance, tweenInfo, props) return tween end -- Create ScreenGui with proper safety checks local screenGui = Instance.new("ScreenGui") screenGui.Name = "ModernUI" screenGui.ResetOnSpawn = false screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling screenGui.IgnoreGuiInset = true if syn and syn.protect_gui then syn.protect_gui(screenGui) screenGui.Parent = game.CoreGui else screenGui.Parent = playerGui end -- Loading Screen with particles local loadingFrame = Instance.new("Frame") loadingFrame.Name = "LoadingFrame" loadingFrame.Parent = screenGui loadingFrame.Size = UDim2.new(1, 0, 1, 0) loadingFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20) loadingFrame.BackgroundTransparency = 0 loadingFrame.ZIndex = 999 -- Particle System local function createParticle() local particle = Instance.new("Frame") particle.BackgroundColor3 = Color3.fromRGB(0, 195, 255) particle.BorderSizePixel = 0 particle.Size = UDim2.new(0, math.random(2, 4), 0, math.random(2, 4)) particle.Position = UDim2.new(math.random(), 0, 1.1, 0) particle.Parent = loadingFrame particle.ZIndex = 1000 local blur = Instance.new("UICorner") blur.CornerRadius = UDim.new(1, 0) blur.Parent = particle return particle end -- Spawn particles for i = 1, 50 do local particle = createParticle() local duration = math.random(2, 4) local posX = particle.Position.X.Scale spawn(function() while loadingFrame.Parent do local newPosX = posX + math.sin(time() * math.random(1, 3)) * 0.1 createTween(particle, { Position = UDim2.new(newPosX, 0, -0.1, 0), BackgroundTransparency = 1 }, duration, Enum.EasingStyle.Linear):Play() wait(duration) if loadingFrame.Parent then particle.Position = UDim2.new(posX, 0, 1.1, 0) particle.BackgroundTransparency = 0 end end end) end -- Animated Loading Text local loadingText = Instance.new("TextLabel") loadingText.Name = "LoadingText" loadingText.Parent = loadingFrame loadingText.Size = UDim2.new(0, 500, 0, 100) loadingText.Position = UDim2.new(0.5, -250, 0.5, -50) loadingText.BackgroundTransparency = 1 loadingText.Text = "Wesd Hub" loadingText.TextColor3 = Color3.fromRGB(255, 255, 255) loadingText.TextSize = 48 loadingText.Font = Enum.Font.GothamBlack loadingText.ZIndex = 1000 -- Text Gradient local textGradient = Instance.new("UIGradient") textGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(0, 195, 255)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(255, 255, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(170, 0, 255)) }) textGradient.Parent = loadingText -- Animate text gradient spawn(function() local rotation = 0 while loadingFrame.Parent do rotation = (rotation + 1) % 360 textGradient.Rotation = rotation RunService.RenderStepped:Wait() end end) -- Animated Loading Bar local loadingBarContainer = Instance.new("Frame") loadingBarContainer.Size = UDim2.new(0, 400, 0, 4) loadingBarContainer.Position = UDim2.new(0.5, -200, 0.6, 0) loadingBarContainer.BackgroundColor3 = Color3.fromRGB(40, 40, 40) loadingBarContainer.BorderSizePixel = 0 loadingBarContainer.Parent = loadingFrame loadingBarContainer.ZIndex = 999 local loadingBar = Instance.new("Frame") loadingBar.Size = UDim2.new(0, 0, 1, 0) loadingBar.BackgroundColor3 = Color3.fromRGB(0, 195, 255) loadingBar.BorderSizePixel = 0 loadingBar.Parent = loadingBarContainer loadingBar.ZIndex = 1000 -- Loading Bar Gradient local barGradient = Instance.new("UIGradient") barGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(0, 195, 255)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(170, 0, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(0, 195, 255)) }) barGradient.Parent = loadingBar -- Main Frame with blur effect local mainFrame = Instance.new("Frame") mainFrame.Name = "MainFrame" mainFrame.Parent = screenGui mainFrame.Size = UDim2.new(0, 300, 0, 400) mainFrame.Position = UDim2.new(0.5, -150, 0.5, -200) mainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25) mainFrame.BorderSizePixel = 0 mainFrame.Visible = false mainFrame.ZIndex = 100 -- Add blur effect local blur = Instance.new("BlurEffect") blur.Size = 0 blur.Parent = game.Lighting -- Neon Frame local function createNeonFrame() local neon = Instance.new("Frame") neon.Size = UDim2.new(1, 6, 1, 6) neon.Position = UDim2.new(0.5, 0, 0.5, 0) neon.AnchorPoint = Vector2.new(0.5, 0.5) neon.BackgroundColor3 = Color3.fromRGB(0, 195, 255) neon.BorderSizePixel = 0 neon.Parent = mainFrame neon.ZIndex = 99 local neonCorner = Instance.new("UICorner") neonCorner.CornerRadius = UDim.new(0, 14) neonCorner.Parent = neon local neonGradient = Instance.new("UIGradient") neonGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(0, 195, 255)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(170, 0, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(0, 195, 255)) }) neonGradient.Parent = neon -- Animate neon gradient spawn(function() local rotation = 0 while mainFrame.Parent do rotation = (rotation + 1) % 360 neonGradient.Rotation = rotation RunService.RenderStepped:Wait() end end) return neon end local mainFrameCorner = Instance.new("UICorner") mainFrameCorner.CornerRadius = UDim.new(0, 12) mainFrameCorner.Parent = mainFrame -- Create neon effect local neonFrame = createNeonFrame() -- Advanced Button Creation local function createButton(text, parent, position) local button = Instance.new("TextButton") button.Name = text .. "Button" button.Parent = parent button.Size = UDim2.new(1, -20, 0, 40) button.Position = position button.BackgroundColor3 = Color3.fromRGB(40, 40, 40) button.Text = text button.TextColor3 = Color3.fromRGB(255, 255, 255) button.TextSize = 14 button.Font = Enum.Font.GothamSemibold button.AutoButtonColor = false button.ZIndex = 101 button.ClipsDescendants = true local buttonCorner = Instance.new("UICorner") buttonCorner.CornerRadius = UDim.new(0, 6) buttonCorner.Parent = button -- Button Gradient local buttonGradient = Instance.new("UIGradient") buttonGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(40, 40, 40)), ColorSequenceKeypoint.new(1, Color3.fromRGB(50, 50, 50)) }) buttonGradient.Rotation = 45 buttonGradient.Parent = button -- Ripple Effect button.MouseButton1Down:Connect(function(x, y) local ripple = Instance.new("Frame") ripple.Name = "ripple" ripple.Parent = button ripple.BackgroundColor3 = Color3.fromRGB(255, 255, 255) ripple.BackgroundTransparency = 0.6 ripple.BorderSizePixel = 0 ripple.ZIndex = button.ZIndex + 1 local rippleCorner = Instance.new("UICorner") rippleCorner.CornerRadius = UDim.new(1, 0) rippleCorner.Parent = ripple local size = math.max(button.AbsoluteSize.X, button.AbsoluteSize.Y) * 2 ripple.Size = UDim2.new(0, 0, 0, 0) ripple.Position = UDim2.new(0, mouse.X - button.AbsolutePosition.X, 0, mouse.Y - button.AbsolutePosition.Y) local tween = createTween(ripple, { Size = UDim2.new(0, size, 0, size), Position = UDim2.new(0.5, -size/2, 0.5, -size/2), BackgroundTransparency = 1 }, 0.5) tween.Completed:Connect(function() ripple:Destroy() end) tween:Play() end) -- Hover effect button.MouseEnter:Connect(function() createTween(button, {BackgroundColor3 = Color3.fromRGB(50, 50, 50)}):Play() end) button.MouseLeave:Connect(function() createTween(button, {BackgroundColor3 = Color3.fromRGB(40, 40, 40)}):Play() end) return button end -- Content Frame with smooth scrolling local contentFrame = Instance.new("ScrollingFrame") contentFrame.Name = "ContentFrame" contentFrame.Parent = mainFrame contentFrame.Size = UDim2.new(1, -20, 1, -120) contentFrame.Position = UDim2.new(0, 10, 0, 60) contentFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) contentFrame.BorderSizePixel = 0 contentFrame.ScrollBarThickness = 4 contentFrame.ScrollBarImageColor3 = Color3.fromRGB(0, 195, 255) contentFrame.ZIndex = 101 local contentCorner = Instance.new("UICorner") contentCorner.CornerRadius = UDim.new(0, 8) contentCorner.Parent = contentFrame -- Add buttons with categories local buttonData = { {category = "Player", buttons = {"Speed Hack", "Anti KnockBack"}}, {category = "Visual", buttons = {"ESP", "Tracers", "Box ESP", "Chams"}}, {category = "Combat", buttons = {"Aimbot", "Silent Aim", "Trigger Bot", "Kill Aura"}}, {category = "Misc", buttons = {"Infinite Yield", "Anti AFK", "Server Hop", "Rejoin", "Toggle UI"}} } local yOffset = 10 for _, category in ipairs(buttonData) do -- Category Label local categoryLabel = Instance.new("TextLabel") categoryLabel.Size = UDim2.new(1, -20, 0, 30) categoryLabel.Position = UDim2.new(0, 10, 0, yOffset) categoryLabel.BackgroundTransparency = 1 categoryLabel.Text = category.category categoryLabel.TextColor3 = Color3.fromRGB(0, 195, 255) categoryLabel.TextSize = 16 categoryLabel.Font = Enum.Font.GothamBold categoryLabel.TextXAlignment = Enum.TextXAlignment.Left categoryLabel.Parent = contentFrame categoryLabel.ZIndex = 102 yOffset = yOffset + 35 -- Category Buttons for _, buttonText in ipairs(category.buttons) do local button = createButton(buttonText, contentFrame, UDim2.new(0, 10, 0, yOffset)) if buttonText == "Speed Hack" then button.MouseButton1Click:Connect(function() humanoid.WalkSpeed = 23 end) elseif buttonText == "Anti KnockBack" then button.MouseButton1Click:Connect(function() -- Anti KnockBack logic here end) elseif buttonText == "Trigger Bot" then button.MouseButton1Click:Connect(function() mouse.Button1Down:Connect(function() if mouse.Target and mouse.Target.Parent and Players:GetPlayerFromCharacter(mouse.Target.Parent) then VirtualInputManager:SendMouseButtonEvent(Enum.UserInputState.Begin, nil, mouse.Target.Position) end end) end) elseif buttonText == "Kill Aura" then button.MouseButton1Click:Connect(function() RunService.RenderStepped:Connect(function() for _, player in pairs(Players:GetPlayers()) do if player ~= Players.LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then local distance = (player.Character.HumanoidRootPart.Position - character.HumanoidRootPart.Position).Magnitude if distance <= 18 then VirtualInputManager:SendMouseButtonEvent(Enum.UserInputState.Begin, nil, player.Character.HumanoidRootPart.Position) end end end end) end) elseif buttonText == "ESP" then button.MouseButton1Click:Connect(function() for _, player in pairs(Players:GetPlayers()) do if player ~= Players.LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then local esp = Instance.new("BoxHandleAdornment") esp.Size = player.Character.HumanoidRootPart.Size + Vector3.new(4, 4, 4) esp.Color3 = Color3.fromRGB(255, 0, 0) esp.AlwaysOnTop = true esp.ZIndex = 0 esp.Adornee = player.Character esp.Parent = player.Character end end end) elseif buttonText == "Tracers" then button.MouseButton1Click:Connect(function() for _, player in pairs(Players:GetPlayers()) do if player ~= Players.LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then local tracer = Drawing.new("Line") tracer.Color = Color3.fromRGB(255, 0, 0) tracer.Thickness = 2 tracer.Transparency = 0.5 RunService.RenderStepped:Connect(function() tracer.From = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 1) tracer.To = camera:WorldToViewportPoint(player.Character.HumanoidRootPart.Position) end) end end end) elseif buttonText == "Box ESP" then button.MouseButton1Click:Connect(function() for _, player in pairs(Players:GetPlayers()) do if player ~= Players.LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then local box = Drawing.new("Square") box.Color = Color3.fromRGB(255, 0, 0) box.Thickness = 2 box.Size = Vector2.new(2000 / player.Character.HumanoidRootPart.Position.Y, 2000 / player.Character.HumanoidRootPart.Position.Y) box.Visible = true RunService.RenderStepped:Connect(function() local _, onScreen = Workspace.CurrentCamera:WorldToViewportPoint(player.Character.HumanoidRootPart.Position) box.Visible = onScreen box.Size = Vector2.new(2000 / player.Character.HumanoidRootPart.Position.Y, 2000 / player.Character.HumanoidRootPart.Position.Y) box.Position = Vector2.new(player.Character.HumanoidRootPart.Position.X - box.Size.X / 2, player.Character.HumanoidRootPart.Position.Y - box.Size.Y / 2) end) end end end) elseif buttonText == "Chams" then button.MouseButton1Click:Connect(function() for _, player in pairs(Players:GetPlayers()) do if player ~= Players.LocalPlayer and player.Character then for _, part in pairs(player.Character:GetChildren()) do if part:IsA("BasePart") then part.Material = Enum.Material.ForceField part.Color = Color3.fromRGB(255, 0, 0) end end end end end) elseif buttonText == "Anti AFK" then button.MouseButton1Click:Connect(function() while true do VirtualInputManager:SendKeyEvent(true, "W", false, game) wait(1) VirtualInputManager:SendKeyEvent(false, "W", false, game) wait(math.random(10, 20)) end end) elseif buttonText == "Toggle UI" then button.MouseButton1Click:Connect(function() toggleUI() end) end yOffset = yOffset + 50 end yOffset = yOffset + 10 end -- Update canvas size contentFrame.CanvasSize = UDim2.new(0, 0, 0, yOffset) -- Title Bar with gradient local titleBar = Instance.new("Frame") titleBar.Name = "TitleBar" titleBar.Parent = mainFrame titleBar.Size = UDim2.new(1, -20, 0, 40) titleBar.Position = UDim2.new(0, 10, 0, 10) titleBar.BackgroundColor3 = Color3.fromRGB(35, 35, 35) titleBar.BorderSizePixel = 0 titleBar.ZIndex = 101 local titleCorner = Instance.new("UICorner") titleCorner.CornerRadius = UDim.new(0, 8) titleCorner.Parent = titleBar local titleGradient = Instance.new("UIGradient") titleGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(35, 35, 35)), ColorSequenceKeypoint.new(1, Color3.fromRGB(45, 45, 45)) }) titleGradient.Rotation = 90 titleGradient.Parent = titleBar -- Title Text with gradient local titleText = Instance.new("TextLabel") titleText.Name = "TitleText" titleText.Parent = titleBar titleText.Size = UDim2.new(1, -20, 1, 0) titleText.Position = UDim2.new(0, 10, 0, 0) titleText.BackgroundTransparency = 1 titleText.Text = "Wesd Hub" titleText.TextColor3 = Color3.fromRGB(255, 255, 255) titleText.TextSize = 18 titleText.Font = Enum.Font.GothamBold titleText.TextXAlignment = Enum.TextXAlignment.Left titleText.ZIndex = 102 local titleTextGradient = Instance.new("UIGradient") titleTextGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(0, 195, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(170, 0, 255)) }) titleTextGradient.Parent = titleText -- Make UI Draggable with smooth dragging local dragging local dragInput local dragStart local startPos local function updateDrag(input) local delta = input.Position - dragStart local position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) createTween(mainFrame, {Position = position}, 0.1):Play() end titleBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = mainFrame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) UserInputService.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement and dragging then updateDrag(input) end end) -- Toggle UI with animation local isVisible = false local function toggleUI() isVisible = not isVisible if isVisible then mainFrame.Size = UDim2.new(0, 0, 0, 0) mainFrame.Position = UDim2.new(0.5, 0, 0.5, 0) mainFrame.Visible = true blur.Size = 0 createTween(mainFrame, { Size = UDim2.new(0, 300, 0, 400), Position = UDim2.new(0.5, -150, 0.5, -200) }, 0.5, Enum.EasingStyle.Back):Play() createTween(blur, {Size = 10}, 0.5):Play() else createTween(mainFrame, { Size = UDim2.new(0, 0, 0, 0), Position = UDim2.new(0.5, 0, 0.5, 0) }, 0.5, Enum.EasingStyle.Back, Enum.EasingDirection.In).Completed:Connect(function() mainFrame.Visible = false end) createTween(blur, {Size = 0}, 0.5):Play() end end -- Initialize UI with animations createTween(loadingBar, {Size = UDim2.new(1, 0, 1, 0)}, 1.5, Enum.EasingStyle.Quad):Play() wait(2) -- Fade out loading screen local fadeOut = createTween(loadingFrame, {BackgroundTransparency = 1}, 0.5) fadeOut:Play() fadeOut.Completed:Wait() loadingFrame:Destroy() -- Show main UI with animation toggleUI() -- Notification System local function createNotification(text, duration) local notification = Instance.new("Frame") notification.Size = UDim2.new(0, 200, 0, 60) notification.Position = UDim2.new(1, -220, 1, -80) notification.BackgroundColor3 = Color3.fromRGB(30, 30, 30) notification.BorderSizePixel = 0 notification.Parent = screenGui local notifCorner = Instance.new("UICorner") notifCorner.CornerRadius = UDim.new(0, 8) notifCorner.Parent = notification local notifText = Instance.new("TextLabel") notifText.Size = UDim2.new(1, -20, 1, 0) notifText.Position = UDim2.new(0, 10, 0, 0) notifText.BackgroundTransparency = 1 notifText.Text = text notifText.TextColor3 = Color3.fromRGB(255, 255, 255) notifText.TextSize = 14 notifText.Font = Enum.Font.Gotham notifText.TextWrapped = true notifText.Parent = notification createTween(notification, {Position = UDim2.new(1, -220, 1, -80)}, 0.5, Enum.EasingStyle.Back):Play() delay(duration or 3, function() createTween(notification, {Position = UDim2.new(1, 20, 1, -80)}, 0.5).Completed:Connect(function() notification:Destroy() end) end) end -- Example notification createNotification("Script loaded successfully!", 3)