local player=game.Players.LocalPlayer local UIS=game:GetService("UserInputService") local RunService=game:GetService("RunService") local flySpeed=50 local flying=false local bodyVelocity local bodyGyro local gui=Instance.new("ScreenGui",player:WaitForChild("PlayerGui")) gui.ResetOnSpawn=false local frame=Instance.new("Frame",gui) frame.Size=UDim2.new(0,500,0,500) frame.Position=UDim2.new(0.5,-250,0.5,-250) frame.BackgroundColor3=Color3.fromRGB(20,0,40) Instance.new("UICorner",frame).CornerRadius=UDim.new(0,20) local glow=Instance.new("UIStroke",frame) glow.Thickness=2 RunService.RenderStepped:Connect(function() local i=(math.sin(tick()*2)+1)/2 glow.Color=Color3.fromRGB(150+100*i,0,255) end) local bgText=Instance.new("TextLabel",frame) bgText.Size=UDim2.new(1,0,1,0) bgText.Text="COOL STUDIOS: Fly +" bgText.TextScaled=true bgText.TextTransparency=0.9 bgText.TextColor3=Color3.fromRGB(180,0,255) bgText.Font=Enum.Font.GothamBlack bgText.BackgroundTransparency=1 local title=Instance.new("TextLabel",frame) title.Size=UDim2.new(1,-100,0,40) title.Position=UDim2.new(0,10,0,0) title.Text="Cool Studios" title.BackgroundTransparency=1 title.TextColor3=Color3.fromRGB(220,120,255) title.TextScaled=true local dragging=false local dragStart,startPos title.InputBegan:Connect(function(i) if i.UserInputType==Enum.UserInputType.MouseButton1 then dragging=true dragStart=i.Position startPos=frame.Position end end) UIS.InputChanged:Connect(function(i) if dragging then local d=i.Position-dragStart frame.Position=UDim2.new(startPos.X.Scale,startPos.X.Offset+d.X,startPos.Y.Scale,startPos.Y.Offset+d.Y) end end) UIS.InputEnded:Connect(function(i) if i.UserInputType==Enum.UserInputType.MouseButton1 then dragging=false end end) local function topBtn(txt,x,func) local b=Instance.new("TextButton",frame) b.Size=UDim2.new(0,30,0,30) b.Position=UDim2.new(1,x,0,5) b.Text=txt b.BackgroundColor3=Color3.fromRGB(150,0,255) b.TextColor3=Color3.new(1,1,1) Instance.new("UICorner",b) b.MouseButton1Click:Connect(func) end topBtn("X",-35,function() gui:Destroy() end) local minimized=false topBtn("-", -70,function() minimized=not minimized for _,v in pairs(frame:GetChildren()) do if v~=title and v:IsA("GuiObject") and v.Position.Y.Offset>40 then v.Visible=not minimized end end frame:TweenSize(minimized and UDim2.new(0,500,0,40) or UDim2.new(0,500,0,500),"Out","Quad",0.3,true) end) local function slider(y,min,max) local val=flySpeed local l=Instance.new("TextLabel",frame) l.Size=UDim2.new(1,0,0,20) l.Position=UDim2.new(0,0,0,y) l.Text="FlySpeed: "..val l.BackgroundTransparency=1 l.TextColor3=Color3.fromRGB(200,120,255) local bar=Instance.new("Frame",frame) bar.Size=UDim2.new(0.8,0,0,6) bar.Position=UDim2.new(0.1,0,0,y+25) bar.BackgroundColor3=Color3.fromRGB(60,0,120) Instance.new("UICorner",bar) local fill=Instance.new("Frame",bar) fill.BackgroundColor3=Color3.fromRGB(180,0,255) Instance.new("UICorner",fill) local knob=Instance.new("Frame",bar) knob.Size=UDim2.new(0,14,0,14) knob.BackgroundColor3=Color3.fromRGB(220,120,255) Instance.new("UICorner",knob) local function update(x) val=math.floor(min+(max-min)*x) flySpeed=val fill.Size=UDim2.new(x,0,1,0) knob.Position=UDim2.new(x,-7,0.5,-7) l.Text="FlySpeed: "..val end update(0.2) local dragging=false knob.InputBegan:Connect(function(i) if i.UserInputType==Enum.UserInputType.MouseButton1 then dragging=true end end) UIS.InputEnded:Connect(function(i) if i.UserInputType==Enum.UserInputType.MouseButton1 then dragging=false end end) UIS.InputChanged:Connect(function(i) if dragging then local x=(i.Position.X-bar.AbsolutePosition.X)/bar.AbsoluteSize.X update(math.clamp(x,0,1)) end end) end slider(80,10,2000) local flyBtn=Instance.new("TextButton",frame) flyBtn.Size=UDim2.new(0.8,0,0,40) flyBtn.Position=UDim2.new(0.1,0,0,140) flyBtn.Text="FLY OFF" flyBtn.BackgroundColor3=Color3.fromRGB(120,0,200) flyBtn.TextColor3=Color3.new(1,1,1) Instance.new("UICorner",flyBtn) local function startFly() local char=player.Character if not char then return end local hum=char:FindFirstChild("Humanoid") local root=char:FindFirstChild("HumanoidRootPart") if not hum or not root then return end flying=true hum.PlatformStand=true bodyVelocity=Instance.new("BodyVelocity",root) bodyVelocity.MaxForce=Vector3.new(9e9,9e9,9e9) bodyGyro=Instance.new("BodyGyro",root) bodyGyro.MaxTorque=Vector3.new(9e9,9e9,9e9) RunService.RenderStepped:Connect(function() if not flying then return end local dir=Vector3.new() local cam=workspace.CurrentCamera if UIS:IsKeyDown(Enum.KeyCode.W) then dir+=cam.CFrame.LookVector end if UIS:IsKeyDown(Enum.KeyCode.S) then dir-=cam.CFrame.LookVector end if UIS:IsKeyDown(Enum.KeyCode.A) then dir-=cam.CFrame.RightVector end if UIS:IsKeyDown(Enum.KeyCode.D) then dir+=cam.CFrame.RightVector end if dir.Magnitude>0 then bodyVelocity.Velocity=dir.Unit*flySpeed else bodyVelocity.Velocity=Vector3.new() end bodyGyro.CFrame=cam.CFrame end) end local function stopFly() flying=false if bodyVelocity then bodyVelocity:Destroy() end if bodyGyro then bodyGyro:Destroy() end end flyBtn.MouseButton1Click:Connect(function() if flying then stopFly() flyBtn.Text="FLY OFF" else startFly() flyBtn.Text="FLY ON" end end)