--[[ The Vents Chapter 1 Founder: Clarws Game: We Don't Bite / The Vents ]] -- Services local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Workspace = game:GetService("Workspace") local CoreGui = game:GetService("CoreGui") local Lighting = game:GetService("Lighting") local LocalPlayer = Players.LocalPlayer local Camera = Workspace.CurrentCamera -- Config local Config = { MonsterESP = false, CoinESP = false, FoodESP = false, TaskESP = false, ControlRoomESP = false, PlugESP = false, VentDoorESP = false, StashESP = false, Noclip = false, Fullbright = false, AutoCollectCoins = false, AutoCollectFood = false, InstantTasks = false, Walkspeed = 16, ESPColors = { Monster = Color3.fromRGB(255, 0, 0), Coin = Color3.fromRGB(255, 215, 0), Food = Color3.fromRGB(0, 255, 0), Task = Color3.fromRGB(0, 150, 255), ControlRoom = Color3.fromRGB(255, 0, 255), Plug = Color3.fromRGB(255, 165, 0), VentDoor = Color3.fromRGB(128, 0, 128), Stash = Color3.fromRGB(0, 255, 255) } } -- ESP Storage local ActiveESP = {} local ESPParents = { Monster = {}, Coin = {}, Food = {}, Task = {}, ControlRoom = {}, Plug = {}, VentDoor = {}, Stash = {} } local OriginalSettings = {} local FullbrightConnection local AutoThreads = {} -- Координаты для телепорта local TeleportCoords = { ControlRoom = Vector3.new(-40.96, 5.00, -67.81), Task1 = Vector3.new(-45.02, 4.00, -105.13), Task2 = Vector3.new(-8.73, 4.00, -89.01), PlugRoom = Vector3.new(-42.30, 4.00, -147.19), Stash = Vector3.new(-46.82, 4.00, -121.22), PlugSocket1 = Vector3.new(-32.50, 6.12, -120.37), PlugSocket2 = Vector3.new(-57.50, 5.88, -121.05), PlugSocket3 = Vector3.new(-48.47, 6.66, -115.28), VentDoor1 = Vector3.new(-32.50, 6.12, -120.37), VentDoor2 = Vector3.new(-57.50, 5.88, -121.05) } local function IsInMainMap(obj) if not obj then return false end local current = obj while current do if current:IsA("Folder") or current:IsA("Model") then local name = current.Name:lower() if name:find("copy") or name:find("backup") or name:find("old") or name:find("clone") or name:find("duplicate") or name:find("template") then return false end end if current == Workspace then return true end current = current.Parent end return false end local function GetObjectPosition(obj) if not obj then return nil end local success, result = pcall(function() if obj:IsA("BasePart") then return obj.Position elseif obj:IsA("Model") then if obj.PrimaryPart then return obj.PrimaryPart.Position end for _, child in ipairs(obj:GetDescendants()) do if child:IsA("BasePart") then return child.Position end end end return nil end) return success and result or nil end -- GUI Creation local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "TheVentsChapter1" ScreenGui.Parent = CoreGui ScreenGui.ResetOnSpawn = false ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling local MainFrame = Instance.new("Frame") MainFrame.Name = "MainFrame" MainFrame.Size = UDim2.new(0, 260, 0, 400) MainFrame.Position = UDim2.new(0.1, 0, 0.1, 0) MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25) MainFrame.BorderSizePixel = 0 MainFrame.Active = true MainFrame.ClipsDescendants = true MainFrame.Parent = ScreenGui local Corner = Instance.new("UICorner") Corner.CornerRadius = UDim.new(0, 8) Corner.Parent = MainFrame -- TopBar local TopBar = Instance.new("Frame") TopBar.Name = "TopBar" TopBar.Size = UDim2.new(1, 0, 0, 35) TopBar.BackgroundColor3 = Color3.fromRGB(35, 35, 35) TopBar.BorderSizePixel = 0 TopBar.Parent = MainFrame local dragging = false local dragStart = nil local startPos = nil 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) TopBar.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) TopBar.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end end) local TopCorner = Instance.new("UICorner") TopCorner.CornerRadius = UDim.new(0, 8) TopCorner.Parent = TopBar local Title = Instance.new("TextLabel") Title.Name = "Title" Title.Size = UDim2.new(0.6, 0, 1, 0) Title.Position = UDim2.new(0.05, 0, 0, 0) Title.BackgroundTransparency = 1 Title.Text = "THE VENTS CHAPTER 1" Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.TextSize = 11 Title.Font = Enum.Font.GothamBold Title.TextXAlignment = Enum.TextXAlignment.Left Title.Parent = TopBar local CloseBtn = Instance.new("TextButton") CloseBtn.Name = "CloseBtn" CloseBtn.Size = UDim2.new(0, 30, 0, 30) CloseBtn.Position = UDim2.new(1, -35, 0.5, -15) CloseBtn.BackgroundColor3 = Color3.fromRGB(255, 50, 50) CloseBtn.Text = "X" CloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255) CloseBtn.TextSize = 12 CloseBtn.Font = Enum.Font.GothamBold CloseBtn.Parent = TopBar local CloseCorner = Instance.new("UICorner") CloseCorner.CornerRadius = UDim.new(0, 6) CloseCorner.Parent = CloseBtn local MinimizeBtn = Instance.new("TextButton") MinimizeBtn.Name = "MinimizeBtn" MinimizeBtn.Size = UDim2.new(0, 30, 0, 30) MinimizeBtn.Position = UDim2.new(1, -70, 0.5, -15) MinimizeBtn.BackgroundColor3 = Color3.fromRGB(100, 100, 100) MinimizeBtn.Text = "-" MinimizeBtn.TextColor3 = Color3.fromRGB(255, 255, 255) MinimizeBtn.TextSize = 14 MinimizeBtn.Font = Enum.Font.GothamBold MinimizeBtn.Parent = TopBar local MinCorner = Instance.new("UICorner") MinCorner.CornerRadius = UDim.new(0, 6) MinCorner.Parent = MinimizeBtn -- ScrollFrame local ScrollFrame = Instance.new("ScrollingFrame") ScrollFrame.Name = "ScrollFrame" ScrollFrame.Size = UDim2.new(1, -10, 1, -95) ScrollFrame.Position = UDim2.new(0, 5, 0, 40) ScrollFrame.BackgroundTransparency = 1 ScrollFrame.BorderSizePixel = 0 ScrollFrame.ScrollBarThickness = 4 ScrollFrame.ScrollBarImageColor3 = Color3.fromRGB(100, 100, 100) ScrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0) ScrollFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y ScrollFrame.Parent = MainFrame local UIList = Instance.new("UIListLayout") UIList.Padding = UDim.new(0, 5) UIList.Parent = ScrollFrame -- Founder Label local FounderLabel = Instance.new("TextLabel") FounderLabel.Name = "FounderLabel" FounderLabel.Size = UDim2.new(1, -10, 0, 20) FounderLabel.Position = UDim2.new(0, 5, 1, -25) FounderLabel.BackgroundTransparency = 1 FounderLabel.Text = "Founder: Clarws" FounderLabel.TextColor3 = Color3.fromRGB(0, 200, 255) FounderLabel.TextSize = 11 FounderLabel.Font = Enum.Font.GothamBold FounderLabel.TextXAlignment = Enum.TextXAlignment.Center FounderLabel.Parent = MainFrame -- Toggle Creator local function CreateToggle(parent, text, callback) local Btn = Instance.new("TextButton") Btn.Size = UDim2.new(1, -5, 0, 30) Btn.BackgroundColor3 = Color3.fromRGB(40, 40, 40) Btn.Text = " " .. text .. " [OFF]" Btn.TextColor3 = Color3.fromRGB(200, 200, 200) Btn.TextSize = 12 Btn.Font = Enum.Font.Gotham Btn.TextXAlignment = Enum.TextXAlignment.Left Btn.Parent = parent local BtnCorner = Instance.new("UICorner") BtnCorner.CornerRadius = UDim.new(0, 6) BtnCorner.Parent = Btn local enabled = false Btn.MouseButton1Click:Connect(function() enabled = not enabled Btn.Text = " " .. text .. (enabled and " [ON]" or " [OFF]") Btn.BackgroundColor3 = enabled and Color3.fromRGB(0, 120, 255) or Color3.fromRGB(40, 40, 40) callback(enabled) end) return Btn end -- Функция телепорта local function TeleportToPosition(position) local char = LocalPlayer.Character if not char then return end local hrp = char:FindFirstChild("HumanoidRootPart") if not hrp then return end pcall(function() hrp.CFrame = CFrame.new(position.X, position.Y + 3, position.Z) end) end -- ИСПРАВЛЕННАЯ функция CreateESP local function CreateESP(object, color, name, category) if not object or not object.Parent then return nil end if not IsInMainMap(object) then return nil end local objectId = tostring(object) if ActiveESP[objectId] then return nil end if ESPParents[category][objectId] then return nil end ESPParents[category][objectId] = true local esp = {} esp.Object = object esp.Category = category esp.Id = objectId local billboard = Instance.new("BillboardGui") billboard.Name = "ESP_" .. category .. "_" .. objectId billboard.AlwaysOnTop = true billboard.Size = UDim2.new(0, 100, 0, 40) billboard.StudsOffset = Vector3.new(0, 2, 0) billboard.MaxDistance = 1000 billboard.Parent = CoreGui local label = Instance.new("TextLabel") label.Name = "NameLabel" label.Size = UDim2.new(1, 0, 0.6, 0) label.BackgroundTransparency = 1 label.Text = name label.TextColor3 = color label.TextSize = 14 label.Font = Enum.Font.GothamBold label.TextStrokeTransparency = 0.5 label.TextStrokeColor3 = Color3.new(0, 0, 0) label.Parent = billboard local distLabel = Instance.new("TextLabel") distLabel.Name = "DistLabel" distLabel.Size = UDim2.new(1, 0, 0.4, 0) distLabel.Position = UDim2.new(0, 0, 0.6, 0) distLabel.BackgroundTransparency = 1 distLabel.Text = "0m" distLabel.TextColor3 = Color3.fromRGB(255, 255, 255) distLabel.TextSize = 12 distLabel.Font = Enum.Font.Gotham distLabel.TextStrokeTransparency = 0.5 distLabel.TextStrokeColor3 = Color3.new(0, 0, 0) distLabel.Parent = billboard esp.Billboard = billboard esp.Label = label esp.DistLabel = distLabel ActiveESP[objectId] = esp local function updateESP() if not object or not object.Parent then esp:Destroy() return false end local pos = GetObjectPosition(object) if pos then billboard.Adornee = object local dist = (Camera.CFrame.Position - pos).Magnitude distLabel.Text = math.floor(dist) .. "m" billboard.Enabled = dist <= 1500 return true end return true end local connection = RunService.RenderStepped:Connect(updateESP) esp.Connection = connection function esp:Destroy() if self.Connection then self.Connection:Disconnect() end if self.Billboard then self.Billboard:Destroy() end ActiveESP[self.Id] = nil ESPParents[self.Category][self.Id] = nil end object.AncestryChanged:Connect(function(_, parent) if not parent then esp:Destroy() end end) return esp end local function ClearESP(category) for id, esp in pairs(ActiveESP) do if esp.Category == category then esp:Destroy() end end ESPParents[category] = {} end -- Scan Functions local function ScanMonsters() ClearESP("Monster") if not Config.MonsterESP then return end local found = {} for _, obj in ipairs(Workspace:GetDescendants()) do if obj:IsA("BasePart") and obj.Parent and obj.Parent.Name == "MonsterBody" then if IsInMainMap(obj) then local parentId = tostring(obj.Parent) if not found[parentId] then found[parentId] = true CreateESP(obj, Config.ESPColors.Monster, "MONSTER", "Monster") end end end end end local function ScanCoins() ClearESP("Coin") if not Config.CoinESP then return end for _, obj in ipairs(Workspace:GetDescendants()) do if (obj:IsA("MeshPart") or obj:IsA("Part")) and obj.Name == "Credit" then if obj.Parent and obj.Parent.Name == "Map" and IsInMainMap(obj) then CreateESP(obj, Config.ESPColors.Coin, "COIN", "Coin") end end end end local function ScanFood() ClearESP("Food") if not Config.FoodESP then return end local foodNames = {["Small Snack"] = true, ["Big Snack"] = true, ["Sneaky Cola"] = true, ["Small snack"] = true, ["Big snack"] = true, ["Sneaky cola"] = true} for _, obj in ipairs(Workspace:GetDescendants()) do if obj:IsA("BasePart") then local parent = obj.Parent if parent and foodNames[parent.Name] and IsInMainMap(obj) then CreateESP(obj, Config.ESPColors.Food, "FOOD", "Food") end end end end local function ScanTasks() ClearESP("Task") if not Config.TaskESP then return end for _, obj in ipairs(Workspace:GetDescendants()) do if obj:IsA("BasePart") and obj.Name == "Hitbox" then if obj.Parent and obj.Parent.Name == "TaskModule" and IsInMainMap(obj) then CreateESP(obj, Config.ESPColors.Task, "TASK", "Task") end end end end local function ScanControlRoom() ClearESP("ControlRoom") if not Config.ControlRoomESP then return end for _, obj in ipairs(Workspace:GetDescendants()) do if obj.Name == "ControlRoom" and IsInMainMap(obj) then if obj:IsA("Model") then local target = obj:FindFirstChild("Door") or obj:FindFirstChild("Part") or obj CreateESP(target, Config.ESPColors.ControlRoom, "CONTROL", "ControlRoom") elseif obj:IsA("BasePart") then CreateESP(obj, Config.ESPColors.ControlRoom, "CONTROL", "ControlRoom") end end end end -- Plug ESP - розетки (PlugSocket) local function ScanPlugs() ClearESP("Plug") if not Config.PlugESP then return end for _, obj in ipairs(Workspace:GetDescendants()) do if obj:IsA("BasePart") and obj.Name == "PlugSocket" and IsInMainMap(obj) then CreateESP(obj, Config.ESPColors.Plug, "PLUG", "Plug") end end end -- ИСПРАВЛЕННЫЙ VentDoor ESP - двери D5/D6 local function ScanVentDoors() ClearESP("VentDoor") if not Config.VentDoorESP then return end -- Ищем ВСЕ VentDoor во всем Workspace for _, obj in ipairs(Workspace:GetDescendants()) do if obj:IsA("BasePart") or obj:IsA("Part") then if obj.Name == "VentDoor" and IsInMainMap(obj) then -- Проверяем что это не дубликат local objId = tostring(obj) if not ActiveESP[objId] then CreateESP(obj, Config.ESPColors.VentDoor, "VENT DOOR", "VentDoor") end end end end end local function ScanStashes() ClearESP("Stash") if not Config.StashESP then return end for _, obj in ipairs(Workspace:GetDescendants()) do if obj:IsA("BasePart") and obj.Parent and obj.Parent.Name == "StashableSpawns" then if IsInMainMap(obj) then CreateESP(obj, Config.ESPColors.Stash, "STASH", "Stash") end end end end -- Safe Fire Prompt local function SafeFirePrompt(prompt) if not prompt then return end if typeof(prompt) ~= "Instance" then return end if not prompt:IsA("ProximityPrompt") then return end pcall(function() fireproximityprompt(prompt, 1) end) end -- Auto Functions local function ToggleAutoCollectCoins(enabled) Config.AutoCollectCoins = enabled if AutoThreads.Coins then AutoThreads.Coins = nil end if enabled then AutoThreads.Coins = true task.spawn(function() while AutoThreads.Coins and Config.AutoCollectCoins do local char = LocalPlayer.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") if hrp then for _, obj in ipairs(Workspace:GetDescendants()) do if not Config.AutoCollectCoins then break end if obj:IsA("MeshPart") and obj.Name == "Credit" and obj.Parent and obj.Parent.Name == "Map" then if IsInMainMap(obj) then local dist = (hrp.Position - obj.Position).Magnitude if dist < 12 then SafeFirePrompt(obj:FindFirstChildOfClass("ProximityPrompt")) end end end end end task.wait(0.3) end end) end end local function ToggleAutoCollectFood(enabled) Config.AutoCollectFood = enabled if AutoThreads.Food then AutoThreads.Food = nil end if enabled then AutoThreads.Food = true task.spawn(function() while AutoThreads.Food and Config.AutoCollectFood do local char = LocalPlayer.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") if hrp then for _, obj in ipairs(Workspace:GetDescendants()) do if not Config.AutoCollectFood then break end local parent = obj.Parent if parent and obj:IsA("BasePart") then local parentName = parent.Name if parentName:find("Snack") or parentName:find("Cola") then if IsInMainMap(obj) then local dist = (hrp.Position - obj.Position).Magnitude if dist < 8 then local prompt = obj:FindFirstChildOfClass("ProximityPrompt") or parent:FindFirstChildOfClass("ProximityPrompt") SafeFirePrompt(prompt) end end end end end end task.wait(0.3) end end) end end local function ToggleInstantTasks(enabled) Config.InstantTasks = enabled if AutoThreads.Tasks then AutoThreads.Tasks = nil end if enabled then AutoThreads.Tasks = true task.spawn(function() while AutoThreads.Tasks and Config.InstantTasks do local char = LocalPlayer.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") if hrp then for _, obj in ipairs(Workspace:GetDescendants()) do if not Config.InstantTasks then break end if obj.Name == "Hitbox" and obj.Parent and obj.Parent.Name == "TaskModule" then if obj:IsA("BasePart") and IsInMainMap(obj) then local dist = (hrp.Position - obj.Position).Magnitude if dist < 6 then SafeFirePrompt(obj:FindFirstChildOfClass("ProximityPrompt")) end end end end end task.wait(0.2) end end) end end -- Fullbright local function ToggleFullbright(enabled) Config.Fullbright = enabled if enabled then OriginalSettings.Brightness = Lighting.Brightness OriginalSettings.ClockTime = Lighting.ClockTime OriginalSettings.FogEnd = Lighting.FogEnd OriginalSettings.GlobalShadows = Lighting.GlobalShadows OriginalSettings.OutdoorAmbient = Lighting.OutdoorAmbient Lighting.Brightness = 2 Lighting.ClockTime = 14 Lighting.FogEnd = 999999 Lighting.GlobalShadows = false Lighting.OutdoorAmbient = Color3.fromRGB(128, 128, 128) FullbrightConnection = Lighting.Changed:Connect(function(prop) if prop == "Brightness" then Lighting.Brightness = 2 elseif prop == "ClockTime" then Lighting.ClockTime = 14 elseif prop == "FogEnd" then Lighting.FogEnd = 999999 elseif prop == "GlobalShadows" then Lighting.GlobalShadows = false end end) else if FullbrightConnection then FullbrightConnection:Disconnect() FullbrightConnection = nil end Lighting.Brightness = OriginalSettings.Brightness or 1 Lighting.ClockTime = OriginalSettings.ClockTime or 14 Lighting.FogEnd = OriginalSettings.FogEnd or 1000 Lighting.GlobalShadows = OriginalSettings.GlobalShadows ~= nil and OriginalSettings.GlobalShadows or true Lighting.OutdoorAmbient = OriginalSettings.OutdoorAmbient or Color3.fromRGB(128, 128, 128) end end -- Noclip local NoclipConnection local function ToggleNoclip(enabled) Config.Noclip = enabled if NoclipConnection then NoclipConnection:Disconnect() end if enabled then NoclipConnection = RunService.Stepped:Connect(function() if LocalPlayer.Character then for _, part in ipairs(LocalPlayer.Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end) else if LocalPlayer.Character then for _, part in ipairs(LocalPlayer.Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = true end end end end end -- GUI Buttons CreateToggle(ScrollFrame, "Monster ESP", function(enabled) Config.MonsterESP = enabled ScanMonsters() end) CreateToggle(ScrollFrame, "Coin ESP", function(enabled) Config.CoinESP = enabled ScanCoins() end) CreateToggle(ScrollFrame, "Food ESP", function(enabled) Config.FoodESP = enabled ScanFood() end) CreateToggle(ScrollFrame, "Task ESP", function(enabled) Config.TaskESP = enabled ScanTasks() end) CreateToggle(ScrollFrame, "Control Room ESP", function(enabled) Config.ControlRoomESP = enabled ScanControlRoom() end) CreateToggle(ScrollFrame, "Plug ESP (Розетки)", function(enabled) Config.PlugESP = enabled ScanPlugs() end) CreateToggle(ScrollFrame, "Vent Door ESP (D5/D6)", function(enabled) Config.VentDoorESP = enabled ScanVentDoors() end) CreateToggle(ScrollFrame, "Stash ESP", function(enabled) Config.StashESP = enabled ScanStashes() end) CreateToggle(ScrollFrame, "Fullbright", ToggleFullbright) CreateToggle(ScrollFrame, "Noclip", ToggleNoclip) CreateToggle(ScrollFrame, "Auto Collect Coins", ToggleAutoCollectCoins) CreateToggle(ScrollFrame, "Auto Collect Food", ToggleAutoCollectFood) CreateToggle(ScrollFrame, "Instant Tasks", ToggleInstantTasks) -- ИСПРАВЛЕННЫЙ Dropdown Creator - отодвигает контент local function CreateDropdown(parent, title, options, yOffset) local Container = Instance.new("Frame") Container.Size = UDim2.new(1, -5, 0, 35) Container.BackgroundColor3 = Color3.fromRGB(50, 50, 50) Container.Parent = parent local ContainerCorner = Instance.new("UICorner") ContainerCorner.CornerRadius = UDim.new(0, 6) ContainerCorner.Parent = Container local Label = Instance.new("TextLabel") Label.Size = UDim2.new(0.7, 0, 1, 0) Label.Position = UDim2.new(0.05, 0, 0, 0) Label.BackgroundTransparency = 1 Label.Text = title Label.TextColor3 = Color3.fromRGB(255, 255, 255) Label.TextSize = 12 Label.Font = Enum.Font.GothamBold Label.TextXAlignment = Enum.TextXAlignment.Left Label.Parent = Container local ArrowBtn = Instance.new("TextButton") ArrowBtn.Size = UDim2.new(0, 30, 0, 30) ArrowBtn.Position = UDim2.new(1, -35, 0.5, -15) ArrowBtn.BackgroundColor3 = Color3.fromRGB(70, 70, 70) ArrowBtn.Text = "▼" ArrowBtn.TextColor3 = Color3.fromRGB(255, 255, 255) ArrowBtn.TextSize = 14 ArrowBtn.Font = Enum.Font.GothamBold ArrowBtn.Parent = Container local ArrowCorner = Instance.new("UICorner") ArrowCorner.CornerRadius = UDim.new(0, 4) ArrowCorner.Parent = ArrowBtn -- Dropdown меню ВНУТРИ ScrollFrame а не поверх local DropdownMenu = Instance.new("Frame") DropdownMenu.Size = UDim2.new(1, -5, 0, #options * 28) DropdownMenu.BackgroundColor3 = Color3.fromRGB(40, 40, 40) DropdownMenu.BorderSizePixel = 0 DropdownMenu.Visible = false DropdownMenu.Parent = parent -- Родитель - ScrollFrame, не Container local DropdownCorner = Instance.new("UICorner") DropdownCorner.CornerRadius = UDim.new(0, 6) DropdownCorner.Parent = DropdownMenu local DropdownList = Instance.new("UIListLayout") DropdownList.Padding = UDim.new(0, 3) DropdownList.Parent = DropdownMenu for _, option in ipairs(options) do local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, -6, 0, 25) btn.Position = UDim2.new(0, 3, 0, 0) btn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) btn.Text = option[1] btn.TextColor3 = Color3.fromRGB(255, 255, 255) btn.TextSize = 11 btn.Font = Enum.Font.Gotham btn.Parent = DropdownMenu local btnCorner = Instance.new("UICorner") btnCorner.CornerRadius = UDim.new(0, 4) btnCorner.Parent = btn btn.MouseButton1Click:Connect(function() TeleportToPosition(option[2]) DropdownMenu.Visible = false ArrowBtn.Text = "▼" end) end local isOpen = false ArrowBtn.MouseButton1Click:Connect(function() isOpen = not isOpen DropdownMenu.Visible = isOpen ArrowBtn.Text = isOpen and "▲" or "▼" end) return Container, DropdownMenu end -- Создаем dropdown'ы local taskDropdown, taskMenu = CreateDropdown(ScrollFrame, "Task TP", { {"TP to Task 1", TeleportCoords.Task1}, {"TP to Task 2", TeleportCoords.Task2} }) local plugDropdown, plugMenu = CreateDropdown(ScrollFrame, "Plug TP (Розетки)", { {"TP to Plug 1", TeleportCoords.PlugSocket1}, {"TP to Plug 2", TeleportCoords.PlugSocket2}, {"TP to Plug 3", TeleportCoords.PlugSocket3} }) local ventDoorDropdown, ventDoorMenu = CreateDropdown(ScrollFrame, "Vent Door TP (D5/D6)", { {"TP to Vent Door D5", TeleportCoords.VentDoor1}, {"TP to Vent Door D6", TeleportCoords.VentDoor2} }) -- Обычные кнопки телепорта local function CreateTPButton(parent, text, position) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, -5, 0, 30) btn.BackgroundColor3 = Color3.fromRGB(0, 150, 255) btn.Text = text btn.TextColor3 = Color3.fromRGB(255, 255, 255) btn.TextSize = 12 btn.Font = Enum.Font.GothamBold btn.Parent = parent local btnCorner = Instance.new("UICorner") btnCorner.CornerRadius = UDim.new(0, 6) btnCorner.Parent = btn btn.MouseButton1Click:Connect(function() TeleportToPosition(position) end) return btn end CreateTPButton(ScrollFrame, "TP to Control Room", TeleportCoords.ControlRoom) CreateTPButton(ScrollFrame, "TP to Stash", TeleportCoords.Stash) CreateTPButton(ScrollFrame, "TP to Plug Room", TeleportCoords.PlugRoom) -- Controls local minimized = false MinimizeBtn.MouseButton1Click:Connect(function() minimized = not minimized ScrollFrame.Visible = not minimized FounderLabel.Visible = not minimized MainFrame.Size = minimized and UDim2.new(0, 260, 0, 35) or UDim2.new(0, 260, 0, 400) MinimizeBtn.Text = minimized and "+" or "-" end) CloseBtn.MouseButton1Click:Connect(function() ToggleFullbright(false) ToggleNoclip(false) ToggleAutoCollectCoins(false) ToggleAutoCollectFood(false) ToggleInstantTasks(false) for category, _ in pairs(ESPParents) do ClearESP(category) end ScreenGui:Destroy() end) -- Auto-scan loop task.spawn(function() while ScreenGui and ScreenGui.Parent do if Config.MonsterESP then ScanMonsters() end if Config.CoinESP then ScanCoins() end if Config.FoodESP then ScanFood() end if Config.TaskESP then ScanTasks() end if Config.ControlRoomESP then ScanControlRoom() end if Config.PlugESP then ScanPlugs() end if Config.VentDoorESP then ScanVentDoors() end if Config.StashESP then ScanStashes() end task.wait(2) end end) -- Character respawn handler LocalPlayer.CharacterAdded:Connect(function(char) task.wait(0.5) if Config.Noclip then ToggleNoclip(true) end end) print("The Vents Chapter 1 Loaded! | Founder: Clarws")