-- [[ 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 ]] -- Button Game Hub — Auto-Farm, Auto-Kill & Safe Teleport Edition local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local VirtualInputManager = game:GetService("VirtualInputManager") local TweenService = game:GetService("TweenService") local Workspace = game:GetService("Workspace") local LocalPlayer = Players.LocalPlayer local Camera = Workspace.CurrentCamera -- Защищённый контейнер GUI local parentGui = (gethui and gethui()) or LocalPlayer:WaitForChild("PlayerGui") if parentGui:FindFirstChild("OrionFixHub") then parentGui:FindFirstChild("OrionFixHub"):Destroy() end local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "OrionFixHub" ScreenGui.ResetOnSpawn = false ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling ScreenGui.Parent = parentGui -- Палитра стилей local MAIN_BG = Color3.fromRGB(25, 24, 25) local SIDEBAR_BG = Color3.fromRGB(32, 31, 32) local CARD_BG = Color3.fromRGB(35, 34, 35) local CARD_BORDER = Color3.fromRGB(50, 49, 50) local TEXT_MAIN = Color3.fromRGB(255, 255, 255) local TEXT_DARK = Color3.fromRGB(160, 158, 160) local ACCENT_COLOR = Color3.fromRGB(110, 86, 207) -- Главное окно local MainFrame = Instance.new("Frame") MainFrame.Size = UDim2.new(0, 520, 0, 400) MainFrame.Position = UDim2.new(0.5, -260, 0.5, -200) MainFrame.BackgroundColor3 = MAIN_BG MainFrame.BorderSizePixel = 0 MainFrame.ClipsDescendants = true MainFrame.Parent = ScreenGui local MainCorner = Instance.new("UICorner") MainCorner.CornerRadius = UDim.new(0, 10) MainCorner.Parent = MainFrame -- Шапка local TopBar = Instance.new("Frame") TopBar.Size = UDim2.new(1, 0, 0, 40) TopBar.BackgroundTransparency = 1 TopBar.Parent = MainFrame local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, -90, 1, 0) Title.Position = UDim2.new(0, 18, 0, 0) Title.BackgroundTransparency = 1 Title.Text = "Button Game Hub" Title.TextColor3 = TEXT_MAIN Title.TextSize = 16 Title.Font = Enum.Font.SourceSansBold Title.TextXAlignment = Enum.TextXAlignment.Left Title.Parent = TopBar -- Перетаскивание local dragging, dragStart, startPos TopBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = MainFrame.Position end end) UserInputService.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart MainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end end) -- Sidebar local Sidebar = Instance.new("Frame") Sidebar.Size = UDim2.new(0, 145, 1, -40) Sidebar.Position = UDim2.new(0, 0, 0, 40) Sidebar.BackgroundColor3 = SIDEBAR_BG Sidebar.BorderSizePixel = 0 Sidebar.Parent = MainFrame local SideList = Instance.new("UIListLayout") SideList.Padding = UDim.new(0, 4) SideList.SortOrder = Enum.SortOrder.LayoutOrder SideList.Parent = Sidebar local SidePad = Instance.new("UIPadding") SidePad.PaddingTop = UDim.new(0, 8) SidePad.PaddingLeft = UDim.new(0, 8) SidePad.PaddingRight = UDim.new(0, 8) SidePad.Parent = Sidebar -- Карточка игрока local UserCard = Instance.new("Frame") UserCard.Size = UDim2.new(1, 0, 0, 42) UserCard.Position = UDim2.new(0, 0, 1, -42) UserCard.BackgroundTransparency = 1 UserCard.Parent = Sidebar local UserAvatar = Instance.new("ImageLabel") UserAvatar.Size = UDim2.new(0, 28, 0, 28) UserAvatar.Position = UDim2.new(0, 6, 0.5, -14) UserAvatar.BackgroundTransparency = 1 UserAvatar.Image = "rbxthumb://type=AvatarHeadShot&id=" .. LocalPlayer.UserId .. "&w=150&h=150" UserAvatar.Parent = UserCard local AvatarCorner = Instance.new("UICorner") AvatarCorner.CornerRadius = UDim.new(1, 0) AvatarCorner.Parent = UserAvatar local UserName = Instance.new("TextLabel") UserName.Size = UDim2.new(1, -42, 1, 0) UserName.Position = UDim2.new(0, 40, 0, 0) UserName.BackgroundTransparency = 1 UserName.Text = LocalPlayer.Name UserName.TextColor3 = TEXT_MAIN UserName.Font = Enum.Font.SourceSansBold UserName.TextSize = 13 UserName.TextXAlignment = Enum.TextXAlignment.Left UserName.TextTruncate = Enum.TextTruncate.AtEnd UserName.Parent = UserCard -- Область контента local Content = Instance.new("Frame") Content.Size = UDim2.new(1, -145, 1, -40) Content.Position = UDim2.new(0, 145, 0, 40) Content.BackgroundTransparency = 1 Content.Parent = MainFrame local tabs = {} local function createTab(name) local TabBtn = Instance.new("Frame") TabBtn.Size = UDim2.new(1, 0, 0, 32) TabBtn.BackgroundTransparency = 1 TabBtn.Parent = Sidebar local Icon = Instance.new("ImageLabel") Icon.Size = UDim2.new(0, 16, 0, 16) Icon.Position = UDim2.new(0, 6, 0.5, -8) Icon.BackgroundTransparency = 1 Icon.Image = "rbxassetid://6031280882" Icon.ImageColor3 = TEXT_DARK Icon.Parent = TabBtn local TabLabel = Instance.new("TextLabel") TabLabel.Size = UDim2.new(1, -28, 1, 0) TabLabel.Position = UDim2.new(0, 28, 0, 0) TabLabel.BackgroundTransparency = 1 TabLabel.Text = name TabLabel.TextColor3 = TEXT_DARK TabLabel.Font = Enum.Font.SourceSansBold TabLabel.TextSize = 13 TabLabel.TextXAlignment = Enum.TextXAlignment.Left TabLabel.Parent = TabBtn local Container = Instance.new("ScrollingFrame") Container.Size = UDim2.new(1, 0, 1, 0) Container.BackgroundTransparency = 1 Container.BorderSizePixel = 0 Container.ScrollBarThickness = 3 Container.ScrollBarImageColor3 = Color3.fromRGB(80, 80, 80) Container.CanvasSize = UDim2.new(0, 0, 0, 0) Container.AutomaticCanvasSize = Enum.AutomaticSize.Y Container.Visible = false Container.Parent = Content local List = Instance.new("UIListLayout") List.Padding = UDim.new(0, 8) List.SortOrder = Enum.SortOrder.LayoutOrder List.Parent = Container local Pad = Instance.new("UIPadding") Pad.PaddingTop = UDim.new(0, 10) Pad.PaddingLeft = UDim.new(0, 12) Pad.PaddingRight = UDim.new(0, 14) Pad.PaddingBottom = UDim.new(0, 10) Pad.Parent = Container local function selectTab() for _, t in pairs(tabs) do t.Container.Visible = false t.Label.TextColor3 = TEXT_DARK t.Icon.ImageColor3 = TEXT_DARK end Container.Visible = true TabLabel.TextColor3 = TEXT_MAIN Icon.ImageColor3 = TEXT_MAIN end TabBtn.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then selectTab() end end) local tabData = {Container = Container, Label = TabLabel, Icon = Icon, Select = selectTab} table.insert(tabs, tabData) return Container, tabData end local MainTabContainer, MainTabObj = createTab("Главные функции") local FarmTabContainer, FarmTabObj = createTab("Автофарм") local CombatTabContainer, CombatTabObj = createTab("Бой / Килл") local SettingsTabContainer, SettingsTabObj = createTab("Выход") MainTabObj.Select() local function addSection(container, text) local Label = Instance.new("TextLabel") Label.Size = UDim2.new(1, 0, 0, 18) Label.BackgroundTransparency = 1 Label.Text = text Label.TextColor3 = TEXT_DARK Label.Font = Enum.Font.SourceSans Label.TextSize = 13 Label.TextXAlignment = Enum.TextXAlignment.Left Label.Parent = container end local function addToggle(container, text, default, callback) local Card = Instance.new("Frame") Card.Size = UDim2.new(1, 0, 0, 42) Card.BackgroundColor3 = CARD_BG Card.BorderSizePixel = 1 Card.BorderColor3 = CARD_BORDER Card.Parent = container local CardCorner = Instance.new("UICorner") CardCorner.CornerRadius = UDim.new(0, 6) CardCorner.Parent = Card local Label = Instance.new("TextLabel") Label.Size = UDim2.new(1, -50, 1, 0) Label.Position = UDim2.new(0, 12, 0, 0) Label.BackgroundTransparency = 1 Label.Text = text Label.TextColor3 = TEXT_MAIN Label.Font = Enum.Font.SourceSansBold Label.TextSize = 14 Label.TextXAlignment = Enum.TextXAlignment.Left Label.Parent = Card local Box = Instance.new("Frame") Box.Size = UDim2.new(0, 22, 0, 22) Box.Position = UDim2.new(1, -34, 0.5, -11) Box.BackgroundColor3 = default and ACCENT_COLOR or Color3.fromRGB(45, 44, 45) Box.BorderSizePixel = 1 Box.BorderColor3 = CARD_BORDER Box.Parent = Card local BoxCorner = Instance.new("UICorner") BoxCorner.CornerRadius = UDim.new(0, 5) BoxCorner.Parent = Box local CheckIcon = Instance.new("ImageLabel") CheckIcon.Size = UDim2.new(0, 14, 0, 14) CheckIcon.Position = UDim2.new(0.5, -7, 0.5, -7) CheckIcon.BackgroundTransparency = 1 CheckIcon.Image = "rbxassetid://6031094667" CheckIcon.ImageColor3 = Color3.fromRGB(255, 255, 255) CheckIcon.Visible = default CheckIcon.Parent = Box local state = default local function toggle() state = not state Box.BackgroundColor3 = state and ACCENT_COLOR or Color3.fromRGB(45, 44, 45) CheckIcon.Visible = state callback(state) end Card.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then toggle() end end) end local function addSlider(container, text, min, max, default, valueName, callback) local Card = Instance.new("Frame") Card.Size = UDim2.new(1, 0, 0, 56) Card.BackgroundColor3 = CARD_BG Card.BorderSizePixel = 1 Card.BorderColor3 = CARD_BORDER Card.Parent = container local CardCorner = Instance.new("UICorner") CardCorner.CornerRadius = UDim.new(0, 6) CardCorner.Parent = Card local Label = Instance.new("TextLabel") Label.Size = UDim2.new(1, -20, 0, 20) Label.Position = UDim2.new(0, 12, 0, 6) Label.BackgroundTransparency = 1 Label.Text = text Label.TextColor3 = TEXT_MAIN Label.Font = Enum.Font.SourceSansBold Label.TextSize = 14 Label.TextXAlignment = Enum.TextXAlignment.Left Label.Parent = Card local Track = Instance.new("Frame") Track.Size = UDim2.new(1, -24, 0, 20) Track.Position = UDim2.new(0, 12, 0, 28) Track.BackgroundColor3 = Color3.fromRGB(22, 21, 22) Track.BorderSizePixel = 1 Track.BorderColor3 = CARD_BORDER Track.Parent = Card local TrackCorner = Instance.new("UICorner") TrackCorner.CornerRadius = UDim.new(0, 5) TrackCorner.Parent = Track local Thumb = Instance.new("Frame") local startRatio = math.clamp((default - min) / (max - min), 0.05, 1) Thumb.Size = UDim2.new(startRatio, 0, 1, 0) Thumb.BackgroundColor3 = Color3.fromRGB(200, 200, 200) Thumb.BorderSizePixel = 0 Thumb.Parent = Track local ThumbCorner = Instance.new("UICorner") ThumbCorner.CornerRadius = UDim.new(0, 5) ThumbCorner.Parent = Thumb local ThumbText = Instance.new("TextLabel") ThumbText.Size = UDim2.new(1, 0, 1, 0) ThumbText.BackgroundTransparency = 1 ThumbText.Text = tostring(default) .. " " .. valueName ThumbText.TextColor3 = Color3.fromRGB(30, 30, 30) ThumbText.Font = Enum.Font.SourceSansBold ThumbText.TextSize = 12 ThumbText.Parent = Thumb local dragging = false local function updateSlider(input) local pos = math.clamp((input.Position.X - Track.AbsolutePosition.X) / Track.AbsoluteSize.X, 0, 1) local val = math.floor(min + (max - min) * pos) local visualPos = math.clamp(pos, 0.1, 1) Thumb.Size = UDim2.new(visualPos, 0, 1, 0) ThumbText.Text = tostring(val) .. " " .. valueName callback(val) end Track.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true updateSlider(input) end end) UserInputService.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then updateSlider(input) end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end end) end local function addDropdown(container, text, options, defaultOption, callback) local Card = Instance.new("Frame") Card.Size = UDim2.new(1, 0, 0, 42) Card.BackgroundColor3 = CARD_BG Card.BorderSizePixel = 1 Card.BorderColor3 = CARD_BORDER Card.ClipsDescendants = true Card.Parent = container local CardCorner = Instance.new("UICorner") CardCorner.CornerRadius = UDim.new(0, 6) CardCorner.Parent = Card local Header = Instance.new("Frame") Header.Size = UDim2.new(1, 0, 0, 42) Header.BackgroundTransparency = 1 Header.Parent = Card local Label = Instance.new("TextLabel") Label.Size = UDim2.new(0.5, 0, 1, 0) Label.Position = UDim2.new(0, 12, 0, 0) Label.BackgroundTransparency = 1 Label.Text = text Label.TextColor3 = TEXT_MAIN Label.Font = Enum.Font.SourceSansBold Label.TextSize = 13 Label.TextXAlignment = Enum.TextXAlignment.Left Label.Parent = Header local SelectedText = Instance.new("TextLabel") SelectedText.Size = UDim2.new(0.5, -20, 1, 0) SelectedText.Position = UDim2.new(0.5, 0, 0, 0) SelectedText.BackgroundTransparency = 1 SelectedText.Text = defaultOption .. " ▼" SelectedText.TextColor3 = ACCENT_COLOR SelectedText.Font = Enum.Font.SourceSansBold SelectedText.TextSize = 12 SelectedText.TextXAlignment = Enum.TextXAlignment.Right SelectedText.Parent = Header local ListFrame = Instance.new("Frame") ListFrame.Size = UDim2.new(1, -20, 0, #options * 28) ListFrame.Position = UDim2.new(0, 10, 0, 42) ListFrame.BackgroundTransparency = 1 ListFrame.Parent = Card local ListLayout = Instance.new("UIListLayout") ListLayout.SortOrder = Enum.SortOrder.LayoutOrder ListLayout.Padding = UDim.new(0, 4) ListLayout.Parent = ListFrame local isOpen = false local function toggleDropdown() isOpen = not isOpen if isOpen then Card.Size = UDim2.new(1, 0, 0, 46 + (#options * 32)) SelectedText.Text = defaultOption .. " ▲" else Card.Size = UDim2.new(1, 0, 0, 42) SelectedText.Text = defaultOption .. " ▼" end end Header.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then toggleDropdown() end end) for _, opt in ipairs(options) do local OptBtn = Instance.new("Frame") OptBtn.Size = UDim2.new(1, 0, 0, 28) OptBtn.BackgroundColor3 = Color3.fromRGB(45, 44, 45) OptBtn.BorderSizePixel = 0 OptBtn.Parent = ListFrame local OptCorner = Instance.new("UICorner") OptCorner.CornerRadius = UDim.new(0, 4) OptCorner.Parent = OptBtn local OptLabel = Instance.new("TextLabel") OptLabel.Size = UDim2.new(1, 0, 1, 0) OptLabel.BackgroundTransparency = 1 OptLabel.Text = opt OptLabel.TextColor3 = TEXT_MAIN OptLabel.Font = Enum.Font.SourceSans OptLabel.TextSize = 13 OptLabel.Parent = OptBtn OptBtn.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then defaultOption = opt SelectedText.Text = opt .. " ▼" toggleDropdown() callback(opt) end end) end end local function addButton(container, text, callback) local Card = Instance.new("Frame") Card.Size = UDim2.new(1, 0, 0, 42) Card.BackgroundColor3 = Color3.fromRGB(180, 40, 50) Card.Parent = container local CardCorner = Instance.new("UICorner") CardCorner.CornerRadius = UDim.new(0, 6) CardCorner.Parent = Card local Label = Instance.new("TextLabel") Label.Size = UDim2.new(1, 0, 1, 0) Label.BackgroundTransparency = 1 Label.Text = text Label.TextColor3 = TEXT_MAIN Label.Font = Enum.Font.SourceSansBold Label.TextSize = 14 Label.Parent = Card Card.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then callback() end end) end -- ==================== Переменные состояния ==================== local speedEnabled = false local walkSpeedValue = 16 local flyEnabled = false local flySpeedValue = 50 local autoFarmEnabled = false local farmDelay = 0.25 local maxFarmDistance = 80 -- Максимальная дистанция для сбора предметов local useSmoothMove = true -- Защита от античита (плавный подход) local farmMoveSpeed = 45 -- Скорость перемещения при обходе античита local autoReviveEnabled = false local reviveMethod = "Прямой ТП и Помощь" local actionKeyMethod = "Лечить / Поднять (E)" local autoKillZombies = false local attackDistance = 3 local selectedTargetMode = "Только Зомби (Zombie)" local bodyVelocity = nil local bodyGyro = nil local connections = {} local function getCharacter() return LocalPlayer.Character end local function getHumanoid() local c = getCharacter() return c and c:FindFirstChildOfClass("Humanoid") end local function getRoot() local c = getCharacter() return c and c:FindFirstChild("HumanoidRootPart") end local function stopFly() if bodyVelocity then bodyVelocity:Destroy() bodyVelocity = nil end if bodyGyro then bodyGyro:Destroy() bodyGyro = nil end local hum = getHumanoid() if hum then hum.PlatformStand = false end end local function startFly() stopFly() local root = getRoot() local hum = getHumanoid() if not root or not hum then return end hum.PlatformStand = true bodyVelocity = Instance.new("BodyVelocity") bodyVelocity.MaxForce = Vector3.new(1e9, 1e9, 1e9) bodyVelocity.Velocity = Vector3.zero bodyVelocity.Parent = root bodyGyro = Instance.new("BodyGyro") bodyGyro.MaxTorque = Vector3.new(1e9, 1e9, 1e9) bodyGyro.P = 9e4 bodyGyro.CFrame = root.CFrame bodyGyro.Parent = root end local function updateSpeed() local hum = getHumanoid() if hum then hum.WalkSpeed = speedEnabled and walkSpeedValue or 16 end end -- Функция безопасного перемещения (Плавный Tween — Обход античита) local function safeMoveTo(targetCFrame) local root = getRoot() if not root then return end if useSmoothMove then local distance = (root.Position - targetCFrame.Position).Magnitude local travelTime = math.clamp(distance / farmMoveSpeed, 0.05, 3.5) local tweenInfo = TweenInfo.new(travelTime, Enum.EasingStyle.Linear) local tween = TweenService:Create(root, tweenInfo, {CFrame = targetCFrame}) tween:Play() tween.Completed:Wait() else root.CFrame = targetCFrame end end -- Сбор предметов с проверкой дистанции local function getCollectablePrompts() local prompts = {} local root = getRoot() if not root then return prompts end for _, desc in pairs(Workspace:GetDescendants()) do if desc:IsA("ProximityPrompt") and desc.Enabled then local parentModel = desc:FindFirstAncestorOfClass("Model") if not (parentModel and Players:GetPlayerFromCharacter(parentModel)) then local part = desc.Parent if part and (part:IsA("BasePart") or part:IsA("Model")) then local partPos = part:IsA("BasePart") and part.Position or part:GetPivot().Position local dist = (partPos - root.Position).Magnitude -- Проверка по слайдеру дистанции if dist <= maxFarmDistance then table.insert(prompts, desc) end end end end end return prompts end -- Поиск ползающих / упавших игроков local function getDownedPlayers() local downedList = {} for _, plr in ipairs(Players:GetPlayers()) do if plr ~= LocalPlayer and plr.Character then local char = plr.Character local root = char:FindFirstChild("HumanoidRootPart") or char:FindFirstChild("Torso") local hum = char:FindFirstChildOfClass("Humanoid") if root and hum and hum.Health > 0 then local prompt = char:FindFirstChildOfClass("ProximityPrompt", true) local isDowned = char:FindFirstChild("Downed") or char:FindFirstChild("Knocked") or char:FindFirstChild("IsDowned") or char:GetAttribute("Downed") or char:GetAttribute("Knocked") if prompt or isDowned or hum.PlatformStand then table.insert(downedList, {Player = plr, Character = char, Root = root, Prompt = prompt}) end end end end return downedList end -- Функция удерживания клавиши в игре local function holdKey(keyCode, duration) VirtualInputManager:SendKeyEvent(true, keyCode, false, game) task.wait(duration) VirtualInputManager:SendKeyEvent(false, keyCode, false, game) end -- Проверка врагов local function isValidTarget(obj) if not obj:IsA("Model") or obj == LocalPlayer.Character or Players:GetPlayerFromCharacter(obj) then return false end local hum = obj:FindFirstChildOfClass("Humanoid") local root = obj:FindFirstChild("HumanoidRootPart") or obj:FindFirstChild("Torso") or obj.PrimaryPart if not hum or hum.Health <= 0 or not root then return false end local nameLower = obj.Name:lower() local friendlyKeywords = {"cleaner", "janitor", "shop", "merchant", "worker", "seller", "quest", "чистильщик", "уборщик", "продавец"} for _, word in ipairs(friendlyKeywords) do if nameLower:find(word) then return false end end if selectedTargetMode == "Только Зомби (Zombie)" then return nameLower:find("zombie") or nameLower:find("зомби") elseif selectedTargetMode == "Все Враждебные (Enemies/Mobs)" then local enemyKeywords = {"zombie", "зомби", "mob", "enemy", "monster", "mutant", "boss", "attacker", "beast"} for _, kw in ipairs(enemyKeywords) do if nameLower:find(kw) then return true end end local parentName = obj.Parent and obj.Parent.Name:lower() or "" if parentName:find("zombie") or parentName:find("enemy") or parentName:find("mob") then return true end return false elseif selectedTargetMode == "Все NPC (Опасно!)" then return true end return false end local function getTargets() local targets = {} for _, obj in pairs(Workspace:GetChildren()) do if isValidTarget(obj) then local hum = obj:FindFirstChildOfClass("Humanoid") local root = obj:FindFirstChild("HumanoidRootPart") or obj:FindFirstChild("Torso") or obj.PrimaryPart table.insert(targets, {Model = obj, Humanoid = hum, Root = root}) end end for _, folderName in ipairs({"Zombies", "Enemies", "NPCs", "Mobs"}) do local folder = Workspace:FindFirstChild(folderName) if folder then for _, obj in pairs(folder:GetChildren()) do if isValidTarget(obj) then local hum = obj:FindFirstChildOfClass("Humanoid") local root = obj:FindFirstChild("HumanoidRootPart") or obj:FindFirstChild("Torso") or obj.PrimaryPart table.insert(targets, {Model = obj, Humanoid = hum, Root = root}) end end end end return targets end -- Цикл Автофарма предметов (с ограниченной дистанцией и обходом) task.spawn(function() while true do if autoFarmEnabled then local root = getRoot() if root then local itemPrompts = getCollectablePrompts() for _, prompt in ipairs(itemPrompts) do if not autoFarmEnabled then break end local part = prompt.Parent if part and (part:IsA("BasePart") or part:IsA("Model")) then local targetCFrame = part:IsA("BasePart") and part.CFrame or part:GetPivot() -- Безопасный переход к предмету safeMoveTo(targetCFrame * CFrame.new(0, 2.5, 0)) task.wait(0.1) if fireproximityprompt then fireproximityprompt(prompt) else prompt:InputHoldBegin() task.wait(prompt.HoldDuration or 0.1) prompt:InputHoldEnd() end task.wait(farmDelay) end end end end task.wait(0.5) end end) -- Цикл Авто-Лечения / Поднятия / Забора игроков task.spawn(function() while true do if autoReviveEnabled then local root = getRoot() if root then local downedList = getDownedPlayers() for _, target in ipairs(downedList) do if not autoReviveEnabled then break end if target.Root and target.Root.Parent then local safePosBeforeTP = root.CFrame -- Безопасный подход к игроку safeMoveTo(target.Root.CFrame * CFrame.new(0, 1.5, 0)) task.wait(0.2) local targetKey = Enum.KeyCode.E local holdTime = 3.5 if actionKeyMethod == "Забрать / Нести (Q)" then targetKey = Enum.KeyCode.Q holdTime = 0.5 end local prompt = target.Prompt or target.Character:FindFirstChildOfClass("ProximityPrompt", true) if prompt and fireproximityprompt then fireproximityprompt(prompt) end holdKey(targetKey, holdTime) task.wait(0.3) if reviveMethod == "Безопасный ТП (ТП -> Рес -> Назад)" then safeMoveTo(safePosBeforeTP) end task.wait(0.5) end end end end task.wait(0.5) end end) -- Цикл Авто-Убийства task.spawn(function() while true do if autoKillZombies then local char = getCharacter() local root = getRoot() if char and root then local tool = char:FindFirstChildOfClass("Tool") if not tool then local backpackTool = LocalPlayer.Backpack:FindFirstChildOfClass("Tool") if backpackTool then backpackTool.Parent = char tool = backpackTool end end local targets = getTargets() for _, z in ipairs(targets) do if not autoKillZombies then break end while autoKillZombies and z.Humanoid.Health > 0 and z.Root and z.Root.Parent do root.CFrame = z.Root.CFrame * CFrame.new(0, 0, attackDistance) if tool then tool:Activate() end task.wait(0.08) end end end end task.wait(0.3) end end) -- Рендер-цикл connections.renderLoop = RunService.RenderStepped:Connect(function() if speedEnabled then local hum = getHumanoid() if hum and hum.WalkSpeed ~= walkSpeedValue then hum.WalkSpeed = walkSpeedValue end end if flyEnabled then local root = getRoot() local hum = getHumanoid() if root and hum then hum.PlatformStand = true if not bodyVelocity or not bodyVelocity.Parent or not bodyGyro or not bodyGyro.Parent then startFly() end local moveVector = Vector3.zero if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveVector = moveVector + Camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveVector = moveVector - Camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveVector = moveVector - Camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveVector = moveVector + Camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveVector = moveVector + Vector3.new(0, 1, 0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then moveVector = moveVector - Vector3.new(0, 1, 0) end if moveVector.Magnitude > 0 then moveVector = moveVector.Unit * flySpeedValue end if bodyVelocity then bodyVelocity.Velocity = moveVector end if bodyGyro then bodyGyro.CFrame = Camera.CFrame end end end end) connections.charAdded = LocalPlayer.CharacterAdded:Connect(function() task.wait(0.5) updateSpeed() if flyEnabled then startFly() end end) local function unloadScript() autoReviveEnabled = false autoKillZombies = false autoFarmEnabled = false flyEnabled = false speedEnabled = false stopFly() local hum = getHumanoid() if hum then hum.WalkSpeed = 16 end for _, conn in pairs(connections) do if conn then conn:Disconnect() end end table.clear(connections) ScreenGui:Destroy() end -- ==================== Наполнение Меню ==================== -- Вкладка 1: Главные addSection(MainTabContainer, "Безопасная скорость (Safe Speed)") addToggle(MainTabContainer, "Включить скорость", false, function(val) speedEnabled = val updateSpeed() end) addSlider(MainTabContainer, "Регулировка скорости", 16, 50, 16, "Speed", function(val) walkSpeedValue = val if speedEnabled then updateSpeed() end end) addSection(MainTabContainer, "Режим полёта (Fly)") addToggle(MainTabContainer, "Включить полёт", false, function(val) flyEnabled = val if flyEnabled then startFly() else stopFly() end end) addSlider(MainTabContainer, "Скорость полёта", 20, 150, 50, "Fly Speed", function(val) flySpeedValue = val end) -- Вкладка 2: Автофарм addSection(FarmTabContainer, "Защита от античита (Анти-Кик)") addToggle(FarmTabContainer, "Обход античита (Плавный ТП)", true, function(val) useSmoothMove = val end) addSlider(FarmTabContainer, "Макс. дистанция фарма", 10, 300, 80, "studs", function(val) maxFarmDistance = val end) addSlider(FarmTabContainer, "Скорость перехода (Bypass)", 20, 120, 45, "spd", function(val) farmMoveSpeed = val end) addSection(FarmTabContainer, "Автоматический сбор предметов") addToggle(FarmTabContainer, "Авто ТП и поднятие предметов (E)", false, function(val) autoFarmEnabled = val end) addSlider(FarmTabContainer, "Задержка между предметами", 1, 10, 2, "сек", function(val) farmDelay = val / 10 end) addSection(FarmTabContainer, "Авто Лечение / Спасение игроков") addDropdown(FarmTabContainer, "Действие при ТП", { "Лечить / Поднять (E)", "Забрать / Нести (Q)" }, "Лечить / Поднять (E)", function(selected) actionKeyMethod = selected end) addDropdown(FarmTabContainer, "Способ спасения", { "Прямой ТП и Помощь", "Безопасный ТП (ТП -> Рес -> Назад)" }, "Прямой ТП и Помощь", function(selected) reviveMethod = selected end) addToggle(FarmTabContainer, "Авто жизнь (Поднимать упавших)", false, function(val) autoReviveEnabled = val end) -- Вкладка 3: Бой / Килл addSection(CombatTabContainer, "Выбор цели для атаки") addDropdown(CombatTabContainer, "Кого атаковать", { "Только Зомби (Zombie)", "Все Враждебные (Enemies/Mobs)", "Все NPC (Опасно!)" }, "Только Зомби (Zombie)", function(selected) selectedTargetMode = selected end) addSection(CombatTabContainer, "Автоматический бой") addToggle(CombatTabContainer, "Включить Автокилл", false, function(val) autoKillZombies = val end) addSlider(CombatTabContainer, "Дистанция атаки со спины", 1, 6, 3, "studs", function(val) attackDistance = val end) -- Вкладка 4: Выход addSection(SettingsTabContainer, "Управление скриптом") addButton(SettingsTabContainer, "Полностью закрыть и отключить всё", function() unloadScript() end)