-- DRIFT (FULL TAB VERSION) -- LocalScript | StarterPlayerScripts local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UIS = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local player = Players.LocalPlayer -------------------------------------------------- -- Character helpers -------------------------------------------------- local function char() return player.Character or player.CharacterAdded:Wait() end local function hum() return char():WaitForChild("Humanoid") end local function hrp() return char():WaitForChild("HumanoidRootPart") end -------------------------------------------------- -- GUI BASE -------------------------------------------------- local gui = Instance.new("ScreenGui") gui.Name = "DriftUI" gui.ResetOnSpawn = false gui.Parent = player:WaitForChild("PlayerGui") -- Open button local open = Instance.new("TextButton") open.Size = UDim2.fromOffset(44,44) open.Position = UDim2.fromScale(0.04,0.6) open.Text = "≡" open.TextSize = 22 open.BackgroundColor3 = Color3.fromRGB(20,20,20) open.TextColor3 = Color3.fromRGB(235,235,235) open.Active = true open.Draggable = true open.Parent = gui Instance.new("UICorner", open).CornerRadius = UDim.new(1,0) -- Main panel local panel = Instance.new("Frame") panel.Size = UDim2.fromOffset(320,380) panel.Position = UDim2.fromScale(0.5,0.5) panel.AnchorPoint = Vector2.new(0.5,0.5) panel.BackgroundColor3 = Color3.fromRGB(24,24,24) panel.Visible = false panel.Active = true panel.Draggable = true panel.Parent = gui Instance.new("UICorner", panel).CornerRadius = UDim.new(0,12) open.MouseButton1Click:Connect(function() panel.Visible = not panel.Visible end) -- Title local title = Instance.new("TextLabel") title.Size = UDim2.new(1,0,0,44) title.Text = "Drift" title.TextSize = 18 title.Font = Enum.Font.GothamMedium title.TextColor3 = Color3.fromRGB(240,240,240) title.BackgroundTransparency = 1 title.Parent = panel -------------------------------------------------- -- TAB BAR -------------------------------------------------- local tabBar = Instance.new("Frame") tabBar.Size = UDim2.new(1,-24,0,36) tabBar.Position = UDim2.fromOffset(12,52) tabBar.BackgroundTransparency = 1 tabBar.Parent = panel local tabLayout = Instance.new("UIListLayout", tabBar) tabLayout.FillDirection = Enum.FillDirection.Horizontal tabLayout.Padding = UDim.new(0,8) -------------------------------------------------- -- TAB CREATION -------------------------------------------------- local tabs = {} local function createTab() local frame = Instance.new("ScrollingFrame") frame.Size = UDim2.new(1,-24,1,-104) frame.Position = UDim2.fromOffset(12,96) frame.ScrollBarImageTransparency = 0.4 frame.CanvasSize = UDim2.new(0,0,0,0) frame.Visible = false frame.Parent = panel local layout = Instance.new("UIListLayout", frame) layout.Padding = UDim.new(0,8) layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() frame.CanvasSize = UDim2.fromOffset(0, layout.AbsoluteContentSize.Y + 8) end) return frame end tabs.Movement = createTab() tabs.Visual = createTab() tabs.Chaos = createTab() tabs.Movement.Visible = true local currentTab = tabs.Movement local function tabButton(name) local b = Instance.new("TextButton") b.Size = UDim2.fromOffset(90,32) b.Text = name b.TextSize = 14 b.Font = Enum.Font.Gotham b.BackgroundColor3 = Color3.fromRGB(36,36,36) b.TextColor3 = Color3.fromRGB(230,230,230) b.Parent = tabBar Instance.new("UICorner", b).CornerRadius = UDim.new(0,8) b.MouseButton1Click:Connect(function() currentTab.Visible = false currentTab = tabs[name] currentTab.Visible = true end) end tabButton("Movement") tabButton("Visual") tabButton("Chaos") -------------------------------------------------- -- MOD SYSTEM -------------------------------------------------- local active = {} local connections = {} local function modButton(tab, name, on, off) local b = Instance.new("TextButton") b.Size = UDim2.new(1,0,0,34) b.Text = name b.TextSize = 14 b.Font = Enum.Font.Gotham b.BackgroundColor3 = Color3.fromRGB(36,36,36) b.TextColor3 = Color3.fromRGB(230,230,230) b.Parent = tab Instance.new("UICorner", b).CornerRadius = UDim.new(0,8) b.MouseButton1Click:Connect(function() if active[name] then active[name] = nil b.BackgroundColor3 = Color3.fromRGB(36,36,36) if off then off() end else active[name] = true b.BackgroundColor3 = Color3.fromRGB(60,120,180) if on then on() end end end) end -------------------------------------------------- -- MOVEMENT MODS -------------------------------------------------- modButton(tabs.Movement, "Fly", function() local bv = Instance.new("BodyVelocity", hrp()) bv.MaxForce = Vector3.new(1e5,1e5,1e5) connections.fly = RunService.RenderStepped:Connect(function() bv.Velocity = workspace.CurrentCamera.CFrame.LookVector * 85 end) end, function() if connections.fly then connections.fly:Disconnect() end for _,v in ipairs(hrp():GetChildren()) do if v:IsA("BodyVelocity") then v:Destroy() end end end) modButton(tabs.Movement, "Speed", function() hum().WalkSpeed = 90 end, function() hum().WalkSpeed = 16 end) modButton(tabs.Movement, "Infinite Jump", function() connections.jump = UIS.JumpRequest:Connect(function() hum():ChangeState(Enum.HumanoidStateType.Jumping) end) end, function() if connections.jump then connections.jump:Disconnect() end end) modButton(tabs.Movement, "Noclip", function() end) RunService.Stepped:Connect(function() if active["Noclip"] then for _,v in pairs(char():GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = false end end end end) -------------------------------------------------- -- VISUAL MODS -------------------------------------------------- modButton(tabs.Visual, "Rainbow Body", function() connections.rainbow = RunService.RenderStepped:Connect(function() for _,v in pairs(char():GetDescendants()) do if v:IsA("BasePart") then v.Color = Color3.fromHSV(tick()%5/5,1,1) end end end) end, function() if connections.rainbow then connections.rainbow:Disconnect() end end) modButton(tabs.Visual, "FOV Boost", function() workspace.CurrentCamera.FieldOfView = 100 end, function() workspace.CurrentCamera.FieldOfView = 70 end) modButton(tabs.Visual, "Invisible", function() for _,v in pairs(char():GetDescendants()) do if v:IsA("BasePart") then v.Transparency = 1 end end end, function() for _,v in pairs(char():GetDescendants()) do if v:IsA("BasePart") then v.Transparency = 0 end end end) -------------------------------------------------- -- CHAOS MODS -------------------------------------------------- modButton(tabs.Chaos, "Spin Crazy", function() connections.spin = RunService.RenderStepped:Connect(function() hrp().CFrame *= CFrame.Angles(0,math.rad(20),0) end) end, function() if connections.spin then connections.spin:Disconnect() end end) modButton(tabs.Chaos, "Drunk Walk", function() connections.drunk = RunService.RenderStepped:Connect(function() hrp().CFrame *= CFrame.Angles(0,0,math.sin(tick()*5)*0.01) end) end, function() if connections.drunk then connections.drunk:Disconnect() end end) modButton(tabs.Chaos, "Chaos Speed", function() task.spawn(function() while active["Chaos Speed"] do hum().WalkSpeed = math.random(10,120) task.wait(0.4) end end) end, function() hum().WalkSpeed = 16 end) -------------------------------------------------- -- RESET -------------------------------------------------- modButton(tabs.Chaos, "Reset All", function() active = {} hum().WalkSpeed = 16 workspace.Gravity = 196.2 for _,v in pairs(char():GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = true v.Transparency = 0 end end end) -------------------------------------------------- -- END --------------------------------------------------