local Players = game:GetService("Players") local RunService = game:GetService("RunService") local Workspace = game:GetService("Workspace") local ReplicatedStorage = game:GetService("ReplicatedStorage") local player = Players.LocalPlayer local camera = Workspace.CurrentCamera -- Настройки по умолчанию local Config = { AutoFarm = false, FlySpeed = 60, -- Значение от 0 до 500 AutoKey = true -- Искать ключ и открывать дверь или просто сразу лететь к двери } -- Игровые папки DOORS local CurrentRooms = Workspace:WaitForChild("CurrentRooms") local GameData = ReplicatedStorage:WaitForChild("GameData") -- Вспомогательная функция перемещения через CFrame local function moveToCFrame(targetCFrame) local char = player.Character if not char then return end local hrp = char:FindFirstChild("HumanoidRootPart") local humanoid = char:FindFirstChildOfClass("Humanoid") if not hrp or not humanoid then return end humanoid.PlatformStand = true while Config.AutoFarm and (hrp.Position - targetCFrame.Position).Magnitude > 2 do if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") then break end hrp.AssemblyLinearVelocity = Vector3.zero hrp.AssemblyAngularVelocity = Vector3.zero -- Полет прямо в точку со заданной скоростью local dir = (targetCFrame.Position - hrp.Position).Unit local newPos = hrp.Position + (dir * (Config.FlySpeed * RunService.Heartbeat:Wait())) hrp.CFrame = CFrame.lookAt(newPos, newPos + dir) end if not Config.AutoFarm and humanoid then humanoid.PlatformStand = false end end -- Функция поиска текущей двери local function getLatestDoor() local latestRoomNum = GameData.LatestRoom.Value local room = CurrentRooms:FindFirstChild(tostring(latestRoomNum)) if room then local door = room:FindFirstChild("Door") if door then return door, room end end return nil, nil end -- Поиск ключа в комнате local function getKeyInRoom(room) for _, item in ipairs(room:GetDescendants()) do if item.Name == "KeyObtain" or item.Name == "Key" then local prompt = item:FindFirstChildOfClass("ProximityPrompt") or item:FindFirstChildWhichIsA("ProximityPrompt", true) return item, prompt end end return nil, nil end -- Главный поток автофарма task.spawn(function() while true do task.wait(0.1) if Config.AutoFarm then local door, room = getLatestDoor() if door and room then local doorPart = door:FindFirstChild("Door") or door:FindFirstChild("PrimaryPart") or door local lock = door:FindFirstChild("Lock") -- Если есть замок и включен AutoKey if lock and Config.AutoKey then local key, prompt = getKeyInRoom(room) if key then local keyPart = key:IsA("BasePart") and key or key:FindFirstChildWhichIsA("BasePart", true) if keyPart then -- Летим к ключу moveToCFrame(keyPart.CFrame) -- Забираем ключ if prompt then fireproximityprompt(prompt) end task.wait(0.3) end end end -- Летим к двери if doorPart then moveToCFrame(doorPart.CFrame) -- Открываем дверь / поворачиваем ручку local doorPrompt = door:FindFirstChildWhichIsA("ProximityPrompt", true) if doorPrompt then fireproximityprompt(doorPrompt) end task.wait(0.5) end end end end end) --- ================= UI ИНТЕРФЕЙС ================= --- local screenGui = Instance.new("ScreenGui") screenGui.Name = "DoorsHardcoreUI" screenGui.ResetOnSpawn = false screenGui.Parent = player:WaitForChild("PlayerGui") local main = Instance.new("Frame") main.Size = UDim2.new(0, 280, 0, 310) main.Position = UDim2.new(0.05, 0, 0.25, 0) main.BackgroundColor3 = Color3.fromRGB(18, 18, 24) main.BorderSizePixel = 0 main.Active = true main.Draggable = true main.Parent = screenGui local corner = Instance.new("UICorner", main) corner.CornerRadius = UDim.new(0, 10) local stroke = Instance.new("UIStroke", main) stroke.Color = Color3.fromRGB(90, 50, 180) stroke.Thickness = 1.5 local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 0, 45) title.Text = "👁️ DOORS HARDCORE AUTO-FLY" title.TextColor3 = Color3.fromRGB(240, 240, 240) title.TextSize = 14 title.Font = Enum.Font.GothamBold title.BackgroundTransparency = 1 title.Parent = main -- Кнопка ВКЛ / ВЫКЛ АВТОФАРМ local toggleBtn = Instance.new("TextButton") toggleBtn.Size = UDim2.new(0.85, 0, 0, 40) toggleBtn.Position = UDim2.new(0.075, 0, 0.18, 0) toggleBtn.Text = "Авто-Полет: ВЫКЛ" toggleBtn.BackgroundColor3 = Color3.fromRGB(180, 40, 40) toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255) toggleBtn.Font = Enum.Font.GothamBold toggleBtn.TextSize = 13 toggleBtn.Parent = main Instance.new("UICorner", toggleBtn).CornerRadius = UDim.new(0, 8) toggleBtn.MouseButton1Click:Connect(function() Config.AutoFarm = not Config.AutoFarm if Config.AutoFarm then toggleBtn.Text = "Auto-fly : true" toggleBtn.BackgroundColor3 = Color3.fromRGB(40, 180, 80) else toggleBtn.Text = "Auto-Fly : false" toggleBtn.BackgroundColor3 = Color3.fromRGB(180, 40, 40) if player.Character and player.Character:FindFirstChildOfClass("Humanoid") then player.Character:FindFirstChildOfClass("Humanoid").PlatformStand = false end end end) -- Переключатель Сбора Ключа local keyBtn = Instance.new("TextButton") keyBtn.Size = UDim2.new(0.85, 0, 0, 38) keyBtn.Position = UDim2.new(0.075, 0, 0.35, 0) keyBtn.Text = "find and grab key = true" keyBtn.BackgroundColor3 = Color3.fromRGB(40, 110, 180) keyBtn.TextColor3 = Color3.fromRGB(255, 255, 255) keyBtn.Font = Enum.Font.GothamMedium keyBtn.TextSize = 12 keyBtn.Parent = main Instance.new("UICorner", keyBtn).CornerRadius = UDim.new(0, 8) keyBtn.MouseButton1Click:Connect(function() Config.AutoKey = not Config.AutoKey if Config.AutoKey then keyBtn.Text = "find and grab key = true" keyBtn.BackgroundColor3 = Color3.fromRGB(40, 110, 180) else keyBtn.Text = "find and grab key = false" keyBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) end end) -- Настройка скорости полета (0 - 500) local speedLabel = Instance.new("TextLabel") speedLabel.Size = UDim2.new(0.85, 0, 0, 20) speedLabel.Position = UDim2.new(0.075, 0, 0.52, 0) speedLabel.Text = "CFrame speed (0-500):" speedLabel.TextColor3 = Color3.fromRGB(180, 180, 180) speedLabel.TextXAlignment = Enum.TextXAlignment.Left speedLabel.Font = Enum.Font.Gotham speedLabel.TextSize = 12 speedLabel.BackgroundTransparency = 1 speedLabel.Parent = main local speedBox = Instance.new("TextBox") speedBox.Size = UDim2.new(0.85, 0, 0, 35) speedBox.Position = UDim2.new(0.075, 0, 0.6, 0) speedBox.Text = tostring(Config.FlySpeed) speedBox.BackgroundColor3 = Color3.fromRGB(28, 28, 38) speedBox.TextColor3 = Color3.fromRGB(255, 255, 255) speedBox.Font = Enum.Font.GothamBold speedBox.TextSize = 14 speedBox.Parent = main Instance.new("UICorner", speedBox).CornerRadius = UDim.new(0, 8) speedBox.FocusLost:Connect(function() local val = tonumber(speedBox.Text) if val then Config.FlySpeed = math.clamp(val, 0, 500) speedBox.Text = tostring(Config.FlySpeed) else speedBox.Text = tostring(Config.FlySpeed) end end)