--================================================== -- Neko Fly Gui v9 (PERFECT STABLE FINAL) --================================================== local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local RunService = game:GetService("RunService") local player = Players.LocalPlayer --======================== -- CHARACTER SAFE --======================== local character, humanoid, root local function setupCharacter(char) character = char humanoid = char:WaitForChild("Humanoid") root = char:WaitForChild("HumanoidRootPart") end setupCharacter(player.Character or player.CharacterAdded:Wait()) player.CharacterAdded:Connect(setupCharacter) --======================== -- GUI SETUP --======================== local gui = Instance.new("ScreenGui") gui.Name = "NekoFlyGuiV9" gui.ResetOnSpawn = false gui.IgnoreGuiInset = true gui.DisplayOrder = 999999999 gui.ZIndexBehavior = Enum.ZIndexBehavior.Global gui.Parent = player:WaitForChild("PlayerGui") local frame = Instance.new("Frame", gui) frame.Size = UDim2.new(0, 540, 0, 660) frame.Position = UDim2.new(0.3,0,0.12,0) frame.BackgroundColor3 = Color3.fromRGB(30,30,30) frame.Active = true frame.Draggable = true Instance.new("UICorner", frame).CornerRadius = UDim.new(0,35) local title = Instance.new("TextLabel", frame) title.Size = UDim2.new(1,0,0,45) title.BackgroundTransparency = 1 title.Text = "Neko Fly Gui v9" title.TextSize = 16 title.TextColor3 = Color3.new(1,1,1) -- Close local close = Instance.new("TextButton", frame) close.Size = UDim2.new(0,40,0,40) close.Position = UDim2.new(1,-45,0,5) close.Text = "X" close.BackgroundColor3 = Color3.fromRGB(200,60,60) Instance.new("UICorner", close).CornerRadius = UDim.new(1,0) -- Minimize local minimize = Instance.new("TextButton", frame) minimize.Size = UDim2.new(0,40,0,40) minimize.Position = UDim2.new(1,-90,0,5) minimize.Text = "-" minimize.BackgroundColor3 = Color3.fromRGB(90,90,90) Instance.new("UICorner", minimize).CornerRadius = UDim.new(1,0) -- Floating Button local circle = Instance.new("TextButton", gui) circle.Size = UDim2.new(0,80,0,80) circle.Position = UDim2.new(0.05,0,0.5,0) circle.Text = "Neko" circle.Visible = false circle.BackgroundColor3 = Color3.fromRGB(255,120,200) circle.Active = true circle.Draggable = true Instance.new("UICorner", circle).CornerRadius = UDim.new(1,0) --======================== -- SAFE ANIMATION (NO SIZE STACK) --======================== local function animate(button) local original = button.Size button.MouseEnter:Connect(function() TweenService:Create(button,TweenInfo.new(0.12),{ Size = UDim2.new(original.X.Scale,original.X.Offset+4, original.Y.Scale,original.Y.Offset+4) }):Play() end) button.MouseLeave:Connect(function() TweenService:Create(button,TweenInfo.new(0.12),{ Size = original }):Play() end) end animate(close) animate(minimize) animate(circle) --======================== -- BUTTON CREATOR --======================== local function createButton(text,y) local b = Instance.new("TextButton",frame) b.Size = UDim2.new(0.85,0,0,50) b.Position = UDim2.new(0.075,0,0,y) b.Text = text b.BackgroundColor3 = Color3.fromRGB(60,60,60) b.TextColor3 = Color3.new(1,1,1) Instance.new("UICorner",b).CornerRadius = UDim.new(0,20) animate(b) return b end local speedBtn = createButton("Speed",70) local jumpBtn = createButton("Jump Power",140) local flyBtn = createButton("Fly",210) local infJumpBtn = createButton("Inf Jump",280) local noclipBtn = createButton("Noclip",350) local upBtn = createButton("UP",420) local downBtn = createButton("Down",490) local godBtn = createButton("God mode",560) --======================== -- WINDOW CONTROL --======================== close.MouseButton1Click:Connect(function() gui:Destroy() end) minimize.MouseButton1Click:Connect(function() frame.Visible = false circle.Visible = true end) circle.MouseButton1Click:Connect(function() frame.Visible = true circle.Visible = false end) --======================== -- SPEED --======================== local speedOn=false speedBtn.MouseButton1Click:Connect(function() speedOn=not speedOn humanoid.WalkSpeed = speedOn and 100 or 16 end) --======================== -- JUMP POWER --======================== local jumpOn=false jumpBtn.MouseButton1Click:Connect(function() jumpOn=not jumpOn humanoid.JumpPower = jumpOn and 150 or 50 end) --======================== -- INFINITE JUMP --======================== local infJump=false infJumpBtn.MouseButton1Click:Connect(function() infJump=not infJump end) UIS.JumpRequest:Connect(function() if infJump then humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end end) --======================== -- TRUE FLOAT FLY (NO FALL / NO WALK BUG) --======================== local flying=false local vel local gyro flyBtn.MouseButton1Click:Connect(function() flying=not flying if flying then vel=Instance.new("BodyVelocity") vel.MaxForce=Vector3.new(9e9,9e9,9e9) vel.Velocity=Vector3.new(0,2,0) -- 初始悬浮 vel.Parent=root gyro=Instance.new("BodyGyro") gyro.MaxTorque=Vector3.new(9e9,9e9,9e9) gyro.P=10000 gyro.CFrame=root.CFrame gyro.Parent=root humanoid.AutoRotate=false else if vel then vel:Destroy() end if gyro then gyro:Destroy() end humanoid.AutoRotate=true end end) RunService.RenderStepped:Connect(function() if flying and vel and gyro then local move = humanoid.MoveDirection local float = Vector3.new(0,2,0) -- 抵消重力 vel.Velocity = move * humanoid.WalkSpeed * 2 + float gyro.CFrame = workspace.CurrentCamera.CFrame end end) -- UP / DOWN upBtn.MouseButton1Click:Connect(function() if flying then vel.Velocity = vel.Velocity + Vector3.new(0,40,0) end end) downBtn.MouseButton1Click:Connect(function() if flying then vel.Velocity = vel.Velocity - Vector3.new(0,40,0) end end) --======================== -- NOCLIP --======================== local noclip=false noclipBtn.MouseButton1Click:Connect(function() noclip=not noclip end) RunService.Stepped:Connect(function() if noclip and character then for _,v in pairs(character:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide=false end end end end) --======================== -- GOD MODE --======================== local god=false godBtn.MouseButton1Click:Connect(function() god=not god end) RunService.Heartbeat:Connect(function() if god and humanoid then humanoid.Health=humanoid.MaxHealth end end)