-- GUI 2 LUA - Fly Rigido estilo Infinite Yield -- -- Xeno Executor | PC + Mobile (joystick nativo) -- MESMO DESIGN, apenas ESCALA MENOR no celular (UIScale) local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer local Camera = workspace.CurrentCamera local IS_MOBILE = UserInputService.TouchEnabled and not UserInputService.KeyboardEnabled -- ============ ESCALA (so isso muda no mobile) ============ local UI_SCALE = IS_MOBILE and 0.62 or 1 -- mobile = 62% do tamanho | PC = 100% -- ============ GUI (MESMO DESIGN ORIGINAL) ============ local ScreenGui_1 = Instance.new("ScreenGui") ScreenGui_1.Name = "FlyVixGui" ScreenGui_1.ResetOnSpawn = false ScreenGui_1.ZIndexBehavior = Enum.ZIndexBehavior.Sibling ScreenGui_1.IgnoreGuiInset = true ScreenGui_1.Parent = LocalPlayer:WaitForChild("PlayerGui") local Frame_1 = Instance.new("Frame") Frame_1.BackgroundColor3 = Color3.fromRGB(94, 94, 94) Frame_1.BackgroundTransparency = 0.5 Frame_1.Parent = ScreenGui_1 Frame_1.Position = UDim2.new(0.715, 0, 0.467, 0) Frame_1.Size = UDim2.new(0, 311, 0, 117) Frame_1.Active = true Frame_1.Draggable = true local UICorner_1 = Instance.new("UICorner", Frame_1) local UIGradient_1 = Instance.new("UIGradient", Frame_1) UIGradient_1.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(24, 24, 24)), ColorSequenceKeypoint.new(0.526, Color3.fromRGB(61, 61, 61)), ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 255, 255)) } UIGradient_1.Rotation = -118 local UIStroke_1 = Instance.new("UIStroke", Frame_1) UIStroke_1.ApplyStrokeMode = Enum.ApplyStrokeMode.Border UIStroke_1.Thickness = 5 local Frame_2 = Instance.new("Frame") Frame_2.BackgroundColor3 = Color3.fromRGB(94, 94, 94) Frame_2.BackgroundTransparency = 0.5 Frame_2.Parent = Frame_1 Frame_2.Position = UDim2.new(0, 8, 0, 49) Frame_2.Size = UDim2.new(0, 85, 0, 53) local UICorner_2 = Instance.new("UICorner", Frame_2) local UIGradient_2 = Instance.new("UIGradient", Frame_2) UIGradient_2.Color = UIGradient_1.Color UIGradient_2.Rotation = -118 local UIStroke_2 = Instance.new("UIStroke", Frame_2) UIStroke_2.ApplyStrokeMode = Enum.ApplyStrokeMode.Border UIStroke_2.Thickness = 5 local counter_1 = Instance.new("TextLabel") counter_1.BackgroundTransparency = 1 counter_1.Name = "counter" counter_1.Parent = Frame_2 counter_1.Size = UDim2.new(1, 0, 1, 0) counter_1.Font = Enum.Font.FredokaOne counter_1.Text = "0" counter_1.TextColor3 = Color3.fromRGB(255, 255, 255) counter_1.TextSize = 49 local UIStroke_3 = Instance.new("UIStroke", counter_1) UIStroke_3.Thickness = 5 -- Botão ATIVAR local actid_1 = Instance.new("ImageButton") actid_1.BackgroundColor3 = Color3.fromRGB(169, 255, 179) actid_1.Name = "actid" actid_1.Parent = Frame_1 actid_1.Position = UDim2.new(0, 250, 0, 50) actid_1.Size = UDim2.new(0, 55, 0, 55) actid_1.ImageTransparency = 1 actid_1.AutoButtonColor = false local UICorner_3 = Instance.new("UICorner", actid_1) local UIStroke_4 = Instance.new("UIStroke", actid_1) UIStroke_4.Thickness = 5 local Frame_3 = Instance.new("Frame") Frame_3.BackgroundColor3 = Color3.fromRGB(4, 255, 0) Frame_3.Parent = actid_1 Frame_3.Position = UDim2.new(0.054, 0, 0.054, 0) Frame_3.Size = UDim2.new(0, 49, 0, 49) local UICorner_4 = Instance.new("UICorner", Frame_3) local Frame_4 = Instance.new("Frame") Frame_4.BackgroundColor3 = Color3.fromRGB(169, 255, 179) Frame_4.Parent = actid_1 Frame_4.Position = UDim2.new(0.054, 0, 0.054, 0) Frame_4.Size = UDim2.new(0, 49, 0, 23) local UICorner_5 = Instance.new("UICorner", Frame_4) local TextLabel_1 = Instance.new("TextLabel") TextLabel_1.BackgroundTransparency = 1 TextLabel_1.Parent = actid_1 TextLabel_1.Size = UDim2.new(1, 0, 1, 0) TextLabel_1.Font = Enum.Font.FredokaOne TextLabel_1.Text = "O" TextLabel_1.TextColor3 = Color3.fromRGB(255, 255, 255) TextLabel_1.TextSize = 43 local UIStroke_5 = Instance.new("UIStroke", TextLabel_1) UIStroke_5.Thickness = 5 -- Botão SPEED - local speedMinus = Instance.new("ImageButton") speedMinus.BackgroundColor3 = Color3.fromRGB(253, 255, 149) speedMinus.Name = "speedMinus" speedMinus.Parent = Frame_1 speedMinus.Position = UDim2.new(0, 180, 0, 50) speedMinus.Size = UDim2.new(0, 55, 0, 55) speedMinus.ImageTransparency = 1 speedMinus.AutoButtonColor = false local UICorner_6 = Instance.new("UICorner", speedMinus) local UIStroke_6 = Instance.new("UIStroke", speedMinus) UIStroke_6.Thickness = 5 local Frame_5 = Instance.new("Frame") Frame_5.BackgroundColor3 = Color3.fromRGB(255, 238, 0) Frame_5.Parent = speedMinus Frame_5.Position = UDim2.new(0.054, 0, 0.054, 0) Frame_5.Size = UDim2.new(0, 49, 0, 49) local UICorner_7 = Instance.new("UICorner", Frame_5) local Frame_6 = Instance.new("Frame") Frame_6.BackgroundColor3 = Color3.fromRGB(253, 255, 149) Frame_6.Parent = speedMinus Frame_6.Position = UDim2.new(0.054, 0, 0.054, 0) Frame_6.Size = UDim2.new(0, 49, 0, 23) local UICorner_8 = Instance.new("UICorner", Frame_6) local TextLabel_2 = Instance.new("TextLabel") TextLabel_2.BackgroundTransparency = 1 TextLabel_2.Parent = speedMinus TextLabel_2.Size = UDim2.new(1, 0, 1, 0) TextLabel_2.Font = Enum.Font.FredokaOne TextLabel_2.Text = "-" TextLabel_2.TextColor3 = Color3.fromRGB(255, 255, 255) TextLabel_2.TextSize = 58 local UIStroke_7 = Instance.new("UIStroke", TextLabel_2) UIStroke_7.Thickness = 5 -- Botão SPEED + local speedPlus = Instance.new("ImageButton") speedPlus.BackgroundColor3 = Color3.fromRGB(169, 170, 255) speedPlus.Name = "speedPlus" speedPlus.Parent = Frame_1 speedPlus.Position = UDim2.new(0, 110, 0, 50) speedPlus.Size = UDim2.new(0, 55, 0, 55) speedPlus.ImageTransparency = 1 speedPlus.AutoButtonColor = false local UICorner_9 = Instance.new("UICorner", speedPlus) local UIStroke_8 = Instance.new("UIStroke", speedPlus) UIStroke_8.Thickness = 5 local Frame_7 = Instance.new("Frame") Frame_7.BackgroundColor3 = Color3.fromRGB(8, 0, 255) Frame_7.Parent = speedPlus Frame_7.Position = UDim2.new(0.054, 0, 0.054, 0) Frame_7.Size = UDim2.new(0, 49, 0, 49) local UICorner_10 = Instance.new("UICorner", Frame_7) local Frame_8 = Instance.new("Frame") Frame_8.BackgroundColor3 = Color3.fromRGB(169, 170, 255) Frame_8.Parent = speedPlus Frame_8.Position = UDim2.new(0.054, 0, 0.054, 0) Frame_8.Size = UDim2.new(0, 49, 0, 23) local UICorner_11 = Instance.new("UICorner", Frame_8) local TextLabel_3 = Instance.new("TextLabel") TextLabel_3.BackgroundTransparency = 1 TextLabel_3.Parent = speedPlus TextLabel_3.Size = UDim2.new(1, 0, 1, 0) TextLabel_3.Font = Enum.Font.FredokaOne TextLabel_3.Text = "+" TextLabel_3.TextColor3 = Color3.fromRGB(255, 255, 255) TextLabel_3.TextSize = 43 local UIStroke_9 = Instance.new("UIStroke", TextLabel_3) UIStroke_9.Thickness = 5 -- Imagem decorativa local ImageLabel_1 = Instance.new("ImageLabel") ImageLabel_1.BackgroundTransparency = 1 ImageLabel_1.Parent = Frame_1 ImageLabel_1.Position = UDim2.new(-0.147, 0, -0.422, 0) ImageLabel_1.Rotation = 26 ImageLabel_1.Size = UDim2.new(0, 100, 0, 106) ImageLabel_1.Image = "rbxassetid://7971626465" -- Botão FECHAR local cloze_1 = Instance.new("ImageButton") cloze_1.BackgroundColor3 = Color3.fromRGB(255, 90, 90) cloze_1.Name = "cloze" cloze_1.Parent = Frame_1 cloze_1.Position = UDim2.new(0.941, 0, -0.193, 0) cloze_1.Size = UDim2.new(0, 55, 0, 55) cloze_1.ImageTransparency = 1 cloze_1.AutoButtonColor = false local UICorner_12 = Instance.new("UICorner", cloze_1) local UIStroke_10 = Instance.new("UIStroke", cloze_1) UIStroke_10.Thickness = 5 local Frame_9 = Instance.new("Frame") Frame_9.BackgroundColor3 = Color3.fromRGB(255, 0, 0) Frame_9.Parent = cloze_1 Frame_9.Position = UDim2.new(0.054, 0, 0.054, 0) Frame_9.Size = UDim2.new(0, 49, 0, 49) local UICorner_13 = Instance.new("UICorner", Frame_9) local Frame_10 = Instance.new("Frame") Frame_10.BackgroundColor3 = Color3.fromRGB(255, 90, 90) Frame_10.Parent = cloze_1 Frame_10.Position = UDim2.new(0.054, 0, 0.054, 0) Frame_10.Size = UDim2.new(0, 49, 0, 23) local UICorner_14 = Instance.new("UICorner", Frame_10) local TextLabel_4 = Instance.new("TextLabel") TextLabel_4.BackgroundTransparency = 1 TextLabel_4.Parent = cloze_1 TextLabel_4.Size = UDim2.new(1, 0, 1, 0) TextLabel_4.Font = Enum.Font.FredokaOne TextLabel_4.Text = "X" TextLabel_4.TextColor3 = Color3.fromRGB(255, 255, 255) TextLabel_4.TextSize = 43 local UIStroke_11 = Instance.new("UIStroke", TextLabel_4) UIStroke_11.Thickness = 5 -- Título local TextLabel_5 = Instance.new("TextLabel") TextLabel_5.BackgroundTransparency = 1 TextLabel_5.Parent = Frame_1 TextLabel_5.Position = UDim2.new(0.061, 0, -0.008, 0) TextLabel_5.Size = UDim2.new(0.5, 0, 0.4, 0) TextLabel_5.Font = Enum.Font.FredokaOne TextLabel_5.Text = "FlyVix" TextLabel_5.TextColor3 = Color3.fromRGB(255, 255, 255) TextLabel_5.TextSize = 46 local UIStroke_12 = Instance.new("UIStroke", TextLabel_5) UIStroke_12.Thickness = 4.3 -- ============ ESCALA (aplica em tudo de uma vez) ============ -- UIScale comprime o menu inteiro mantendo o design 100% intacto local uiScale = Instance.new("UIScale") uiScale.Scale = UI_SCALE uiScale.Parent = Frame_1 -- ============ LÓGICA DE FLY ============ local flyActive = false local displayValue = 0 local SPEED_STEP = 1 local MULTIPLIER = 100 local MAX_DISPLAY = 50 local flyConnection = nil local currentBV = nil local currentBG = nil local originalPlatformStand = false local originalGravity = workspace.Gravity local function updateCounter() counter_1.Text = tostring(displayValue) end local function getRealSpeed() return displayValue * MULTIPLIER end local function createFlyInstances() local character = LocalPlayer.Character if not character then return false end local hrp = character:FindFirstChild("HumanoidRootPart") local humanoid = character:FindFirstChildOfClass("Humanoid") if not hrp or not humanoid then return false end if currentBV then currentBV:Destroy() end if currentBG then currentBG:Destroy() end currentBV = Instance.new("BodyVelocity") currentBV.Name = "FlyVix_BV" currentBV.MaxForce = Vector3.new(math.huge, math.huge, math.huge) currentBV.Velocity = Vector3.new(0, 0, 0) currentBV.P = 1250 currentBV.Parent = hrp currentBG = Instance.new("BodyGyro") currentBG.Name = "FlyVix_BG" currentBG.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) currentBG.P = 30000 currentBG.D = 500 currentBG.CFrame = hrp.CFrame currentBG.Parent = hrp humanoid.PlatformStand = true return true end local function removeFlyInstances() if currentBV then currentBV:Destroy() currentBV = nil end if currentBG then currentBG:Destroy() currentBG = nil end local character = LocalPlayer.Character if character then local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.PlatformStand = originalPlatformStand end end workspace.Gravity = originalGravity end -- Direcao via joystick nativo (mobile) / WASD (PC) local function getMoveDirection() local character = LocalPlayer.Character if not character then return Vector3.new(0, 0, 0) end local humanoid = character:FindFirstChildOfClass("Humanoid") if not humanoid then return Vector3.new(0, 0, 0) end local moveDir = humanoid.MoveDirection if moveDir.Magnitude > 0 then return moveDir.Unit end if not IS_MOBILE then local moveVector = Vector3.new(0, 0, 0) if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveVector = moveVector + Vector3.new(0, 1, 0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) or UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then moveVector = moveVector - Vector3.new(0, 1, 0) end if moveVector.Magnitude > 0 then return moveVector.Unit end end return Vector3.new(0, 0, 0) end local function startFly() if flyConnection then flyConnection:Disconnect() end local character = LocalPlayer.Character if character then local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid then originalPlatformStand = humanoid.PlatformStand end end originalGravity = workspace.Gravity if not createFlyInstances() then return end workspace.Gravity = 0 flyConnection = RunService.RenderStepped:Connect(function() if not flyActive then return end local char = LocalPlayer.Character if not char then return end local hrp = char:FindFirstChild("HumanoidRootPart") if not hrp then return end if not currentBV or not currentBV.Parent or not currentBG or not currentBG.Parent then createFlyInstances() if not currentBV then return end end local dir = getMoveDirection() currentBV.Velocity = dir * getRealSpeed() currentBG.CFrame = Camera.CFrame end) end local function stopFly() if flyConnection then flyConnection:Disconnect() flyConnection = nil end removeFlyInstances() end local function toggleFly() flyActive = not flyActive if flyActive then Frame_4.BackgroundColor3 = Color3.fromRGB(4, 255, 0) Frame_3.BackgroundColor3 = Color3.fromRGB(0, 100, 0) TextLabel_1.Text = "I" startFly() else Frame_4.BackgroundColor3 = Color3.fromRGB(169, 255, 179) Frame_3.BackgroundColor3 = Color3.fromRGB(4, 255, 0) TextLabel_1.Text = "O" stopFly() end end -- ============ EVENTOS ============ actid_1.MouseButton1Click:Connect(toggleFly) speedPlus.MouseButton1Click:Connect(function() displayValue = math.min(displayValue + SPEED_STEP, MAX_DISPLAY) updateCounter() end) speedMinus.MouseButton1Click:Connect(function() displayValue = math.max(displayValue - SPEED_STEP, 0) updateCounter() end) cloze_1.MouseButton1Click:Connect(function() stopFly() ScreenGui_1:Destroy() end) LocalPlayer.CharacterAdded:Connect(function() if flyActive then stopFly() flyActive = false Frame_4.BackgroundColor3 = Color3.fromRGB(169, 255, 179) Frame_3.BackgroundColor3 = Color3.fromRGB(4, 255, 0) TextLabel_1.Text = "O" end end) UserInputService.InputBegan:Connect(function(input, gpe) if gpe then return end if input.KeyCode == Enum.KeyCode.F then toggleFly() elseif input.KeyCode == Enum.KeyCode.E then displayValue = math.min(displayValue + SPEED_STEP, MAX_DISPLAY) updateCounter() elseif input.KeyCode == Enum.KeyCode.Q then displayValue = math.max(displayValue - SPEED_STEP, 0) updateCounter() end end) updateCounter() print("[FlyVix] Menu carregado! Design original, escala mobile = " .. UI_SCALE) print("Display 1 = velocidade 100 | Passo 1 em 1 | Comeca em 0") if IS_MOBILE then print("Use o JOYSTICK do Roblox pra voar") else print("WASD = mover | Space = subir | Ctrl/Shift = descer") end