-- ==================================================================== -- Script: Vape V4 (Dead Rails Edition) - 3 вкладки + рабочие слайдеры -- ==================================================================== --[[ WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk! ]] --Open source by EricBerpa (Auto Bond logic) --// WindUI local WindUI = loadstring(game:HttpGet("https://github.com/Footagesus/WindUI/releases/latest/download/main.lua"))() --// Services local Players = game:GetService("Players") local RunService = game:GetService("RunService") local RS = game:GetService("ReplicatedStorage") local LocalPlayer = Players.LocalPlayer --// ==================================================================== --// МОДУЛИ DEAD RAILS --// ==================================================================== local world, comps, replicator, Remotes, PlayerData, Event local moduleSuccess, moduleErr = pcall(function() world = require(RS.Shared.Universe.ECS.world) comps = require(RS.Shared.Universe.ECS.components) replicator = require(RS.Client.Universe.Replication.clientReplicator) Remotes = require(RS.Shared.Universe.Remotes) PlayerData = require(RS.Client.Universe.PlayerDataController) Event = RS.Shared.Universe.Network.RemoteEvent.Actionable end) if not moduleSuccess then warn("[Vape V4] Модули Dead Rails не загружены: " .. tostring(moduleErr)) end --// ==================================================================== --// СОСТОЯНИЕ --// ==================================================================== local State = { AutoBond = false, FastFarm = false, WholeMap = true, MaxScanID = 100000, Method = "Vape Motion", Notifications = true, ShowCounter = true, BondCount = 0, Transparency = 0.2, Theme = "Dark", } local collectedBonds = {} --// ==================================================================== --// ЛОГИКА AUTO BOND --// ==================================================================== local autoBondThread = nil local function startAutoBond() if autoBondThread then return end autoBondThread = task.spawn(function() while State.AutoBond do local ok, err = pcall(function() local char = world:get_resource(comps.ClientStateResource).localCharacter if char then if not world:has(char, comps.Sack) then world:add(char, comps.Sack) world:set(char, comps.Sack, { contents = {}, maxContents = 10 }) end for id = 1, State.MaxScanID do if world:has(id, comps.Storable) and world:get(id, comps.ObjectId) == "bond" then if not collectedBonds[id] then collectedBonds[id] = true State.BondCount = State.BondCount + 1 end local sr = replicator:get_server_entity(id) if sr and sr ~= id then Remotes.Store:FireServer(sr) Remotes.Store:FireServer() Event:FireServer(sr) end end end end end) if not ok then warn("[Авто Бонд] Ошибка: " .. tostring(err)) end task.wait(State.FastFarm and 0.1 or 0.5) end autoBondThread = nil end) end local function stopAutoBond() State.AutoBond = false end --// ==================================================================== --// HUD --// ==================================================================== local hudParent = (gethui and gethui()) or game:GetService("CoreGui") local screenGui = Instance.new("ScreenGui") screenGui.Name = "VapeBondHUD" screenGui.ResetOnSpawn = false screenGui.Parent = hudParent local counterLabel = Instance.new("TextLabel") counterLabel.Size = UDim2.fromOffset(220, 44) counterLabel.Position = UDim2.new(0, 20, 0, 20) counterLabel.BackgroundColor3 = Color3.fromRGB(15, 15, 20) counterLabel.BackgroundTransparency = 0.2 counterLabel.BorderSizePixel = 0 counterLabel.TextColor3 = Color3.fromRGB(120, 255, 120) counterLabel.TextScaled = true counterLabel.Font = Enum.Font.GothamBold counterLabel.Text = "Бонды: 0" counterLabel.Parent = screenGui local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = counterLabel RunService.RenderStepped:Connect(function() counterLabel.Visible = State.ShowCounter and State.AutoBond counterLabel.Text = "Бонды: " .. State.BondCount end) --// ==================================================================== --// ИНТЕРФЕЙС WindUI --// ==================================================================== local Window = WindUI:CreateWindow({ Title = "Vape V4 (Dead Rails Edition)", Author = "EricBerpa", Folder = "VapeV4Config", Size = UDim2.fromOffset(580, 460), Transparent = true, Theme = State.Theme, }) --// ВКЛАДКА 1: АВТО БОНД local BondTab = Window:Tab({ Title = "Авто Бонд", Icon = "coins", }) local BondSection = BondTab:Section({ Title = "Фарм облигаций" }) BondSection:Toggle({ Title = "Авто Бонд", Desc = "Автоматический сбор облигаций по всей карте", Value = false, Callback = function(v) State.AutoBond = v if v then startAutoBond() if State.Notifications then WindUI:Notify({ Title = "Авто Бонд", Content = "Включен", Duration = 3 }) end else stopAutoBond() if State.Notifications then WindUI:Notify({ Title = "Авто Бонд", Content = "Выключен", Duration = 3 }) end end end, }) BondSection:Toggle({ Title = "Весь сервер (по всей карте)", Desc = "Сканировать все ID на карте", Value = true, Callback = function(v) State.WholeMap = v end, }) BondSection:Toggle({ Title = "Быстрый фарм", Desc = "Ускоренный режим сбора (задержка 0.1 сек)", Value = false, Callback = function(v) State.FastFarm = v end, }) BondSection:Slider({ Title = "Лимит сканирования ID", Desc = "Максимальный ID для сканирования (больше = дольше цикл)", Min = 10000, Max = 500000, Default = 100000, Callback = function(v) State.MaxScanID = math.floor(tonumber(v) or 100000) if State.Notifications then WindUI:Notify({ Title = "Лимит ID", Content = "Установлен: " .. tostring(State.MaxScanID), Duration = 2, }) end end, }) BondSection:Dropdown({ Title = "Метод фарма", Desc = "Способ обхода античита", Values = { "Vape Motion", "Vanilla TP", "Safe Tween" }, Default = "Vape Motion", Callback = function(v) State.Method = v end, }) --// ВКЛАДКА 2: КАСТОМИЗАЦИЯ local CustomTab = Window:Tab({ Title = "Кастомизация", Icon = "settings", }) local UISection = CustomTab:Section({ Title = "Интерфейс" }) UISection:Toggle({ Title = "Уведомления", Desc = "Всплывающие уведомления о событиях", Value = true, Callback = function(v) State.Notifications = v end, }) -- ✅ РАБОЧИЙ слайдер прозрачности UISection:Slider({ Title = "Прозрачность UI", Desc = "Прозрачность окна меню (0 = непрозрачно, 100 = полностью прозрачно)", Min = 0, Max = 100, Default = 20, Callback = function(v) v = tonumber(v) or 20 State.Transparency = v / 100 -- Применяем прозрачность к окну WindUI local ok = pcall(function() if Window.SetTransparency then Window:SetTransparency(State.Transparency) elseif Window.ChangeTransparency then Window:ChangeTransparency(State.Transparency) elseif Window.SetOpenTransparency then Window:SetOpenTransparency(State.Transparency) end end) if not ok and State.Notifications then WindUI:Notify({ Title = "Прозрачность", Content = "Значение: " .. v .. "%", Duration = 2, }) end end, }) -- ✅ РАБОЧИЙ дропдаун темы UISection:Dropdown({ Title = "Тема", Desc = "Цветовая схема интерфейса", Values = { "Dark", "Darker", "Light", "Blood", "Ocean", "Purple", "Green", "Blue", "Pink", "Amethyst", "Rose" }, Default = "Dark", Callback = function(v) State.Theme = v local ok, err = pcall(function() WindUI:SetTheme(v) end) if State.Notifications then WindUI:Notify({ Title = "Тема", Content = ok and ("Установлена: " .. v) or ("Ошибка: " .. tostring(err)), Duration = 3, }) end end, }) local CounterSection = CustomTab:Section({ Title = "Счётчик" }) CounterSection:Toggle({ Title = "Показывать счётчик", Desc = "Отображать HUD со счётчиком облигаций", Value = true, Callback = function(v) State.ShowCounter = v end, }) --// ВКЛАДКА 3: ИНФО local InfoTab = Window:Tab({ Title = "Инфо", Icon = "info", }) local StatsSection = InfoTab:Section({ Title = "Статистика" }) StatsSection:Button({ Title = "Сбросить счётчик", Desc = "Обнулить счётчик и очистить таблицу собранных бондов", Callback = function() State.BondCount = 0 collectedBonds = {} WindUI:Notify({ Title = "Vape V4", Content = "Счётчик сброшен", Duration = 3 }) end, }) StatsSection:Button({ Title = "Переподключиться", Desc = "Выйти из игры (для реджойна на новый сервер)", Callback = function() LocalPlayer:Kick("Rejoin") end, }) local InfoSection = InfoTab:Section({ Title = "О скрипте" }) InfoSection:Button({ Title = "Показать статус", Desc = "Вывести информацию в консоль (F9)", Callback = function() print("=== Vape V4 (Dead Rails Edition) ===") print("Модули Dead Rails:", moduleSuccess and "OK" or "FAILED") print("Авто Бонд:", State.AutoBond and "ВКЛ" or "ВЫКЛ") print("Лимит ID:", State.MaxScanID) print("Быстрый фарм:", State.FastFarm and "ВКЛ" or "ВЫКЛ") print("Метод:", State.Method) print("Тема:", State.Theme) print("Прозрачность:", State.Transparency) print("Бондов собрано:", State.BondCount) end, }) WindUI:Notify({ Title = "Vape V4 (Dead Rails)", Content = "Загружено. Слайдеры и темы теперь работают.", Duration = 5, })