-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] local StarterGui = game:GetService("StarterGui") local RunService = game:GetService("RunService") local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local Player = Players.LocalPlayer local autoParryEnabled = false local IsParried = false local Connection = nil local lastBallId = "" local PING_COMPENSATION = 0.22 local BASE_RADIUS = 24.0 local MAX_RADIUS = 180.0 local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "AHK_IndicatorGui" ScreenGui.IgnoreGuiInset = true ScreenGui.DisplayOrder = 999999999 ScreenGui.ResetOnSpawn = false ScreenGui.Parent = Player:WaitForChild("PlayerGui") local PixelIndicator = Instance.new("Frame") PixelIndicator.Name = "PixelIndicator" PixelIndicator.Size = UDim2.new(0, 16, 0, 16) PixelIndicator.Position = UDim2.new(0.5, -60, 0.5, -8) PixelIndicator.BackgroundColor3 = Color3.fromRGB(0, 0, 0) PixelIndicator.ZIndex = 999999999 PixelIndicator.BorderSizePixel = 0 PixelIndicator.Parent = ScreenGui local ConfigGui = Instance.new("ScreenGui") ConfigGui.Name = "RocketConfig" ConfigGui.ResetOnSpawn = false ConfigGui.Parent = Player:WaitForChild("PlayerGui") ConfigGui.Enabled = false local MainFrame = Instance.new("Frame") MainFrame.Size = UDim2.new(0, 320, 0, 200) MainFrame.Position = UDim2.new(0.5, -160, 0.5, -100) MainFrame.BackgroundColor3 = Color3.fromRGB(18, 18, 22) MainFrame.BorderSizePixel = 1 MainFrame.BorderColor3 = Color3.fromRGB(50, 50, 60) MainFrame.Active = true MainFrame.Draggable = true MainFrame.Parent = ConfigGui local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, 0, 0, 35) Title.BackgroundTransparency = 1 Title.Text = "🌅 НАСТРОЙКИ НЕБА" Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.TextScaled = true Title.Font = Enum.Font.GothamBold Title.Parent = MainFrame _G.SkySettings = _G.SkySettings or { Color = Color3.fromRGB(0, 150, 255), Brightness = 2, FogColor = Color3.fromRGB(0, 150, 255), } local function MakeColorSlider(parent, y, label, setting, color) local lbl = Instance.new("TextLabel") lbl.Size = UDim2.new(0.6, 0, 0, 22) lbl.Position = UDim2.new(0.05, 0, y, 0) lbl.BackgroundTransparency = 1 lbl.Text = label .. ": " .. tostring(color.R*255) .. "," .. tostring(color.G*255) .. "," .. tostring(color.B*255) lbl.TextColor3 = Color3.fromRGB(200, 200, 200) lbl.TextScaled = true lbl.Font = Enum.Font.Gotham lbl.TextXAlignment = Enum.TextXAlignment.Left lbl.Parent = parent local box = Instance.new("TextBox") box.Size = UDim2.new(0.3, 0, 0, 22) box.Position = UDim2.new(0.65, 0, y, 0) box.BackgroundColor3 = Color3.fromRGB(35, 35, 40) box.Text = tostring(color.R*255) .. "," .. tostring(color.G*255) .. "," .. tostring(color.B*255) box.TextColor3 = Color3.fromRGB(255, 255, 255) box.TextScaled = true box.Font = Enum.Font.Gotham box.Parent = parent box:GetPropertyChangedSignal("Text"):Connect(function() local parts = {} for part in string.gmatch(box.Text, "[^,]+") do table.insert(parts, tonumber(part)) end if #parts == 3 then local r, g, b = parts[1], parts[2], parts[3] if r and g and b and r >= 0 and r <= 255 and g >= 0 and g <= 255 and b >= 0 and b <= 255 then _G.SkySettings[setting] = Color3.fromRGB(r, g, b) lbl.Text = label .. ": " .. r .. "," .. g .. "," .. b end end end) return lbl, box end MakeColorSlider(MainFrame, 0.12, "🎨 Цвет неба", "Color", _G.SkySettings.Color) MakeColorSlider(MainFrame, 0.24, "🌫️ Цвет тумана", "FogColor", _G.SkySettings.FogColor) local function MakeSlider(parent, y, label, setting, min, max) local lbl = Instance.new("TextLabel") lbl.Size = UDim2.new(0.6, 0, 0, 22) lbl.Position = UDim2.new(0.05, 0, y, 0) lbl.BackgroundTransparency = 1 lbl.Text = label .. ": " .. _G.SkySettings[setting] lbl.TextColor3 = Color3.fromRGB(200, 200, 200) lbl.TextScaled = true lbl.Font = Enum.Font.Gotham lbl.TextXAlignment = Enum.TextXAlignment.Left lbl.Parent = parent local box = Instance.new("TextBox") box.Size = UDim2.new(0.15, 0, 0, 22) box.Position = UDim2.new(0.8, 0, y, 0) box.BackgroundColor3 = Color3.fromRGB(35, 35, 40) box.Text = tostring(_G.SkySettings[setting]) box.TextColor3 = Color3.fromRGB(255, 255, 255) box.TextScaled = true box.Font = Enum.Font.Gotham box.Parent = parent box:GetPropertyChangedSignal("Text"):Connect(function() local val = tonumber(box.Text) if val and val >= min and val <= max then _G.SkySettings[setting] = val lbl.Text = label .. ": " .. val end end) return lbl, box end MakeSlider(MainFrame, 0.36, "☀️ Яркость", "Brightness", 0.1, 10) local CloseBtn = Instance.new("TextButton") CloseBtn.Size = UDim2.new(0.3, 0, 0, 30) CloseBtn.Position = UDim2.new(0.35, 0, 0.55, 0) CloseBtn.BackgroundColor3 = Color3.fromRGB(150, 0, 0) CloseBtn.Text = "ЗАКРЫТЬ" CloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255) CloseBtn.TextScaled = true CloseBtn.Font = Enum.Font.GothamBold CloseBtn.BorderSizePixel = 0 CloseBtn.Parent = MainFrame CloseBtn.MouseButton1Click:Connect(function() ConfigGui.Enabled = false end) UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.Insert then ConfigGui.Enabled = not ConfigGui.Enabled end end) RunService.Heartbeat:Connect(function() local Lighting = game:GetService("Lighting") if Lighting then Lighting.Ambient = _G.SkySettings.Color Lighting.OutdoorAmbient = _G.SkySettings.Color Lighting.FogColor = _G.SkySettings.FogColor Lighting.Brightness = _G.SkySettings.Brightness end end) local function SendNotification(title, text, duration) StarterGui:SetCore("SendNotification", { Title = title, Text = text, Duration = duration or 3 }) end local function GetBall() local ballsFolder = workspace:FindFirstChild("Balls") if not ballsFolder then return nil end for _, Ball in ipairs(ballsFolder:GetChildren()) do if tonumber(Ball.Name) and Ball:FindFirstChild("zoomies") and Ball:GetAttribute("realBall") == true then return Ball end end return nil end local CirclePart = Instance.new("Part") CirclePart.Name = "ParryVisualCircle" CirclePart.Shape = Enum.PartType.Cylinder CirclePart.Material = Enum.Material.ForceField CirclePart.Transparency = 0.5 CirclePart.Anchored = true CirclePart.CanCollide = false CirclePart.CastShadow = false CirclePart.Size = Vector3.new(0.2, BASE_RADIUS * 2, BASE_RADIUS * 2) CirclePart.Rotation = Vector3.new(0, 0, 90) CirclePart.Parent = nil local BallBeam = Instance.new("Part") BallBeam.Name = "BallTargetIndicator" BallBeam.Material = Enum.Material.Neon BallBeam.Anchored = true BallBeam.CanCollide = false BallBeam.CastShadow = false BallBeam.Transparency = 0.3 BallBeam.Parent = nil local function ResetConnection() if Connection then Connection:Disconnect() Connection = nil end end local function PressBlockKey() if mouse1click then mouse1click() elseif mouse1press and mouse1release then mouse1press() mouse1release() end end local function WatchBallTarget(Ball) ResetConnection() if Ball then Connection = Ball:GetAttributeChangedSignal("target"):Connect(function() if Ball:GetAttribute("target") ~= Player.Name then IsParried = false lastBallId = "" end end) end end if workspace:FindFirstChild("Balls") then workspace.Balls.ChildAdded:Connect(function(child) task.wait(0.03) local Ball = GetBall() if Ball and Ball == child then IsParried = false lastBallId = "" WatchBallTarget(Ball) end end) end local function UpdateIndicator(Ball, targetName) local targetPlayer = Players:FindFirstChild(targetName) local targetChar = targetPlayer and targetPlayer.Character local targetHRP = targetChar and targetChar:FindFirstChild("HumanoidRootPart") if not targetHRP then local botObj = workspace:FindFirstChild(targetName) targetHRP = botObj and botObj:FindFirstChild("HumanoidRootPart") end if Ball and targetHRP then BallBeam.Parent = workspace local startPos = Ball.Position local endPos = targetHRP.Position local distance = (endPos - startPos).Magnitude BallBeam.Size = Vector3.new(0.4, 0.4, distance) BallBeam.CFrame = CFrame.lookAt(startPos, endPos) * CFrame.new(0, 0, -distance/2) if targetName == Player.Name then BallBeam.Color = Color3.fromRGB(255, 0, 0) CirclePart.Color = Color3.fromRGB(255, 0, 0) else BallBeam.Color = Color3.fromRGB(0, 255, 0) CirclePart.Color = Color3.fromRGB(130, 0, 0) end else BallBeam.Parent = nil end end RunService.PreSimulation:Connect(function() local Character = Player.Character local HRP = Character and Character:FindFirstChild("HumanoidRootPart") if not HRP then CirclePart.Parent = nil BallBeam.Parent = nil return end if autoParryEnabled then CirclePart.Parent = workspace CirclePart.Position = HRP.Position - Vector3.new(0, 2.8, 0) else CirclePart.Parent = nil BallBeam.Parent = nil end if not autoParryEnabled then return end local Ball = GetBall() if not Ball then CirclePart.Size = Vector3.new(0.2, BASE_RADIUS * 2, BASE_RADIUS * 2) BallBeam.Parent = nil IsParried = false lastBallId = "" return end local velocity = Ball.AssemblyLinearVelocity local TotalSpeed = velocity.Magnitude if TotalSpeed < 0.1 then TotalSpeed = 0.1 end local ballDirection = velocity.Unit local toPlayerVector = HRP.Position - Ball.Position local Distance = toPlayerVector.Magnitude local ballId = Ball.Name local dotProduct = ballDirection:Dot(toPlayerVector.Unit) local targetAttribute = Ball:GetAttribute("target") or "" local isTargetingMe = (targetAttribute == Player.Name) UpdateIndicator(Ball, targetAttribute) -- РАДИУС РАСТЁТ БЫСТРЕЕ ДЛЯ БЫСТРЫХ МЯЧЕЙ local speedFactor = 5.5 if TotalSpeed > 300 then speedFactor = 4.0 -- Ускоренный рост радиуса end local dynamicRadius = math.clamp(BASE_RADIUS + (TotalSpeed / speedFactor), BASE_RADIUS, MAX_RADIUS) CirclePart.Size = Vector3.new(0.2, dynamicRadius * 2, dynamicRadius * 2) if lastBallId == ballId and Distance > 18 then return end if dotProduct < -0.15 then IsParried = false lastBallId = "" end if isTargetingMe and dotProduct > 0.1 and not IsParried then -- ДИНАМИЧЕСКАЯ ЗАДЕРЖКА ДЛЯ БЫСТРЫХ МЯЧЕЙ local pingComp = PING_COMPENSATION if TotalSpeed > 300 then pingComp = PING_COMPENSATION * 1.4 -- Увеличенная компенсация end local futureBallPos = Ball.Position + (velocity * pingComp) local futureDistance = (HRP.Position - futureBallPos).Magnitude if (Distance <= dynamicRadius or futureDistance <= dynamicRadius) then IsParried = true lastBallId = ballId task.spawn(PressBlockKey) task.spawn(function() PixelIndicator.BackgroundColor3 = Color3.fromRGB(0, 255, 0) task.wait(0.02) PixelIndicator.BackgroundColor3 = Color3.fromRGB(0, 0, 0) end) end end end) local function ToggleAutoParry() autoParryEnabled = not autoParryEnabled local status = autoParryEnabled and "ВКЛ" or "ВЫКЛ" SendNotification("Auto Parry", "Индикатор 20мс: " .. status, 2) end UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.K then ToggleAutoParry() end end) local currentBall = GetBall() if currentBall then WatchBallTarget(currentBall) end SendNotification("Auto Parry", "Insert — настройки неба", 4)