--// RAINBOW HUB v3.8.1 — THE FIX (No TweenService Crash) //-- --// by dyfufyfutyr 👑 //-- local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local CoreGui = game:GetService("CoreGui") local HttpService = game:GetService("HttpService") local Debris = game:GetService("Debris") local Lighting = game:GetService("Lighting") 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 AUTOR_NAME = "dyfufyfutyr" local LOAD_DURATION = 3 --// ---------- РОЛІ ---------- // local CREATOR_NAMES = { ["dyfufyfutyr"] = true } local function getRole(plr) if CREATOR_NAMES[plr.Name] then return "CREATOR", "👑", Color3.fromRGB(255, 215, 0) end return "USER", "🎮", Color3.fromRGB(180, 180, 220) end local myRole, myIcon, myColor = getRole(player) --// Стан //-- local flying = false local noclip = false local infJump = false local anchored = false local walkSpeed = 16 local guiVisible = true local espEnabled = false local tracerEnabled = false local teamCheckEnabled = false local ESP_MAX_DIST = 1200 local espConnections = {} local velocity = Vector3.zero local bodyVelocity, bodyGyro --// FOV / FreeCam / Fullbright / Spin / Skybox // local defaultFOV = 70 local customFOV = 70 local fovOverride = false local freeCamEnabled = false local freeCamSpeed = 50 local freeCamConnection = nil local fullbrightEnabled = false local xrayEnabled = false local spinEnabled = false local spinSpeed = 10 local spinConn = nil local skyboxMode = "None" local skyboxInstance = nil local npcSinger = nil local npcSound = nil local moonInstance = nil local pumpkinContainer = nil local defaultLighting = { Ambient = Lighting.Ambient, OutdoorAmbient = Lighting.OutdoorAmbient, Brightness = Lighting.Brightness, ClockTime = Lighting.ClockTime, FogEnd = Lighting.FogEnd, FogStart = Lighting.FogStart, FogColor = Lighting.FogColor, } --// Free Cam Joysticks // local fcMoveActive = false local fcMoveInput = Vector2.zero local fcMoveTouch = nil local fcLookActive = false local fcLookInput = Vector2.zero local fcLookTouch = nil --// Aimbot & Misc // local soundEnabled = true local aimbotEnabled = false local aimbotMode = "Hold" local aimbotFOV = 100 local aimbotSmoothness = 0.25 local aimbotTargetPart = "Head" local aimbotKeybind = Enum.UserInputType.MouseButton2 local aimbotLockedTarget = nil local showFOV = true local espColorMode = "Rainbow" local saveFileName = "rainbowhub_settings.json" --// Джойстик FLY // local joyActive = false local joyInput = Vector2.zero local joyTouch = nil --// ---------- LOADING SCREEN (БЕЗ TWEEN) ---------- // local loadingGui = Instance.new("ScreenGui") loadingGui.Name = "LoadingScreen_" .. tostring(math.random(1, 999999)) loadingGui.ResetOnSpawn = false loadingGui.IgnoreGuiInset = true loadingGui.DisplayOrder = 999 loadingGui.Parent = (RunService:IsStudio() and player:WaitForChild("PlayerGui")) or CoreGui local loadingBg = Instance.new("Frame") loadingBg.Size = UDim2.new(1, 0, 1, 0) loadingBg.BackgroundColor3 = Color3.fromRGB(12, 12, 18) loadingBg.BorderSizePixel = 0 loadingBg.Parent = loadingGui local loadingText = Instance.new("TextLabel") loadingText.Size = UDim2.new(1, 0, 1, 0) loadingText.BackgroundTransparency = 1 loadingText.Text = "LOADING..." loadingText.TextColor3 = Color3.fromRGB(255, 255, 255) loadingText.Font = Enum.Font.GothamBlack loadingText.TextSize = 36 loadingText.Parent = loadingBg task.spawn(function() task.wait(LOAD_DURATION) loadingGui:Destroy() end) --// ---------- GUI ---------- // local screenGui = Instance.new("ScreenGui") screenGui.Name = "RainbowHub_" .. 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, 240, 0, 520) mainFrame.Position = UDim2.new(0.02, 0, 0.12, 0) mainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 30) mainFrame.BackgroundTransparency = 0.1 mainFrame.BorderSizePixel = 0 mainFrame.Active = true mainFrame.Draggable = true mainFrame.ClipsDescendants = true mainFrame.Parent = screenGui Instance.new("UICorner", mainFrame).CornerRadius = UDim.new(0, 14) 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, -40, 0, 40) title.Position = UDim2.new(0, 8, 0, 2) title.BackgroundTransparency = 1 title.Text = myIcon .. " RAINBOW HUB v3.8.1" title.TextColor3 = myColor title.Font = Enum.Font.GothamBold title.TextSize = 15 title.TextXAlignment = Enum.TextXAlignment.Left title.Parent = mainFrame local closeBtn = Instance.new("TextButton") closeBtn.Name = "CloseBtn" closeBtn.Size = UDim2.new(0, 28, 0, 28) closeBtn.Position = UDim2.new(1, -34, 0, 8) 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 scrollFrame = Instance.new("ScrollingFrame") scrollFrame.Name = "Scroll" scrollFrame.Size = UDim2.new(1, -10, 1, -50) scrollFrame.Position = UDim2.new(0, 5, 0, 44) scrollFrame.BackgroundTransparency = 1 scrollFrame.BorderSizePixel = 0 scrollFrame.ScrollBarThickness = 4 scrollFrame.ScrollBarImageColor3 = Color3.fromRGB(120, 120, 200) scrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0) scrollFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y scrollFrame.Parent = mainFrame local listLayout = Instance.new("UIListLayout") listLayout.Padding = UDim.new(0, 6) listLayout.SortOrder = Enum.SortOrder.LayoutOrder listLayout.Parent = scrollFrame local pad = Instance.new("UIPadding") pad.PaddingTop = UDim.new(0, 4) pad.PaddingLeft = UDim.new(0, 4) pad.PaddingRight = UDim.new(0, 4) pad.PaddingBottom = UDim.new(0, 8) pad.Parent = scrollFrame --// Звук // local toggleSound = Instance.new("Sound") toggleSound.SoundId = "rbxassetid://6895079853" toggleSound.Volume = 0.4 toggleSound.Parent = screenGui local function playClick() if not soundEnabled then return end local s = toggleSound:Clone() s.Parent = screenGui s:Play() Debris:AddItem(s, 1) end --// ХЕЛПЕРИ ---------- // local orderCounter = 0 local function makeToggleBtn(text, callback) orderCounter += 1 local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, -8, 0, 36) btn.BackgroundColor3 = Color3.fromRGB(45, 45, 65) btn.Text = text btn.TextColor3 = Color3.fromRGB(255, 100, 100) btn.Font = Enum.Font.GothamBold btn.TextSize = 14 btn.BorderSizePixel = 0 btn.LayoutOrder = orderCounter btn.Parent = scrollFrame Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 10) local s = Instance.new("UIStroke") s.Thickness = 2 s.Color = Color3.fromRGB(255, 80, 80) s.Parent = btn btn.MouseButton1Click:Connect(function() playClick() local ok, err = pcall(function() callback(btn, s) end) if not ok then warn("[Rainbow Hub Error]: " .. tostring(err)) end end) return btn, s end local function updateBtnVisual(btn, stroke, isOn) if isOn then btn.TextColor3 = Color3.fromRGB(100, 255, 150) stroke.Color = Color3.fromRGB(80, 255, 120) else btn.TextColor3 = Color3.fromRGB(255, 100, 100) stroke.Color = Color3.fromRGB(255, 80, 80) end end local function makeLabel(text, color) orderCounter += 1 local lbl = Instance.new("TextLabel") lbl.Size = UDim2.new(1, -8, 0, 18) lbl.BackgroundTransparency = 1 lbl.Text = text lbl.TextColor3 = color lbl.Font = Enum.Font.Gotham lbl.TextSize = 13 lbl.LayoutOrder = orderCounter lbl.Parent = scrollFrame return lbl end local function makePairBtn(labelText, labelColor, onMinus, onPlus) local lbl = makeLabel(labelText, labelColor) orderCounter += 1 local holder = Instance.new("Frame") holder.Size = UDim2.new(1, -8, 0, 30) holder.BackgroundTransparency = 1 holder.LayoutOrder = orderCounter holder.Parent = scrollFrame local minusBtn = Instance.new("TextButton") minusBtn.Size = UDim2.new(0.48, 0, 1, 0) minusBtn.Position = UDim2.new(0, 0, 0, 0) minusBtn.BackgroundColor3 = Color3.fromRGB(55, 55, 85) minusBtn.Text = "−" minusBtn.TextColor3 = Color3.fromRGB(255, 255, 255) minusBtn.Font = Enum.Font.GothamBold minusBtn.TextSize = 18 minusBtn.BorderSizePixel = 0 minusBtn.Parent = holder Instance.new("UICorner", minusBtn).CornerRadius = UDim.new(0, 8) local plusBtn = Instance.new("TextButton") plusBtn.Size = UDim2.new(0.48, 0, 1, 0) plusBtn.Position = UDim2.new(0.52, 0, 0, 0) plusBtn.BackgroundColor3 = Color3.fromRGB(55, 55, 85) plusBtn.Text = "+" plusBtn.TextColor3 = Color3.fromRGB(255, 255, 255) plusBtn.Font = Enum.Font.GothamBold plusBtn.TextSize = 18 plusBtn.BorderSizePixel = 0 plusBtn.Parent = holder Instance.new("UICorner", plusBtn).CornerRadius = UDim.new(0, 8) minusBtn.MouseButton1Click:Connect(function() playClick() pcall(function() onMinus(lbl) end) end) plusBtn.MouseButton1Click:Connect(function() playClick() pcall(function() onPlus(lbl) end) end) return lbl 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 --// ---------- SPIN ---------- // local function stopSpin() if spinConn then spinConn:Disconnect() spinConn = nil end end local function startSpin() stopSpin() spinConn = RunService.RenderStepped:Connect(function() if not spinEnabled then return end local char = player.Character if not char then return end local hrp = char:FindFirstChild("HumanoidRootPart") if not hrp then return end hrp.CFrame = hrp.CFrame * CFrame.Angles(0, math.rad(spinSpeed), 0) end) end local function toggleSpin(state) spinEnabled = state if state then startSpin() else stopSpin() end end --// ---------- FULLBRIGHT & XRAY ---------- // local function toggleFullbright(state) fullbrightEnabled = state if state then Lighting.Ambient = Color3.fromRGB(200, 200, 200) Lighting.OutdoorAmbient = Color3.fromRGB(200, 200, 200) Lighting.Brightness = 3 Lighting.ClockTime = 12 Lighting.FogEnd = 100000 else Lighting.Ambient = defaultLighting.Ambient Lighting.OutdoorAmbient = defaultLighting.OutdoorAmbient Lighting.Brightness = defaultLighting.Brightness Lighting.ClockTime = defaultLighting.ClockTime Lighting.FogEnd = defaultLighting.FogEnd end end local function toggleXray(state) xrayEnabled = state for _, obj in ipairs(workspace:GetDescendants()) do if obj:IsA("BasePart") and not obj:IsDescendantOf(player.Character or workspace) then if state then if obj.Name ~= "HumanoidRootPart" and obj.Name ~= "Head" and obj.Transparency < 1 then obj.LocalTransparencyModifier = 0.7 end else obj.LocalTransparencyModifier = 0 end end end end workspace.DescendantAdded:Connect(function(obj) if xrayEnabled and obj:IsA("BasePart") then if obj.Name ~= "HumanoidRootPart" and obj.Name ~= "Head" then obj.LocalTransparencyModifier = 0.7 end end end) --// ---------- ХЕЛЛОВІН АТМОСФЕРА (FOG, MOON, PUMPKINS) ---------- // local function createHalloweenAtmosphere() pcall(function() --// Зберігаємо старі налаштування // defaultLighting.Ambient = Lighting.Ambient defaultLighting.OutdoorAmbient = Lighting.OutdoorAmbient defaultLighting.Brightness = Lighting.Brightness defaultLighting.ClockTime = Lighting.ClockTime defaultLighting.FogEnd = Lighting.FogEnd defaultLighting.FogStart = Lighting.FogStart defaultLighting.FogColor = Lighting.FogColor --// Помаранчевий туман та ніч // Lighting.Ambient = Color3.fromRGB(80, 40, 20) Lighting.OutdoorAmbient = Color3.fromRGB(50, 20, 10) Lighting.Brightness = 1 Lighting.ClockTime = 0 Lighting.FogColor = Color3.fromRGB(255, 120, 0) -- Помаранчевий туман Lighting.FogStart = 10 Lighting.FogEnd = 150 --// СТВОРЮЄМО МІСЯЦЬ (Оранжева куля на небі) // if moonInstance then moonInstance:Destroy() end moonInstance = Instance.new("Part") moonInstance.Name = "HalloweenMoon" moonInstance.Shape = Enum.PartType.Ball moonInstance.Size = Vector3.new(100, 100, 100) moonInstance.Position = camera.CFrame.Position + Vector3.new(0, 300, -500) -- Високо в небі moonInstance.Color = Color3.fromRGB(255, 120, 0) moonInstance.Material = Enum.Material.Neon moonInstance.Anchored = true moonInstance.CanCollide = false moonInstance.Parent = workspace --// СТВОРЮЄМО ГАРБУЗИ // if pumpkinContainer then pumpkinContainer:Destroy() end pumpkinContainer = Instance.new("Folder") pumpkinContainer.Name = "HalloweenPumpkins" pumpkinContainer.Parent = workspace for i = 1, 5 do local pumpkin = Instance.new("Part") pumpkin.Shape = Enum.PartType.Ball pumpkin.Size = Vector3.new(4, 4, 4) pumpkin.Color = Color3.fromRGB(255, 120, 0) pumpkin.Material = Enum.Material.Neon pumpkin.Anchored = true pumpkin.CanCollide = false local angle = (i / 5) * math.pi * 2 local radius = 15 pumpkin.Position = camera.CFrame.Position + Vector3.new(math.cos(angle) * radius, 5, math.sin(angle) * radius) pumpkin.Parent = pumpkinContainer end end) end local function removeHalloweenAtmosphere() pcall(function() Lighting.Ambient = defaultLighting.Ambient Lighting.OutdoorAmbient = defaultLighting.OutdoorAmbient Lighting.Brightness = defaultLighting.Brightness Lighting.ClockTime = defaultLighting.ClockTime Lighting.FogEnd = defaultLighting.FogEnd Lighting.FogStart = defaultLighting.FogStart Lighting.FogColor = defaultLighting.FogColor if moonInstance then moonInstance:Destroy() moonInstance = nil end if pumpkinContainer then pumpkinContainer:Destroy() pumpkinContainer = nil end end) end --// ---------- SKYBOX (Rainbow & Clean) ---------- // local function clearSkybox() if skyboxInstance then skyboxInstance:Destroy() skyboxInstance = nil end if npcSinger then npcSinger:Destroy() npcSinger = nil end if npcSound then npcSound:Destroy() npcSound = nil end removeHalloweenAtmosphere() skyboxMode = "None" end local function setRainbowSkybox() clearSkybox() skyboxMode = "Rainbow" createHalloweenAtmosphere() --// Позиція на землі // local spawnPos = Vector3.new(0, 3, 0) local spawnLocation = workspace:FindFirstChildOfClass("SpawnLocation") if spawnLocation then spawnPos = spawnLocation.Position else local char = player.Character if char then local hrp = char:FindFirstChild("HumanoidRootPart") if hrp then spawnPos = hrp.Position + Vector3.new(0, 0, -5) end end end --// СТВОРЮЄМО NPC З КОДУ (БЕЗ КРАШІВ) // pcall(function() npcSinger = Instance.new("Model") npcSinger.Name = "RainbowSinger" local function makePart(name, size, color, material, cframe) local p = Instance.new("Part") p.Name = name p.Size = size p.Color = color p.Material = material p.Anchored = true p.CanCollide = false p.CFrame = cframe p.Parent = npcSinger return p end local torso = makePart("Torso", Vector3.new(2, 2, 1), Color3.fromRGB(255, 215, 0), Enum.Material.Neon, CFrame.new(spawnPos)) local head = makePart("Head", Vector3.new(2, 1, 1), Color3.fromRGB(255, 255, 255), Enum.Material.SmoothPlastic, CFrame.new(spawnPos + Vector3.new(0, 1.5, 0))) local leftArm = makePart("Left Arm", Vector3.new(1, 2, 1), Color3.fromRGB(255, 255, 0), Enum.Material.Neon, CFrame.new(spawnPos + Vector3.new(-1.5, 0, 0))) local rightArm = makePart("Right Arm", Vector3.new(1, 2, 1), Color3.fromRGB(0, 255, 0), Enum.Material.Neon, CFrame.new(spawnPos + Vector3.new(1.5, 0, 0))) local leftLeg = makePart("Left Leg", Vector3.new(1, 2, 1), Color3.fromRGB(0, 255, 255), Enum.Material.Neon, CFrame.new(spawnPos + Vector3.new(-0.5, -2, 0))) local rightLeg = makePart("Right Leg", Vector3.new(1, 2, 1), Color3.fromRGB(255, 0, 0), Enum.Material.Neon, CFrame.new(spawnPos + Vector3.new(0.5, -2, 0))) local humanoid = Instance.new("Humanoid") humanoid.Parent = npcSinger humanoid.DisplayName = "" humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None local face = Instance.new("Decal") face.Name = "face" face.Texture = "rbxasset://textures/face.png" face.Face = Enum.NormalId.Front face.Parent = head --// МУЗИКА NPC (ТВІЙ НОВИЙ ID) // npcSound = Instance.new("Sound") npcSound.SoundId = "rbxassetid://1836009626" npcSound.Volume = 1 npcSound.Looped = true npcSound.Parent = head npcSound:Play() npcSinger.PrimaryPart = torso npcSinger.Parent = workspace end) end local function setCleanSkybox() clearSkybox() skyboxMode = "Clean" skyboxInstance = Instance.new("Sky") skyboxInstance.SkyboxBk = "rbxassetid://268398896" skyboxInstance.SkyboxDn = "rbxassetid://268398896" skyboxInstance.SkyboxFt = "rbxassetid://268398896" skyboxInstance.SkyboxLf = "rbxassetid://268398896" skyboxInstance.SkyboxRt = "rbxassetid://268398896" skyboxInstance.SkyboxUp = "rbxassetid://268398896" skyboxInstance.Parent = Lighting end --// ---------- CAMERA FOV ---------- // local function applyFOV() if fovOverride then camera.FieldOfView = customFOV else camera.FieldOfView = defaultFOV end end task.spawn(function() while task.wait(0.5) do if fovOverride and math.abs(camera.FieldOfView - customFOV) > 1 then camera.FieldOfView = customFOV end end end) --// ---------- FREE CAM ---------- // local function stopFreeCam() if freeCamConnection then freeCamConnection:Disconnect() freeCamConnection = nil end camera.CameraType = Enum.CameraType.Custom if player.Character then camera.CameraSubject = player.Character:FindFirstChildOfClass("Humanoid") end end local function startFreeCam() local char = player.Character if not char then return end local hrp = char:FindFirstChild("HumanoidRootPart") if not hrp then return end stopFreeCam() camera.CameraType = Enum.CameraType.Scriptable local camPos = camera.CFrame.Position local camYaw, camPitch = 0, 0 freeCamConnection = RunService.RenderStepped:Connect(function() if not freeCamEnabled then return end if UserInputService.MouseBehavior == Enum.MouseBehavior.LockCenter then local delta = UserInputService:GetMouseDelta() camYaw = camYaw - delta.X * 0.003 camPitch = math.clamp(camPitch - delta.Y * 0.003, -math.rad(89), math.rad(89)) end if fcLookActive and fcLookInput.Magnitude > 0.05 then camYaw = camYaw - fcLookInput.X * 0.05 camPitch = math.clamp(camPitch - fcLookInput.Y * 0.05, -math.rad(89), math.rad(89)) end local rotation = CFrame.Angles(0, camYaw, 0) * CFrame.Angles(camPitch, 0, 0) local moveDir = Vector3.zero if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDir += rotation.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDir -= rotation.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDir -= rotation.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDir += rotation.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 fcMoveActive and fcMoveInput.Magnitude > 0.05 then moveDir += rotation.LookVector * (-fcMoveInput.Y) moveDir += rotation.RightVector * fcMoveInput.X end if moveDir.Magnitude > 0 then moveDir = moveDir.Unit end camPos = camPos + moveDir * freeCamSpeed * (1 / 60) camera.CFrame = CFrame.new(camPos) * rotation end) end --// ---------- ESP ---------- // local function isEnemy(plr) if not teamCheckEnabled then return true end if not plr.Team then return true end if not player.Team then return true end return plr.Team ~= player.Team end local function teleportToPlayer(target) if not target or target == player or not target.Parent then return end local myHrp = player.Character and player.Character:FindFirstChild("HumanoidRootPart") local targetHrp = target.Character and target.Character:FindFirstChild("HumanoidRootPart") if not myHrp or not targetHrp then return end myHrp.CFrame = targetHrp.CFrame * CFrame.new(0, 0, -3) myHrp.AssemblyLinearVelocity = Vector3.zero if flying then velocity = Vector3.zero; if bodyVelocity then bodyVelocity.Velocity = Vector3.zero end end end local function createESP(target) if target == player or espConnections[target] or not isEnemy(target) then return end local char = target.Character if not char then return end local hrp = char:FindFirstChild("HumanoidRootPart") local humanoid = char:FindFirstChildOfClass("Humanoid") if not hrp then return end local highlight = Instance.new("Highlight") highlight.Name = "RainbowESP_" .. target.Name 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_" .. target.Name billboard.Size = UDim2.new(0, 200, 0, 70) billboard.StudsOffset = Vector3.new(0, 3, 0) billboard.AlwaysOnTop = true billboard.Adornee = hrp billboard.Parent = char local nameLabel = Instance.new("TextLabel") nameLabel.Size = UDim2.new(1, 0, 0, 20) 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 hpBg = Instance.new("Frame") hpBg.Size = UDim2.new(0.8, 0, 0, 8) hpBg.Position = UDim2.new(0.1, 0, 0, 22) hpBg.BackgroundColor3 = Color3.fromRGB(30, 30, 30) hpBg.BorderSizePixel = 0 hpBg.Parent = billboard Instance.new("UICorner", hpBg).CornerRadius = UDim.new(0, 4) local hpFill = Instance.new("Frame") hpFill.Size = UDim2.new(1, 0, 1, 0) hpFill.BackgroundColor3 = Color3.fromRGB(0, 255, 100) hpFill.BorderSizePixel = 0 hpFill.Parent = hpBg Instance.new("UICorner", hpFill).CornerRadius = UDim.new(0, 4) local distLabel = Instance.new("TextLabel") distLabel.Size = UDim2.new(1, 0, 0, 16) distLabel.Position = UDim2.new(0, 0, 0, 34) 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 tpBtn = Instance.new("TextButton") tpBtn.Name = "TPBtn_" .. target.Name tpBtn.Size = UDim2.new(0, 100, 0, 28) tpBtn.AnchorPoint = Vector2.new(0.5, 0) tpBtn.BackgroundColor3 = Color3.fromRGB(255, 100, 200) tpBtn.Text = "🚀 TP → " .. string.sub(target.Name, 1, 8) tpBtn.TextColor3 = Color3.fromRGB(255, 255, 255) tpBtn.TextStrokeTransparency = 0 tpBtn.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) tpBtn.Font = Enum.Font.GothamBold tpBtn.TextSize = 13 tpBtn.BorderSizePixel = 0 tpBtn.Active = true tpBtn.AutoButtonColor = true tpBtn.ZIndex = 100 tpBtn.Visible = false tpBtn.Parent = screenGui Instance.new("UICorner", tpBtn).CornerRadius = UDim.new(0, 8) local tpStroke = Instance.new("UIStroke") tpStroke.Thickness = 2 tpStroke.Color = Color3.fromRGB(255, 50, 150) tpStroke.Parent = tpBtn tpBtn.MouseEnter:Connect(function() tpBtn.BackgroundColor3 = Color3.fromRGB(255, 150, 230) end) tpBtn.MouseLeave:Connect(function() tpBtn.BackgroundColor3 = Color3.fromRGB(255, 100, 200) end) tpBtn.MouseButton1Down:Connect(function() tpBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 150) end) tpBtn.MouseButton1Up:Connect(function() tpBtn.BackgroundColor3 = Color3.fromRGB(255, 150, 230) end) tpBtn.MouseButton1Click:Connect(function() playClick() if target and target.Parent then teleportToPlayer(target) end end) local tracer = Instance.new("Frame") tracer.Name = "Tracer_" .. target.Name tracer.BackgroundColor3 = Color3.fromRGB(255, 0, 0) tracer.BorderSizePixel = 0 tracer.ZIndex = 5 tracer.AnchorPoint = Vector2.new(0.5, 0.5) tracer.Visible = false tracer.Parent = screenGui local conn = RunService.RenderStepped:Connect(function() local ok, err = pcall(function() if not espEnabled or not char.Parent or not hrp.Parent or not camera then return end local myHrp = player.Character and player.Character:FindFirstChild("HumanoidRootPart") if not myHrp then return end local dist = math.floor((myHrp.Position - hrp.Position).Magnitude) local inRange = dist <= ESP_MAX_DIST if billboard and billboard.Parent and billboard.Enabled ~= inRange then billboard.Enabled = inRange end if highlight and highlight.Parent and highlight.Enabled ~= inRange then highlight.Enabled = inRange end if not inRange then if tpBtn and tpBtn.Parent and tpBtn.Visible then tpBtn.Visible = false end if tracer and tracer.Parent and tracer.Visible then tracer.Visible = false end return end local headPos = hrp.Position + Vector3.new(0, 3, 0) local screenPos, onScreen = camera:WorldToViewportPoint(headPos) if onScreen then if tpBtn and tpBtn.Parent then tpBtn.Position = UDim2.new(0, screenPos.X, 0, screenPos.Y + 55) if not tpBtn.Visible then tpBtn.Visible = true end end else if tpBtn and tpBtn.Parent and tpBtn.Visible then tpBtn.Visible = false end end if distLabel and distLabel.Parent then distLabel.Text = dist .. " studs" end if humanoid and hpBg and hpFill then hpBg.Visible = true local hp = humanoid.Health / math.max(humanoid.MaxHealth, 1) hpFill.Size = UDim2.new(math.clamp(hp, 0, 1), 0, 1, 0) hpFill.BackgroundColor3 = Color3.fromRGB(255 * (1 - hp), 255 * hp, 0) end if tracerEnabled and onScreen then local screenSize = camera.ViewportSize local startPos = Vector2.new(screenSize.X / 2, screenSize.Y) local endPos = Vector2.new(screenPos.X, screenPos.Y) local delta = endPos - startPos local distance = delta.Magnitude local angle = math.atan2(delta.Y, delta.X) if tracer and tracer.Parent then if not tracer.Visible then tracer.Visible = true end tracer.Size = UDim2.new(0, distance, 0, 1.5) tracer.Position = UDim2.new(0, (startPos.X + endPos.X) / 2, 0, (startPos.Y + endPos.Y) / 2) tracer.Rotation = math.deg(angle) end else if tracer and tracer.Parent and tracer.Visible then tracer.Visible = false end end end) if not ok then warn("[ESP Loop Error]: " .. tostring(err)) end end) espConnections[target] = { highlight = highlight, billboard = billboard, tracer = tracer, tpBtn = tpBtn, 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.tracer then data.tracer:Destroy() end if data.tpBtn then data.tpBtn: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 refreshESP() if not espEnabled then return end for _, plr in ipairs(Players:GetPlayers()) do if plr ~= player and isEnemy(plr) then if plr.Character then createESP(plr) end else removeESP(plr) end end end --// ---------- FOV CIRCLE ---------- // local fovCircle = Instance.new("Frame") fovCircle.Name = "FOVCircle" fovCircle.AnchorPoint = Vector2.new(0.5, 0.5) fovCircle.Position = UDim2.new(0.5, 0, 0.5, 0) fovCircle.Size = UDim2.new(0, aimbotFOV * 2, 0, aimbotFOV * 2) fovCircle.BackgroundTransparency = 1 fovCircle.Visible = false fovCircle.ZIndex = 2 fovCircle.Parent = screenGui local fovStroke = Instance.new("UIStroke") fovStroke.Thickness = 1.5 fovStroke.Color = Color3.fromRGB(255, 100, 100) fovStroke.Transparency = 0.4 fovStroke.Parent = fovCircle Instance.new("UICorner", fovCircle).CornerRadius = UDim.new(1, 0) local function updateFOVCircle() fovCircle.Size = UDim2.new(0, aimbotFOV * 2, 0, aimbotFOV * 2) fovCircle.Visible = aimbotEnabled and showFOV end --// ---------- AIMBOT ---------- // local function getClosestTargetToCursor() local mousePos = UserInputService:GetMouseLocation() local closest = nil local closestDist = aimbotFOV for _, plr in ipairs(Players:GetPlayers()) do if plr ~= player and isEnemy(plr) then local char = plr.Character if char then local part = char:FindFirstChild(aimbotTargetPart) or char:FindFirstChild("HumanoidRootPart") local humanoid = char:FindFirstChildOfClass("Humanoid") if part and humanoid and humanoid.Health > 0 then local screenPos, onScreen = camera:WorldToViewportPoint(part.Position) if onScreen then local dist = (Vector2.new(screenPos.X, screenPos.Y) - mousePos).Magnitude if dist < closestDist then closestDist = dist; closest = part end end end end end end return closest end local aimbotHeld = false UserInputService.InputBegan:Connect(function(input, gp) if not gp and input.UserInputType == aimbotKeybind then aimbotHeld = true end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == aimbotKeybind then aimbotHeld = false end end) local function shouldAimbotRun() if not aimbotEnabled then return false end if aimbotMode == "Toggle" then return true end return aimbotHeld end task.spawn(function() while task.wait(0.01) do if shouldAimbotRun() then if not aimbotLockedTarget or not aimbotLockedTarget.Parent then aimbotLockedTarget = getClosestTargetToCursor() end if aimbotLockedTarget then local currentCFrame = camera.CFrame local newCFrame = CFrame.new(currentCFrame.Position, aimbotLockedTarget.Position) if aimbotSmoothness >= 0.9 then camera.CFrame = newCFrame else camera.CFrame = currentCFrame:Lerp(newCFrame, aimbotSmoothness) end end else aimbotLockedTarget = nil end end end) --// ---------- ДЖОЙСТИК FLY ---------- // 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 function resetJoystick() joyInput = Vector2.zero joyActive = false joyTouch = nil if joyKnob and joyKnob.Parent then joyKnob.Position = UDim2.new(0.5, -JOYSTICK_RADIUS/2, 0.5, -JOYSTICK_RADIUS/2) end 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) --// ---------- FREE CAM JOYSTICKS ---------- // local function createFCJoystick(name, position) local gui = Instance.new("Frame") gui.Name = name gui.Size = UDim2.new(0, 130, 0, 130) gui.Position = position gui.BackgroundColor3 = Color3.fromRGB(20, 20, 30) gui.BackgroundTransparency = 0.4 gui.BorderSizePixel = 0 gui.Active = true gui.Parent = screenGui gui.Visible = false Instance.new("UICorner", gui).CornerRadius = UDim.new(1, 0) local stroke = Instance.new("UIStroke") stroke.Thickness = 2 stroke.Color = Color3.fromRGB(100, 200, 255) stroke.Parent = gui local knob = Instance.new("Frame") knob.Size = UDim2.new(0, 60, 0, 60) knob.Position = UDim2.new(0.5, -30, 0.5, -30) knob.BackgroundColor3 = Color3.fromRGB(255, 255, 255) knob.BackgroundTransparency = 0.15 knob.BorderSizePixel = 0 knob.Parent = gui Instance.new("UICorner", knob).CornerRadius = UDim.new(1, 0) local knobStroke = Instance.new("UIStroke") knobStroke.Thickness = 2 knobStroke.Color = Color3.fromRGB(255, 255, 255) knobStroke.Parent = knob local center = Instance.new("TextLabel") center.Size = UDim2.new(1, 0, 1, 0) center.BackgroundTransparency = 1 center.Text = "🎥" center.TextSize = 20 center.Font = Enum.Font.GothamBold center.TextColor3 = Color3.fromRGB(255, 255, 255) center.ZIndex = 0 center.Parent = gui return {gui = gui, knob = knob, stroke = stroke} end local leftJoy = createFCJoystick("FreeCamMove", UDim2.new(0, 30, 1, -160)) local rightJoy = createFCJoystick("FreeCamLook", UDim2.new(1, -160, 1, -160)) local function updateLeftJoy(inputPos) local center = leftJoy.gui.AbsolutePosition + leftJoy.gui.AbsoluteSize / 2 local delta = inputPos - center local maxDist = leftJoy.gui.AbsoluteSize.X / 2 if delta.Magnitude > maxDist then delta = delta.Unit * maxDist end leftJoy.knob.Position = UDim2.new(0.5, delta.X - 30, 0.5, delta.Y - 30) fcMoveInput = Vector2.new(delta.X / maxDist, delta.Y / maxDist) end local function resetLeftJoy() fcMoveInput = Vector2.zero fcMoveActive = false fcMoveTouch = nil leftJoy.knob.Position = UDim2.new(0.5, -30, 0.5, -30) end leftJoy.gui.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then fcMoveActive = true; fcMoveTouch = input; updateLeftJoy(Vector2.new(input.Position.X, input.Position.Y)) end end) UserInputService.InputChanged:Connect(function(input) if fcMoveActive and (input == fcMoveTouch or input.UserInputType == Enum.UserInputType.Touch) then if fcMoveTouch and input.UserInputType == Enum.UserInputType.Touch and input ~= fcMoveTouch then return end updateLeftJoy(Vector2.new(input.Position.X, input.Position.Y)) end end) UserInputService.InputEnded:Connect(function(input) if input == fcMoveTouch then resetLeftJoy() end end) local function updateRightJoy(inputPos) local center = rightJoy.gui.AbsolutePosition + rightJoy.gui.AbsoluteSize / 2 local delta = inputPos - center local maxDist = rightJoy.gui.AbsoluteSize.X / 2 if delta.Magnitude > maxDist then delta = delta.Unit * maxDist end rightJoy.knob.Position = UDim2.new(0.5, delta.X - 30, 0.5, delta.Y - 30) fcLookInput = Vector2.new(delta.X / maxDist, delta.Y / maxDist) end local function resetRightJoy() fcLookInput = Vector2.zero fcLookActive = false fcLookTouch = nil rightJoy.knob.Position = UDim2.new(0.5, -30, 0.5, -30) end rightJoy.gui.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then fcLookActive = true; fcLookTouch = input; updateRightJoy(Vector2.new(input.Position.X, input.Position.Y)) end end) UserInputService.InputChanged:Connect(function(input) if fcLookActive and (input == fcLookTouch or input.UserInputType == Enum.UserInputType.Touch) then if fcLookTouch and input.UserInputType == Enum.UserInputType.Touch and input ~= fcLookTouch then return end updateRightJoy(Vector2.new(input.Position.X, input.Position.Y)) end end) UserInputService.InputEnded:Connect(function(input) if input == fcLookTouch then resetRightJoy() end end) --// ---------- КНОПКИ ---------- // local toggleBtn, toggleStroke = makeToggleBtn("✈ FLY: OFF", function(btn, s) flying = not flying if flying then btn.Text = "✈ FLY: ON" updateBtnVisual(btn, s, true) createBodyMovers() if guiVisible then joystickGui.Visible = true end else btn.Text = "✈ FLY: OFF" updateBtnVisual(btn, s, false) velocity = Vector3.zero destroyBodyMovers() joystickGui.Visible = false if resetJoystick then resetJoystick() end end end) local noclipBtn, noclipStroke = makeToggleBtn("🚪 NOCLIP: OFF", function(btn, s) noclip = not noclip if noclip then btn.Text = "🚪 NOCLIP: ON"; updateBtnVisual(btn, s, true) else btn.Text = "🚪 NOCLIP: OFF"; updateBtnVisual(btn, s, false) 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) local infJumpBtn, infJumpStroke = makeToggleBtn("🦘 INF JUMP: OFF", function(btn, s) infJump = not infJump if infJump then btn.Text = "🦘 INF JUMP: ON"; updateBtnVisual(btn, s, true) else btn.Text = "🦘 INF JUMP: OFF"; updateBtnVisual(btn, s, false) end end) local anchorBtn, anchorStroke = makeToggleBtn("🧊 ANCHOR: OFF", function(btn, s) anchored = not anchored local hrp = player.Character and player.Character:FindFirstChild("HumanoidRootPart") if anchored then btn.Text = "🧊 ANCHOR: ON"; updateBtnVisual(btn, s, true); if hrp then hrp.Anchored = true end else btn.Text = "🧊 ANCHOR: OFF"; updateBtnVisual(btn, s, false); if hrp then hrp.Anchored = false end end end) local espBtn, espStroke = makeToggleBtn("👁 ESP: OFF", function(btn, s) espEnabled = not espEnabled if espEnabled then btn.Text = "👁 ESP: ON"; updateBtnVisual(btn, s, true); refreshESP() else btn.Text = "👁 ESP: OFF"; updateBtnVisual(btn, s, false); clearAllESP() end end) local tracerBtn, tracerStroke = makeToggleBtn("🎯 TRACER: OFF", function(btn, s) tracerEnabled = not tracerEnabled if tracerEnabled then btn.Text = "🎯 TRACER: ON"; updateBtnVisual(btn, s, true) if not espEnabled then espEnabled = true; espBtn.Text = "👁 ESP: ON"; updateBtnVisual(espBtn, espStroke, true); refreshESP() end else btn.Text = "🎯 TRACER: OFF"; updateBtnVisual(btn, s, false) end end) local teamBtn, teamStroke = makeToggleBtn("🛡 TEAM CHECK: OFF", function(btn, s) teamCheckEnabled = not teamCheckEnabled if teamCheckEnabled then btn.Text = "🛡 TEAM CHECK: ON"; updateBtnVisual(btn, s, true) if not espEnabled then espEnabled = true; espBtn.Text = "👁 ESP: ON"; updateBtnVisual(espBtn, espStroke, true) end else btn.Text = "🛡 TEAM CHECK: OFF"; updateBtnVisual(btn, s, false) end if espEnabled then refreshESP() end end) local colorModes = {"Rainbow", "Red", "Green", "Blue", "Pink"} local colorIndex = 1 local colorBtn, colorStroke = makeToggleBtn("🎨 ESP COLOR: RAINBOW", function(btn, s) colorIndex = colorIndex + 1; if colorIndex > #colorModes then colorIndex = 1 end espColorMode = colorModes[colorIndex]; btn.Text = "🎨 ESP COLOR: " .. string.upper(espColorMode) btn.TextColor3 = Color3.fromRGB(255, 200, 100); s.Color = Color3.fromRGB(255, 180, 80) end) colorBtn.TextColor3 = Color3.fromRGB(255, 200, 100) colorStroke.Color = Color3.fromRGB(255, 180, 80) local soundBtn, soundStroke = makeToggleBtn("🔊 SOUND: ON", function(btn, s) soundEnabled = not soundEnabled if soundEnabled then btn.Text = "🔊 SOUND: ON"; updateBtnVisual(btn, s, true) else btn.Text = "🔇 SOUND: OFF"; updateBtnVisual(btn, s, false) end end) soundBtn.TextColor3 = Color3.fromRGB(100, 255, 150) soundStroke.Color = Color3.fromRGB(80, 255, 120) local aimbotBtn, aimbotStroke = makeToggleBtn("🔫 AIMBOT: OFF", function(btn, s) aimbotEnabled = not aimbotEnabled if aimbotEnabled then btn.Text = "🔫 AIMBOT: ON"; updateBtnVisual(btn, s, true) else btn.Text = "🔫 AIMBOT: OFF"; updateBtnVisual(btn, s, false) end updateFOVCircle() end) local aimModeBtn, aimModeStroke = makeToggleBtn("🖱 AIMBOT MODE: HOLD", function(btn, s) if aimbotMode == "Hold" then aimbotMode = "Toggle"; btn.Text = "🖱 AIMBOT MODE: TOGGLE" else aimbotMode = "Hold"; btn.Text = "🖱 AIMBOT MODE: HOLD" end btn.TextColor3 = Color3.fromRGB(255, 200, 100); s.Color = Color3.fromRGB(255, 180, 80) end) aimModeBtn.TextColor3 = Color3.fromRGB(255, 200, 100) aimModeStroke.Color = Color3.fromRGB(255, 180, 80) local fovLabel = makePairBtn( "🎯 Aimbot FOV: " .. aimbotFOV, Color3.fromRGB(255, 180, 180), function(lbl) aimbotFOV = math.max(aimbotFOV - 25, 25); lbl.Text = "🎯 Aimbot FOV: " .. aimbotFOV; updateFOVCircle() end, function(lbl) aimbotFOV = math.min(aimbotFOV + 25, 800); lbl.Text = "🎯 Aimbot FOV: " .. aimbotFOV; updateFOVCircle() end ) local fovToggleBtn, fovToggleStroke = makeToggleBtn("⭕ FOV CIRCLE: ON", function(btn, s) showFOV = not showFOV if showFOV then btn.Text = "⭕ FOV CIRCLE: ON"; updateBtnVisual(btn, s, true) else btn.Text = "⭕ FOV CIRCLE: OFF"; updateBtnVisual(btn, s, false) end updateFOVCircle() end) fovToggleBtn.TextColor3 = Color3.fromRGB(100, 255, 150) fovToggleStroke.Color = Color3.fromRGB(80, 255, 120) local smoothLabel = makePairBtn( "🌊 Aimbot Smooth: " .. math.floor(aimbotSmoothness * 100) .. "%", Color3.fromRGB(200, 200, 255), function(lbl) aimbotSmoothness = math.max(aimbotSmoothness - 0.05, 0.05); lbl.Text = "🌊 Aimbot Smooth: " .. math.floor(aimbotSmoothness * 100) .. "%" end, function(lbl) aimbotSmoothness = math.min(aimbotSmoothness + 0.05, 1.0); lbl.Text = "🌊 Aimbot Smooth: " .. math.floor(aimbotSmoothness * 100) .. "%" end ) local targetBtn, targetStroke = makeToggleBtn("🎯 TARGET: HEAD", function(btn, s) if aimbotTargetPart == "Head" then aimbotTargetPart = "HumanoidRootPart"; btn.Text = "🎯 TARGET: BODY" else aimbotTargetPart = "Head"; btn.Text = "🎯 TARGET: HEAD" end btn.TextColor3 = Color3.fromRGB(255, 200, 100); s.Color = Color3.fromRGB(255, 180, 80) end) targetBtn.TextColor3 = Color3.fromRGB(255, 200, 100) targetStroke.Color = Color3.fromRGB(255, 180, 80) local speedLabel = makePairBtn( "⚡ Fly Speed: " .. SPEED, Color3.fromRGB(220, 220, 255), function(lbl) SPEED = math.max(SPEED - 10, 10); lbl.Text = "⚡ Fly Speed: " .. SPEED end, function(lbl) SPEED = math.min(SPEED + 10, FLY_MAX); lbl.Text = "⚡ Fly Speed: " .. SPEED end ) local speedHackLabel = makePairBtn( "🏃 WalkSpeed: " .. walkSpeed, Color3.fromRGB(255, 220, 180), function(lbl) walkSpeed = math.max(walkSpeed - 10, 16); local char = player.Character; local humanoid = char and char:FindFirstChildOfClass("Humanoid"); if humanoid then humanoid.WalkSpeed = walkSpeed end; lbl.Text = "🏃 WalkSpeed: " .. walkSpeed end, function(lbl) 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; lbl.Text = "🏃 WalkSpeed: " .. walkSpeed end ) local maxDistLabel = makePairBtn( "📏 ESP Max Dist: " .. ESP_MAX_DIST, Color3.fromRGB(200, 255, 200), function(lbl) ESP_MAX_DIST = math.max(ESP_MAX_DIST - 100, 100); lbl.Text = "📏 ESP Max Dist: " .. ESP_MAX_DIST end, function(lbl) ESP_MAX_DIST = math.min(ESP_MAX_DIST + 100, 5000); lbl.Text = "📏 ESP Max Dist: " .. ESP_MAX_DIST end ) local fovCamBtn, fovCamStroke = makeToggleBtn("📷 CAMERA FOV: DEFAULT", function(btn, s) fovOverride = not fovOverride if fovOverride then btn.Text = "📷 CAMERA FOV: CUSTOM"; updateBtnVisual(btn, s, true); applyFOV() else btn.Text = "📷 CAMERA FOV: DEFAULT"; updateBtnVisual(btn, s, false); applyFOV() end end) local fovSliderLabel = makePairBtn( "📷 Camera FOV: " .. customFOV, Color3.fromRGB(200, 200, 255), function(lbl) customFOV = math.max(customFOV - 5, 30); lbl.Text = "📷 Camera FOV: " .. customFOV; if fovOverride then applyFOV() end end, function(lbl) customFOV = math.min(customFOV + 5, 120); lbl.Text = "📷 Camera FOV: " .. customFOV; if fovOverride then applyFOV() end end ) local freeCamBtn, freeCamStroke = makeToggleBtn("🎥 FREE CAM: OFF", function(btn, s) freeCamEnabled = not freeCamEnabled if freeCamEnabled then btn.Text = "🎥 FREE CAM: ON"; updateBtnVisual(btn, s, true) startFreeCam(); leftJoy.gui.Visible = true; rightJoy.gui.Visible = true else btn.Text = "🎥 FREE CAM: OFF"; updateBtnVisual(btn, s, false) stopFreeCam(); leftJoy.gui.Visible = false; rightJoy.gui.Visible = false resetLeftJoy(); resetRightJoy() end end) local freeCamSpeedLabel = makePairBtn( "🎥 FreeCam Speed: " .. freeCamSpeed, Color3.fromRGB(200, 200, 255), function(lbl) freeCamSpeed = math.max(freeCamSpeed - 10, 10); lbl.Text = "🎥 FreeCam Speed: " .. freeCamSpeed end, function(lbl) freeCamSpeed = math.min(freeCamSpeed + 10, 500); lbl.Text = "🎥 FreeCam Speed: " .. freeCamSpeed end ) local fullbrightBtn, fullbrightStroke = makeToggleBtn("☀️ FULLBRIGHT: OFF", function(btn, s) toggleFullbright(not fullbrightEnabled) if fullbrightEnabled then btn.Text = "☀️ FULLBRIGHT: ON"; updateBtnVisual(btn, s, true) else btn.Text = "☀️ FULLBRIGHT: OFF"; updateBtnVisual(btn, s, false) end end) local xrayBtn, xrayStroke = makeToggleBtn("🕶 X-RAY: OFF", function(btn, s) toggleXray(not xrayEnabled) if xrayEnabled then btn.Text = "🕶 X-RAY: ON"; updateBtnVisual(btn, s, true) else btn.Text = "🕶 X-RAY: OFF"; updateBtnVisual(btn, s, false) end end) local spinBtn, spinStroke = makeToggleBtn("🌀 SPIN: OFF", function(btn, s) toggleSpin(not spinEnabled) if spinEnabled then btn.Text = "🌀 SPIN: ON"; updateBtnVisual(btn, s, true) else btn.Text = "🌀 SPIN: OFF"; updateBtnVisual(btn, s, false) end end) local spinSpeedLabel = makePairBtn( "🌀 Spin Speed: " .. spinSpeed, Color3.fromRGB(200, 180, 255), function(lbl) spinSpeed = math.max(spinSpeed - 5, 5); lbl.Text = "🌀 Spin Speed: " .. spinSpeed end, function(lbl) spinSpeed = math.min(spinSpeed + 5, 100); lbl.Text = "🌀 Spin Speed: " .. spinSpeed end ) --// Кнопка Rainbow Skybox // local rainbowSkyboxBtn, rainbowSkyboxStroke = makeToggleBtn("🎃 HALLOWEEN ATMOSPHERE: OFF", function(btn, s) if skyboxMode == "Rainbow" then clearSkybox() btn.Text = "🎃 HALLOWEEN ATMOSPHERE: OFF" updateBtnVisual(btn, s, false) else setRainbowSkybox() btn.Text = "🎃 HALLOWEEN ATMOSPHERE: ON" updateBtnVisual(btn, s, true) if cleanSkyboxBtn then cleanSkyboxBtn.Text = "☀️ CLEAN ATMOSPHERE: OFF" updateBtnVisual(cleanSkyboxBtn, cleanSkyboxStroke, false) end end end) --// Кнопка Clean Skybox // local cleanSkyboxBtn, cleanSkyboxStroke = makeToggleBtn("☀️ CLEAN ATMOSPHERE: OFF", function(btn, s) if skyboxMode == "Clean" then clearSkybox() btn.Text = "☀️ CLEAN ATMOSPHERE: OFF" updateBtnVisual(btn, s, false) else setCleanSkybox() btn.Text = "☀️ CLEAN ATMOSPHERE: ON" updateBtnVisual(btn, s, true) if rainbowSkyboxBtn then rainbowSkyboxBtn.Text = "🎃 HALLOWEEN ATMOSPHERE: OFF" updateBtnVisual(rainbowSkyboxBtn, rainbowSkyboxStroke, false) end end end) local saveBtn, saveStroke = makeToggleBtn("💾 SAVE SETTINGS", function(btn, s) saveSettings(); btn.Text = "✅ SAVED!"; btn.TextColor3 = Color3.fromRGB(100, 255, 150); s.Color = Color3.fromRGB(80, 255, 120) task.wait(1.5); btn.Text = "💾 SAVE SETTINGS"; btn.TextColor3 = Color3.fromRGB(255, 100, 100); s.Color = Color3.fromRGB(255, 80, 80) end) orderCounter += 1 local watermark = Instance.new("TextLabel") watermark.Size = UDim2.new(1, -8, 0, 16) watermark.BackgroundTransparency = 1 watermark.Text = myIcon .. " " .. myRole .. " | by " .. AUTOR_NAME .. " 🌈 v3.8.1" watermark.TextColor3 = myColor watermark.Font = Enum.Font.Gotham watermark.TextSize = 11 watermark.LayoutOrder = orderCounter watermark.Parent = scrollFrame --// ---------- МІЙ TAG НАД ГОЛОВОЮ ---------- // local myTagGui = nil local function createMyTag() if myTagGui then myTagGui:Destroy() end local char = player.Character if not char then return end local hrp = char:FindFirstChild("HumanoidRootPart") if not hrp then return end myTagGui = Instance.new("BillboardGui") myTagGui.Name = "RoleTag" myTagGui.Size = UDim2.new(0, 200, 0, 30) myTagGui.StudsOffset = Vector3.new(0, 3.5, 0) myTagGui.AlwaysOnTop = true myTagGui.Parent = hrp local label = Instance.new("TextLabel") label.Size = UDim2.new(1, 0, 1, 0) label.BackgroundTransparency = 1 label.Text = myIcon .. " " .. myRole label.TextColor3 = myColor label.TextStrokeTransparency = 0 label.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) label.Font = Enum.Font.GothamBold label.TextSize = 16 label.Parent = myTagGui end --// ---------- INF JUMP ---------- // 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() local lastJumpState = false while task.wait(0.03) 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) local jumpHeld = humanoid.Jump == true if jumpHeld and not lastJumpState then humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end lastJumpState = jumpHeld end end else lastJumpState = false end end end) --// ---------- NOCLIP ---------- // 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) --// ---------- PLAYER EVENTS ---------- // Players.PlayerAdded:Connect(function(plr) plr.CharacterAdded:Connect(function() if espEnabled and isEnemy(plr) then task.wait(0.5); if espEnabled then createESP(plr) end end end) end) Players.PlayerRemoving:Connect(function(plr) removeESP(plr) end) --// ---------- REOPEN BTN ---------- // 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() playClick(); guiVisible = false; mainFrame.Visible = false; reopenBtn.Visible = true end) reopenBtn.MouseButton1Click:Connect(function() playClick(); guiVisible = true; mainFrame.Visible = true; reopenBtn.Visible = false if flying then joystickGui.Visible = true else joystickGui.Visible = false 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 local hrp = char:WaitForChild("HumanoidRootPart", 5) if hrp then hrp.Anchored = false end if anchored then anchored = false; anchorBtn.Text = "🧊 ANCHOR: OFF"; updateBtnVisual(anchorBtn, anchorStroke, false) end if freeCamEnabled then freeCamEnabled = false; freeCamBtn.Text = "🎥 FREE CAM: OFF"; updateBtnVisual(freeCamBtn, freeCamStroke, false) stopFreeCam(); leftJoy.gui.Visible = false; rightJoy.gui.Visible = false; resetLeftJoy(); resetRightJoy() end if xrayEnabled then xrayEnabled = false; xrayBtn.Text = "🕶 X-RAY: OFF"; updateBtnVisual(xrayBtn, xrayStroke, false); toggleXray(false) end if spinEnabled then spinEnabled = false; spinBtn.Text = "🌀 SPIN: OFF"; updateBtnVisual(spinBtn, spinStroke, false); stopSpin() end if skyboxMode ~= "None" then clearSkybox() rainbowSkyboxBtn.Text = "🎃 HALLOWEEN ATMOSPHERE: OFF" updateBtnVisual(rainbowSkyboxBtn, rainbowSkyboxStroke, false) cleanSkyboxBtn.Text = "☀️ CLEAN ATMOSPHERE: OFF" updateBtnVisual(cleanSkyboxBtn, cleanSkyboxStroke, false) end task.wait(0.5); if flying then createBodyMovers() end; task.wait(0.5); createMyTag() end) if player.Character then task.spawn(createMyTag) end --// ---------- РАЙДУЖНА АНІМАЦІЯ ---------- // task.spawn(function() local hue = 0 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 if myRole == "CREATOR" then local shimmer = 0.6 + math.sin(hue * math.pi * 8) * 0.4 title.TextColor3 = Color3.fromRGB(255, 215 * shimmer + 40, 0) else title.TextColor3 = Color3.fromHSV(hue, 0.8, 1) end end end) task.spawn(function() local espHue = 0 while screenGui.Parent do task.wait(0.05) if espEnabled then local color if espColorMode == "Rainbow" then espHue = (espHue + 0.01) % 1; color = Color3.fromHSV(espHue, 1, 1) elseif espColorMode == "Red" then color = Color3.fromRGB(255, 50, 50) elseif espColorMode == "Green" then color = Color3.fromRGB(50, 255, 50) elseif espColorMode == "Blue" then color = Color3.fromRGB(50, 150, 255) elseif espColorMode == "Pink" then color = Color3.fromRGB(255, 100, 200) else color = Color3.fromRGB(255, 0, 0) end for _, data in pairs(espConnections) do if data.highlight and data.highlight.Parent then data.highlight.FillColor = color; data.highlight.OutlineColor = color end if data.tracer and data.tracer.Parent then data.tracer.BackgroundColor3 = color end end end end end) --// ---------- ОСНОВНИЙ ЦИКЛ FLY ---------- // RunService.RenderStepped:Connect(function() 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.LookForward * (-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)