
KeylessUniversal

--// FLY + JOYSTICK + RAINBOW GUI + NOCLIP + INF JUMP + ANCHOR + SPEED HACK + RAINBOW ESP //--
--// Optimized Edition //--
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local CoreGui = game:GetService("CoreGui")
local player = Players.LocalPlayer
local camera = workspace.CurrentCamera
--// Налаштування //--
local SPEED = 60
local SMOOTHNESS = 0.15
local JOYSTICK_RADIUS = 60
local FLY_MAX = 1000
local WALK_MAX = 1000
--// Стан //--
local flying = false
local noclip = false
local infJump = false
local anchored = false
local walkSpeed = 16
local guiVisible = true
local espEnabled = false
local espConnections = {}
local velocity = Vector3.zero
local bodyVelocity, bodyGyro
--// Джойстик-стан //--
local joyActive = false
local joyInput = Vector2.zero
local joyTouch = nil
--// ---------- GUI ---------- //
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "FlyGui_" .. tostring(math.random(1, 999999))
screenGui.ResetOnSpawn = false
screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
screenGui.IgnoreGuiInset = true
screenGui.Parent = (RunService:IsStudio() and player:WaitForChild("PlayerGui")) or CoreGui
--// ===== ГОЛОВНА ПАНЕЛЬ ===== //
local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 230, 0, 490)
mainFrame.Position = UDim2.new(0.02, 0, 0.15, 0)
mainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 30)
mainFrame.BackgroundTransparency = 0.1
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Parent = screenGui
Instance.new("UICorner", mainFrame).CornerRadius = UDim.new(0, 14)
--// Кругла кнопка закриття //--
local closeBtn = Instance.new("TextButton")
closeBtn.Name = "CloseBtn"
closeBtn.Size = UDim2.new(0, 28, 0, 28)
closeBtn.Position = UDim2.new(1, -34, 0, 6)
closeBtn.BackgroundColor3 = Color3.fromRGB(255, 60, 60)
closeBtn.Text = "✕"
closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 14
closeBtn.BorderSizePixel = 0
closeBtn.ZIndex = 10
closeBtn.Parent = mainFrame
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(1, 0)
local closeStroke = Instance.new("UIStroke")
closeStroke.Thickness = 2
closeStroke.Color = Color3.fromRGB(255, 150, 150)
closeStroke.Parent = closeBtn
--// Райдужна обводка панелі //--
local stroke = Instance.new("UIStroke")
stroke.Thickness = 2.5
stroke.Color = Color3.fromRGB(255, 0, 0)
stroke.Parent = mainFrame
local strokeGradient = Instance.new("UIGradient")
strokeGradient.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0.00, Color3.fromRGB(255, 0, 0)),
ColorSequenceKeypoint.new(0.17, Color3.fromRGB(255, 165, 0)),
ColorSequenceKeypoint.new(0.33, Color3.fromRGB(255, 255, 0)),
ColorSequenceKeypoint.new(0.50, Color3.fromRGB(0, 255, 0)),
ColorSequenceKeypoint.new(0.67, Color3.fromRGB(0, 200, 255)),
ColorSequenceKeypoint.new(0.83, Color3.fromRGB(130, 0, 255)),
ColorSequenceKeypoint.new(1.00, Color3.fromRGB(255, 0, 0)),
})
strokeGradient.Parent = stroke
--// Заголовок //--
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 34)
title.BackgroundTransparency = 1
title.Text = "🌈 FLY CONTROL 🌈"
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.Font = Enum.Font.GothamBold
title.TextSize = 18
title.Parent = mainFrame
--// Кнопка Fly //--
local toggleBtn = Instance.new("TextButton")
toggleBtn.Size = UDim2.new(0.9, 0, 0, 38)
toggleBtn.Position = UDim2.new(0.05, 0, 0.10, 0)
toggleBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 65)
toggleBtn.Text = "✈ FLY: OFF"
toggleBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
toggleBtn.Font = Enum.Font.GothamBold
toggleBtn.TextSize = 15
toggleBtn.BorderSizePixel = 0
toggleBtn.Parent = mainFrame
Instance.new("UICorner", toggleBtn).CornerRadius = UDim.new(0, 10)
local toggleStroke = Instance.new("UIStroke")
toggleStroke.Thickness = 2
toggleStroke.Color = Color3.fromRGB(255, 80, 80)
toggleStroke.Parent = toggleBtn
--// Кнопка Noclip //--
local noclipBtn = Instance.new("TextButton")
noclipBtn.Size = UDim2.new(0.9, 0, 0, 38)
noclipBtn.Position = UDim2.new(0.05, 0, 0.20, 0)
noclipBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 65)
noclipBtn.Text = "🚪 NOCLIP: OFF"
noclipBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
noclipBtn.Font = Enum.Font.GothamBold
noclipBtn.TextSize = 15
noclipBtn.BorderSizePixel = 0
noclipBtn.Parent = mainFrame
Instance.new("UICorner", noclipBtn).CornerRadius = UDim.new(0, 10)
local noclipStroke = Instance.new("UIStroke")
noclipStroke.Thickness = 2
noclipStroke.Color = Color3.fromRGB(255, 80, 80)
noclipStroke.Parent = noclipBtn
--// Кнопка Infinity Jump //--
local infJumpBtn = Instance.new("TextButton")
infJumpBtn.Size = UDim2.new(0.9, 0, 0, 38)
infJumpBtn.Position = UDim2.new(0.05, 0, 0.30, 0)
infJumpBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 65)
infJumpBtn.Text = "🦘 INF JUMP: OFF"
infJumpBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
infJumpBtn.Font = Enum.Font.GothamBold
infJumpBtn.TextSize = 15
infJumpBtn.BorderSizePixel = 0
infJumpBtn.Parent = mainFrame
Instance.new("UICorner", infJumpBtn).CornerRadius = UDim.new(0, 10)
local infJumpStroke = Instance.new("UIStroke")
infJumpStroke.Thickness = 2
infJumpStroke.Color = Color3.fromRGB(255, 80, 80)
infJumpStroke.Parent = infJumpBtn
--// Кнопка Anchor //--
local anchorBtn = Instance.new("TextButton")
anchorBtn.Size = UDim2.new(0.9, 0, 0, 38)
anchorBtn.Position = UDim2.new(0.05, 0, 0.40, 0)
anchorBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 65)
anchorBtn.Text = "🧊 ANCHOR: OFF"
anchorBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
anchorBtn.Font = Enum.Font.GothamBold
anchorBtn.TextSize = 15
anchorBtn.BorderSizePixel = 0
anchorBtn.Parent = mainFrame
Instance.new("UICorner", anchorBtn).CornerRadius = UDim.new(0, 10)
local anchorStroke = Instance.new("UIStroke")
anchorStroke.Thickness = 2
anchorStroke.Color = Color3.fromRGB(255, 80, 80)
anchorStroke.Parent = anchorBtn
--// Кнопка ESP //--
local espBtn = Instance.new("TextButton")
espBtn.Size = UDim2.new(0.9, 0, 0, 38)
espBtn.Position = UDim2.new(0.05, 0, 0.50, 0)
espBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 65)
espBtn.Text = "👁 ESP: OFF"
espBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
espBtn.Font = Enum.Font.GothamBold
espBtn.TextSize = 15
espBtn.BorderSizePixel = 0
espBtn.Parent = mainFrame
Instance.new("UICorner", espBtn).CornerRadius = UDim.new(0, 10)
local espStroke = Instance.new("UIStroke")
espStroke.Thickness = 2
espStroke.Color = Color3.fromRGB(255, 80, 80)
espStroke.Parent = espBtn
--// Fly Speed label //--
local speedLabel = Instance.new("TextLabel")
speedLabel.Size = UDim2.new(0.9, 0, 0, 20)
speedLabel.Position = UDim2.new(0.05, 0, 0.61, 0)
speedLabel.BackgroundTransparency = 1
speedLabel.Text = "⚡ Fly Speed: 60"
speedLabel.TextColor3 = Color3.fromRGB(220, 220, 255)
speedLabel.Font = Enum.Font.Gotham
speedLabel.TextSize = 14
speedLabel.Parent = mainFrame
--// Fly Speed buttons //--
local function makeSpeedBtn(text, xPos, callback)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0.42, 0, 0, 30)
btn.Position = UDim2.new(xPos, 0, 0.70, 0)
btn.BackgroundColor3 = Color3.fromRGB(55, 55, 85)
btn.Text = text
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
btn.Font = Enum.Font.GothamBold
btn.TextSize = 18
btn.BorderSizePixel = 0
btn.Parent = mainFrame
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8)
local s = Instance.new("UIStroke")
s.Thickness = 1.5
s.Color = Color3.fromRGB(120, 120, 200)
s.Parent = btn
btn.MouseButton1Click:Connect(callback)
return btn
end
makeSpeedBtn("−", 0.05, function()
SPEED = math.max(SPEED - 10, 10)
speedLabel.Text = "⚡ Fly Speed: " .. SPEED
end)
makeSpeedBtn("+", 0.53, function()
SPEED = math.min(SPEED + 10, FLY_MAX)
speedLabel.Text = "⚡ Fly Speed: " .. SPEED
end)
--// Walk Speed label //--
local speedHackLabel = Instance.new("TextLabel")
speedHackLabel.Size = UDim2.new(0.9, 0, 0, 20)
speedHackLabel.Position = UDim2.new(0.05, 0, 0.79, 0)
speedHackLabel.BackgroundTransparency = 1
speedHackLabel.Text = "🏃 WalkSpeed: 16"
speedHackLabel.TextColor3 = Color3.fromRGB(255, 220, 180)
speedHackLabel.Font = Enum.Font.Gotham
speedHackLabel.TextSize = 14
speedHackLabel.Parent = mainFrame
--// Walk Speed buttons //--
local function makeWalkBtn(text, xPos, callback)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0.42, 0, 0, 30)
btn.Position = UDim2.new(xPos, 0, 0.88, 0)
btn.BackgroundColor3 = Color3.fromRGB(80, 60, 40)
btn.Text = text
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
btn.Font = Enum.Font.GothamBold
btn.TextSize = 18
btn.BorderSizePixel = 0
btn.Parent = mainFrame
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8)
local s = Instance.new("UIStroke")
s.Thickness = 1.5
s.Color = Color3.fromRGB(255, 180, 80)
s.Parent = btn
btn.MouseButton1Click:Connect(callback)
return btn
end
makeWalkBtn("−", 0.05, function()
walkSpeed = math.max(walkSpeed - 10, 16)
local char = player.Character
local humanoid = char and char:FindFirstChildOfClass("Humanoid")
if humanoid then humanoid.WalkSpeed = walkSpeed end
speedHackLabel.Text = "🏃 WalkSpeed: " .. walkSpeed
end)
makeWalkBtn("+", 0.53, function()
walkSpeed = math.min(walkSpeed + 10, WALK_MAX)
local char = player.Character
local humanoid = char and char:FindFirstChildOfClass("Humanoid")
if humanoid then humanoid.WalkSpeed = walkSpeed end
speedHackLabel.Text = "🏃 WalkSpeed: " .. walkSpeed
end)
--// ---------- ДЖОЙСТИК (схований за замовчуванням) ---------- //
local joystickGui = Instance.new("Frame")
joystickGui.Name = "Joystick"
joystickGui.Size = UDim2.new(0, JOYSTICK_RADIUS * 2.2, 0, JOYSTICK_RADIUS * 2.2)
joystickGui.Position = UDim2.new(0, 30, 1, -JOYSTICK_RADIUS * 2.2 - 30)
joystickGui.BackgroundColor3 = Color3.fromRGB(20, 20, 30)
joystickGui.BackgroundTransparency = 0.4
joystickGui.BorderSizePixel = 0
joystickGui.Active = true
joystickGui.Parent = screenGui
joystickGui.Visible = false
Instance.new("UICorner", joystickGui).CornerRadius = UDim.new(1, 0)
local joyStroke = Instance.new("UIStroke")
joyStroke.Thickness = 2.5
joyStroke.Color = Color3.fromRGB(255, 0, 255)
joyStroke.Parent = joystickGui
local joyGradient = Instance.new("UIGradient")
joyGradient.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0.00, Color3.fromRGB(255, 0, 0)),
ColorSequenceKeypoint.new(0.25, Color3.fromRGB(255, 255, 0)),
ColorSequenceKeypoint.new(0.50, Color3.fromRGB(0, 255, 0)),
ColorSequenceKeypoint.new(0.75, Color3.fromRGB(0, 200, 255)),
ColorSequenceKeypoint.new(1.00, Color3.fromRGB(255, 0, 0)),
})
joyGradient.Parent = joyStroke
local joyKnob = Instance.new("Frame")
joyKnob.Size = UDim2.new(0, JOYSTICK_RADIUS, 0, JOYSTICK_RADIUS)
joyKnob.Position = UDim2.new(0.5, -JOYSTICK_RADIUS/2, 0.5, -JOYSTICK_RADIUS/2)
joyKnob.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
joyKnob.BackgroundTransparency = 0.15
joyKnob.BorderSizePixel = 0
joyKnob.Parent = joystickGui
Instance.new("UICorner", joyKnob).CornerRadius = UDim.new(1, 0)
local knobStroke = Instance.new("UIStroke")
knobStroke.Thickness = 2
knobStroke.Color = Color3.fromRGB(255, 255, 255)
knobStroke.Parent = joyKnob
local knobGradient = Instance.new("UIGradient")
knobGradient.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0.00, Color3.fromRGB(255, 100, 100)),
ColorSequenceKeypoint.new(0.50, Color3.fromRGB(100, 255, 100)),
ColorSequenceKeypoint.new(1.00, Color3.fromRGB(100, 100, 255)),
})
knobGradient.Rotation = 45
knobGradient.Parent = joyKnob
local joyCenter = Instance.new("TextLabel")
joyCenter.Size = UDim2.new(1, 0, 1, 0)
joyCenter.BackgroundTransparency = 1
joyCenter.Text = "🕹"
joyCenter.TextSize = 22
joyCenter.Font = Enum.Font.GothamBold
joyCenter.TextColor3 = Color3.fromRGB(255, 255, 255)
joyCenter.ZIndex = 0
joyCenter.Parent = joystickGui
--// ---------- ЛОГІКА ДЖОЙСТИКА ---------- //
local function updateJoystick(inputPos)
local center = joystickGui.AbsolutePosition + joystickGui.AbsoluteSize / 2
local delta = inputPos - center
local maxDist = joystickGui.AbsoluteSize.X / 2
if delta.Magnitude > maxDist then
delta = delta.Unit * maxDist
end
joyKnob.Position = UDim2.new(0.5, delta.X - JOYSTICK_RADIUS/2, 0.5, delta.Y - JOYSTICK_RADIUS/2)
joyInput = Vector2.new(delta.X / maxDist, delta.Y / maxDist)
end
local function resetJoystick()
joyInput = Vector2.zero
joyActive = false
joyTouch = nil
joyKnob.Position = UDim2.new(0.5, -JOYSTICK_RADIUS/2, 0.5, -JOYSTICK_RADIUS/2)
end
joystickGui.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
joyActive = true
joyTouch = input
updateJoystick(Vector2.new(input.Position.X, input.Position.Y))
end
end)
UserInputService.InputChanged:Connect(function(input)
if not joyActive then return end
if input == joyTouch or input.UserInputType == Enum.UserInputType.Touch then
if joyTouch and input.UserInputType == Enum.UserInputType.Touch and input ~= joyTouch then return end
updateJoystick(Vector2.new(input.Position.X, input.Position.Y))
end
end)
UserInputService.InputEnded:Connect(function(input)
if input == joyTouch then
resetJoystick()
end
end)
--// ---------- ПОЛІТ ---------- //
local function createBodyMovers()
local char = player.Character
if not char then return end
local hrp = char:FindFirstChild("HumanoidRootPart")
if not hrp then return end
if bodyVelocity then bodyVelocity:Destroy() end
if bodyGyro then bodyGyro:Destroy() end
bodyVelocity = Instance.new("BodyVelocity")
bodyVelocity.MaxForce = Vector3.new(1e5, 1e5, 1e5)
bodyVelocity.Velocity = Vector3.zero
bodyVelocity.Parent = hrp
bodyGyro = Instance.new("BodyGyro")
bodyGyro.MaxTorque = Vector3.new(1e5, 1e5, 1e5)
bodyGyro.P = 1000
bodyGyro.D = 50
bodyGyro.CFrame = hrp.CFrame
bodyGyro.Parent = hrp
end
local function destroyBodyMovers()
if bodyVelocity then bodyVelocity:Destroy() bodyVelocity = nil end
if bodyGyro then bodyGyro:Destroy() bodyGyro = nil end
end
local function startFly()
flying = true
toggleBtn.Text = "✈ FLY: ON"
toggleBtn.TextColor3 = Color3.fromRGB(100, 255, 150)
toggleStroke.Color = Color3.fromRGB(80, 255, 120)
createBodyMovers()
if guiVisible then
joystickGui.Visible = true
end
end
local function stopFly()
flying = false
toggleBtn.Text = "✈ FLY: OFF"
toggleBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
toggleStroke.Color = Color3.fromRGB(255, 80, 80)
velocity = Vector3.zero
destroyBodyMovers()
joystickGui.Visible = false
resetJoystick()
end
toggleBtn.MouseButton1Click:Connect(function()
if flying then stopFly() else startFly() end
end)
--// ---------- NOCLIP ---------- //
local function setNoclip(state)
noclip = state
if state then
noclipBtn.Text = "🚪 NOCLIP: ON"
noclipBtn.TextColor3 = Color3.fromRGB(100, 255, 150)
noclipStroke.Color = Color3.fromRGB(80, 255, 120)
else
noclipBtn.Text = "🚪 NOCLIP: OFF"
noclipBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
noclipStroke.Color = Color3.fromRGB(255, 80, 80)
local char = player.Character
if char then
for _, part in ipairs(char:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = true
end
end
end
end
end
noclipBtn.MouseButton1Click:Connect(function()
setNoclip(not noclip)
end)
task.spawn(function()
while task.wait(0.2) do
if noclip then
local char = player.Character
if char then
for _, part in ipairs(char:GetDescendants()) do
if part:IsA("BasePart") and part.CanCollide then
part.CanCollide = false
end
end
end
end
end
end)
--// ---------- INFINITY JUMP ---------- //
local function setInfJump(state)
infJump = state
if state then
infJumpBtn.Text = "🦘 INF JUMP: ON"
infJumpBtn.TextColor3 = Color3.fromRGB(100, 255, 150)
infJumpStroke.Color = Color3.fromRGB(80, 255, 120)
else
infJumpBtn.Text = "🦘 INF JUMP: OFF"
infJumpBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
infJumpStroke.Color = Color3.fromRGB(255, 80, 80)
end
end
infJumpBtn.MouseButton1Click:Connect(function()
setInfJump(not infJump)
end)
UserInputService.JumpRequest:Connect(function()
if not infJump then return end
local char = player.Character
if not char then return end
local humanoid = char:FindFirstChildOfClass("Humanoid")
if not humanoid then return end
humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, true)
humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
end)
task.spawn(function()
while task.wait(0.05) do
if infJump then
local char = player.Character
if char then
local humanoid = char:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, true)
if humanoid.Jump == true then
humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
end
end
end
end
end
end)
--// ---------- ANCHOR ---------- //
local function setAnchor(state)
anchored = state
local char = player.Character
local hrp = char and char:FindFirstChild("HumanoidRootPart")
if not hrp then return end
if state then
anchorBtn.Text = "🧊 ANCHOR: ON"
anchorBtn.TextColor3 = Color3.fromRGB(100, 255, 150)
anchorStroke.Color = Color3.fromRGB(80, 255, 120)
hrp.Anchored = true
else
anchorBtn.Text = "🧊 ANCHOR: OFF"
anchorBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
anchorStroke.Color = Color3.fromRGB(255, 80, 80)
hrp.Anchored = false
end
end
anchorBtn.MouseButton1Click:Connect(function()
setAnchor(not anchored)
end)
--// ---------- RAINBOW ESP ---------- //
local function createESP(target)
if target == player then return end
if espConnections[target] then return end
local char = target.Character
if not char then return end
local hrp = char:FindFirstChild("HumanoidRootPart")
if not hrp then return end
local highlight = Instance.new("Highlight")
highlight.Name = "RainbowESP"
highlight.Adornee = char
highlight.FillTransparency = 0.6
highlight.OutlineTransparency = 0
highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
highlight.FillColor = Color3.fromRGB(255, 0, 0)
highlight.OutlineColor = Color3.fromRGB(255, 0, 0)
highlight.Parent = char
local billboard = Instance.new("BillboardGui")
billboard.Name = "ESPTag"
billboard.Size = UDim2.new(0, 200, 0, 50)
billboard.StudsOffset = Vector3.new(0, 3, 0)
billboard.AlwaysOnTop = true
billboard.Parent = hrp
local nameLabel = Instance.new("TextLabel")
nameLabel.Size = UDim2.new(1, 0, 0.5, 0)
nameLabel.BackgroundTransparency = 1
nameLabel.Text = target.Name
nameLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
nameLabel.TextStrokeTransparency = 0
nameLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
nameLabel.Font = Enum.Font.GothamBold
nameLabel.TextSize = 14
nameLabel.Parent = billboard
local distLabel = Instance.new("TextLabel")
distLabel.Size = UDim2.new(1, 0, 0.5, 0)
distLabel.Position = UDim2.new(0, 0, 0.5, 0)
distLabel.BackgroundTransparency = 1
distLabel.Text = ""
distLabel.TextColor3 = Color3.fromRGB(200, 200, 255)
distLabel.TextStrokeTransparency = 0
distLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
distLabel.Font = Enum.Font.Gotham
distLabel.TextSize = 12
distLabel.Parent = billboard
local conn = RunService.RenderStepped:Connect(function()
if not espEnabled then return end
if not char.Parent then return end
local myHrp = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
if myHrp then
local dist = math.floor((myHrp.Position - hrp.Position).Magnitude)
distLabel.Text = dist .. " studs"
end
end)
espConnections[target] = {
highlight = highlight,
billboard = billboard,
conn = conn,
}
end
local function removeESP(target)
local data = espConnections[target]
if not data then return end
if data.highlight then data.highlight:Destroy() end
if data.billboard then data.billboard:Destroy() end
if data.conn then data.conn:Disconnect() end
espConnections[target] = nil
end
local function clearAllESP()
for target, _ in pairs(espConnections) do
removeESP(target)
end
end
local function setESP(state)
espEnabled = state
if state then
espBtn.Text = "👁 ESP: ON"
espBtn.TextColor3 = Color3.fromRGB(100, 255, 150)
espStroke.Color = Color3.fromRGB(80, 255, 120)
for _, plr in ipairs(Players:GetPlayers()) do
if plr ~= player then
if plr.Character then createESP(plr) end
end
end
else
espBtn.Text = "👁 ESP: OFF"
espBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
espStroke.Color = Color3.fromRGB(255, 80, 80)
clearAllESP()
end
end
espBtn.MouseButton1Click:Connect(function()
setESP(not espEnabled)
end)
Players.PlayerAdded:Connect(function(plr)
plr.CharacterAdded:Connect(function()
if espEnabled then
task.wait(0.5)
if espEnabled then createESP(plr) end
end
end)
end)
Players.PlayerRemoving:Connect(function(plr)
removeESP(plr)
end)
--// Райдужна анімація ESP //--
task.spawn(function()
local espHue = 0
while screenGui.Parent do
task.wait(0.05)
if espEnabled then
espHue = (espHue + 0.01) % 1
local color = Color3.fromHSV(espHue, 1, 1)
for _, data in pairs(espConnections) do
if data.highlight then
data.highlight.FillColor = color
data.highlight.OutlineColor = color
end
end
end
end
end)
--// ---------- КРУГЛА КНОПКА ЗАКРИТТЯ + REOPEN ---------- //
local reopenBtn = Instance.new("TextButton")
reopenBtn.Name = "ReopenBtn"
reopenBtn.Size = UDim2.new(0, 45, 0, 45)
reopenBtn.Position = UDim2.new(0, 20, 0, 100)
reopenBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 45)
reopenBtn.Text = "🌈"
reopenBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
reopenBtn.Font = Enum.Font.GothamBold
reopenBtn.TextSize = 22
reopenBtn.BorderSizePixel = 0
reopenBtn.Visible = false
reopenBtn.ZIndex = 10
reopenBtn.Parent = screenGui
Instance.new("UICorner", reopenBtn).CornerRadius = UDim.new(1, 0)
local reopenStroke = Instance.new("UIStroke")
reopenStroke.Thickness = 2.5
reopenStroke.Color = Color3.fromRGB(255, 0, 255)
reopenStroke.Parent = reopenBtn
local reopenGradient = Instance.new("UIGradient")
reopenGradient.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0.00, Color3.fromRGB(255, 0, 0)),
ColorSequenceKeypoint.new(0.25, Color3.fromRGB(255, 255, 0)),
ColorSequenceKeypoint.new(0.50, Color3.fromRGB(0, 255, 0)),
ColorSequenceKeypoint.new(0.75, Color3.fromRGB(0, 200, 255)),
ColorSequenceKeypoint.new(1.00, Color3.fromRGB(255, 0, 0)),
})
reopenGradient.Parent = reopenStroke
closeBtn.MouseButton1Click:Connect(function()
guiVisible = false
mainFrame.Visible = false
joystickGui.Visible = false
reopenBtn.Visible = true
end)
reopenBtn.MouseButton1Click:Connect(function()
guiVisible = true
mainFrame.Visible = true
reopenBtn.Visible = false
if flying then
joystickGui.Visible = true
end
end)
--// ---------- RESPAWN ---------- //
player.CharacterAdded:Connect(function(char)
task.wait(0.5)
local humanoid = char:WaitForChild("Humanoid", 5)
if humanoid then
humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, true)
humanoid.WalkSpeed = walkSpeed
end
if anchored then
anchored = false
anchorBtn.Text = "🧊 ANCHOR: OFF"
anchorBtn.TextColor3 = Color3.fromRGB(255, 100, 100)
anchorStroke.Color = Color3.fromRGB(255, 80, 80)
end
task.wait(0.5)
if flying then createBodyMovers() end
if espEnabled then createESP(player) end
end)
--// ---------- РАЙДУЖНА АНІМАЦІЯ GUI ---------- //
local hue = 0
task.spawn(function()
while screenGui.Parent do
task.wait(0.03)
hue = (hue + 0.01) % 1
strokeGradient.Rotation = (strokeGradient.Rotation + 3) % 360
joyGradient.Rotation = (joyGradient.Rotation + 4) % 360
knobGradient.Rotation = (knobGradient.Rotation + 6) % 360
reopenGradient.Rotation = (reopenGradient.Rotation + 5) % 360
title.TextColor3 = Color3.fromHSV(hue, 0.8, 1)
end
end)
--// ---------- ОСНОВНИЙ ЦИКЛ ---------- //
RunService.RenderStepped:Connect(function(dt)
if not flying then return end
local char = player.Character
if not char then return end
local hrp = char:FindFirstChild("HumanoidRootPart")
if not hrp or not bodyVelocity or not bodyGyro then return end
local moveDir = Vector3.zero
if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDir += camera.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDir -= camera.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDir -= camera.CFrame.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDir += camera.CFrame.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveDir += Vector3.new(0, 1, 0) end
if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then moveDir -= Vector3.new(0, 1, 0) end
if joyActive and joyInput.Magnitude > 0.05 then
moveDir += camera.CFrame.LookVector * (-joyInput.Y)
moveDir += camera.CFrame.RightVector * joyInput.X
end
if moveDir.Magnitude > 0 then
moveDir = moveDir.Unit
end
local targetVelocity = moveDir * SPEED
velocity = velocity:Lerp(targetVelocity, SMOOTHNESS)
bodyVelocity.Velocity = velocity
bodyGyro.CFrame = CFrame.new(hrp.Position, hrp.Position + camera.CFrame.LookVector)
end)



wwwww!!!