
Key Required

-- LocalScript (StarterPlayerScripts)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")
local player = Players.LocalPlayer
-- GUI
local gui = Instance.new("ScreenGui")
gui.Name = "FlyGui"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")
-- Fundo preto
local main = Instance.new("Frame")
main.Size = UDim2.new(0,300,0,220)
main.Position = UDim2.new(0.5,-150,0.5,-110)
main.BackgroundColor3 = Color3.fromRGB(0,0,0)
main.Active = true
main.Parent = gui
Instance.new("UICorner", main).CornerRadius = UDim.new(0,20)
-- Barra superior arrastável
local topBar = Instance.new("Frame")
topBar.Size = UDim2.new(1,0,0,50)
topBar.Position = UDim2.new(0,0,0,0)
topBar.BackgroundColor3 = Color3.fromRGB(20,20,20)
topBar.Parent = main
Instance.new("UICorner", topBar).CornerRadius = UDim.new(0,20)
topBar.Active = true
-- Drag
local dragging = false
local dragStart, startPos
topBar.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = main.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
local delta = input.Position - dragStart
main.Position = UDim2.new(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
end
end)
-- Botão arco-íris
local flyBtn = Instance.new("TextButton")
flyBtn.Size = UDim2.new(0.9,0,0,80)
flyBtn.Position = UDim2.new(0.05,0,0.3,0)
flyBtn.Text = "Fly/Remove"
flyBtn.TextScaled = true
flyBtn.Parent = main
flyBtn.BackgroundColor3 = Color3.fromRGB(255,255,255)
Instance.new("UICorner", flyBtn).CornerRadius = UDim.new(0,25)
-- Label inferior
local label = Instance.new("TextLabel")
label.Size = UDim2.new(1,0,0,30)
label.Position = UDim2.new(0,0,0.85,0)
label.BackgroundTransparency = 1
label.Text = "Youtube: LoginEditXZ"
label.TextScaled = true
label.TextColor3 = Color3.fromRGB(255,255,255)
label.Parent = main
-- Animação arco-íris do botão
RunService.RenderStepped:Connect(function()
local hue = tick()%1
local color = Color3.fromHSV(hue,1,1)
flyBtn.BackgroundColor3 = color
end)
-- Plataforma visível arco-íris
local platform
local flying = false
flyBtn.MouseButton1Click:Connect(function()
local char = player.Character or player.CharacterAdded:Wait()
local hrp = char:WaitForChild("HumanoidRootPart")
if not flying then
flying = true
-- Cria plataforma abaixo do personagem
platform = Instance.new("Part")
platform.Size = Vector3.new(15,1,15)
platform.Anchored = false
platform.CanCollide = true
platform.Material = Enum.Material.Neon
platform.Position = hrp.Position - Vector3.new(0,3,0)
platform.Parent = Workspace
-- Colar no personagem
local attachP = Instance.new("Attachment", platform)
local attachH = Instance.new("Attachment", hrp)
local alignPos = Instance.new("AlignPosition", platform)
alignPos.Attachment0 = attachP
alignPos.Attachment1 = attachH
alignPos.RigidityEnabled = true
alignPos.MaxForce = 2000 -- velocidade suave
alignPos.Responsiveness = 5 -- suavidade
alignPos.ReactionForceEnabled = false
-- Plataforma arco-íris
RunService.RenderStepped:Connect(function()
if flying and platform then
platform.Color = Color3.fromHSV(tick()%1,1,1)
end
end)
else
flying = false
if platform then
platform:Destroy()
end
end
end)



I'm try it if it's good imma like the script
its just a ui for a fly scrpt. doesnt work tho