local Players = game:GetService("Players") local RS = game:GetService("RunService") local UIS = game:GetService("UserInputService") local player = Players.LocalPlayer local parent = (gethui and gethui()) or game:GetService("CoreGui") pcall(function() parent:FindFirstChild("ShowGui"):Destroy() end) local gui = Instance.new("ScreenGui") gui.Name = "ShowGui" gui.ResetOnSpawn = false gui.Parent = parent local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 170, 0, 205) frame.Position = UDim2.new(0.5, -85, 0.2, 0) frame.BackgroundColor3 = Color3.fromRGB(20, 15, 35) frame.Active = true frame.Parent = gui Instance.new("UICorner", frame) local stroke = Instance.new("UIStroke", frame) stroke.Thickness = 2 local bar = Instance.new("TextLabel") bar.Size = UDim2.new(1, -30, 0, 26) bar.BackgroundTransparency = 1 bar.Text = " ✦ SHOW" bar.TextColor3 = Color3.new(1, 1, 1) bar.TextXAlignment = Enum.TextXAlignment.Left bar.Font = Enum.Font.GothamBold bar.TextSize = 14 bar.Active = true bar.Parent = frame local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.new(0, 22, 0, 20) closeBtn.Position = UDim2.new(1, -25, 0, 3) closeBtn.BackgroundColor3 = Color3.fromRGB(170, 50, 50) closeBtn.Text = "X" closeBtn.TextColor3 = Color3.new(1, 1, 1) closeBtn.Parent = frame Instance.new("UICorner", closeBtn) local list = Instance.new("Frame") list.Size = UDim2.new(1, -12, 1, -32) list.Position = UDim2.new(0, 6, 0, 28) list.BackgroundTransparency = 1 list.Parent = frame Instance.new("UIListLayout", list).Padding = UDim.new(0, 5) local dragging, ds, sp bar.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.Touch or i.UserInputType == Enum.UserInputType.MouseButton1 then dragging, ds, sp = true, i.Position, frame.Position i.Changed:Connect(function() if i.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) UIS.InputChanged:Connect(function(i) if dragging and (i.UserInputType == Enum.UserInputType.Touch or i.UserInputType == Enum.UserInputType.MouseMovement) then local d = i.Position - ds frame.Position = UDim2.new(sp.X.Scale, sp.X.Offset + d.X, sp.Y.Scale, sp.Y.Offset + d.Y) end end) local function getChar() local c = player.Character return c and c:FindFirstChildOfClass("Humanoid"), c and c:FindFirstChild("HumanoidRootPart") end local state = {spin = false, orbit = false, fly = false} local flySpeed, orbitCenter, angle = 60, nil, 0 local bv, bg local function stopFly() if bv then bv:Destroy() bv = nil end if bg then bg:Destroy() bg = nil end local hum = getChar() if hum then hum.PlatformStand = false end end local function startFly() local hum, hrp = getChar() if not hum then return end hum.PlatformStand = true bv = Instance.new("BodyVelocity", hrp) bv.MaxForce = Vector3.new(1e9, 1e9, 1e9) bg = Instance.new("BodyGyro", hrp) bg.MaxTorque = Vector3.new(1e9, 1e9, 1e9) bg.P = 9e4 end local hue = 0 RS.Heartbeat:Connect(function(dt) hue = (hue + dt * 0.2) % 1 stroke.Color = Color3.fromHSV(hue, 1, 1) local hum, hrp = getChar() if not hrp then return end if state.fly and bv then local cam = workspace.CurrentCamera local look = Vector3.new(cam.CFrame.LookVector.X, 0, cam.CFrame.LookVector.Z).Unit local right = Vector3.new(cam.CFrame.RightVector.X, 0, cam.CFrame.RightVector.Z).Unit local d = hum.MoveDirection bv.Velocity = (cam.CFrame.LookVector * d:Dot(look) + cam.CFrame.RightVector * d:Dot(right)) * flySpeed bg.CFrame = cam.CFrame end if state.orbit and orbitCenter then angle += dt * 2 local pos = orbitCenter + Vector3.new(math.cos(angle) * 12, 0, math.sin(angle) * 12) hrp.CFrame = CFrame.new(pos) * CFrame.Angles(0, -angle, 0) hrp.AssemblyLinearVelocity = Vector3.zero elseif state.spin and not state.fly then hrp.CFrame = hrp.CFrame * CFrame.Angles(0, math.rad(30), 0) end end) local OFF, ON = Color3.fromRGB(45, 35, 75), Color3.fromRGB(110, 60, 200) local function toggle(name, key, cb) local b = Instance.new("TextButton") b.Size = UDim2.new(1, 0, 0, 30) b.BackgroundColor3 = OFF b.Text = name b.TextColor3 = Color3.new(1, 1, 1) b.Font = Enum.Font.GothamMedium b.TextSize = 13 b.Parent = list Instance.new("UICorner", b) b.MouseButton1Click:Connect(function() state[key] = not state[key] b.BackgroundColor3 = state[key] and ON or OFF if cb then cb(state[key]) end end) end toggle("Voler", "fly", function(on) if on then startFly() else stopFly() end end) toggle("Toupie", "spin") toggle("Cercle autour de moi", "orbit", function(on) local _, hrp = getChar() orbitCenter = on and hrp and hrp.Position or nil end) local sp2 = Instance.new("TextButton") sp2.Size = UDim2.new(1, 0, 0, 30) sp2.BackgroundColor3 = Color3.fromRGB(80, 70, 140) sp2.Text = "Vitesse vol : 60" sp2.TextColor3 = Color3.new(1, 1, 1) sp2.Font = Enum.Font.GothamMedium sp2.TextSize = 13 sp2.Parent = list Instance.new("UICorner", sp2) sp2.MouseButton1Click:Connect(function() flySpeed = flySpeed >= 200 and 30 or flySpeed + 30 sp2.Text = "Vitesse vol : " .. flySpeed end) closeBtn.MouseButton1Click:Connect(function() state.spin, state.orbit, state.fly = false, false, false stopFly() gui:Destroy() end) player.CharacterAdded:Connect(function() state.fly = false stopFly() end)