-- [[ 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 ]] -- Main GUI Module local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local LocalPlayer = Players.LocalPlayer -- ==================== CONFIGURATION ==================== local CONFIG = { WindowTitle = "Premium Menu", Username = LocalPlayer.Name, -- Цветовая схема Colors = { MainBackground = Color3.fromRGB(40, 40, 40), TopBar = Color3.fromRGB(50, 50, 50), Text = Color3.fromRGB(255, 255, 255), Description = Color3.fromRGB(180, 180, 180), ToggleOff = Color3.fromRGB(220, 60, 60), ToggleOn = Color3.fromRGB(60, 200, 80), ToggleCircle = Color3.fromRGB(255, 255, 255), FeatureBackground = Color3.fromRGB(35, 35, 35), ScrollingBackground = Color3.fromRGB(40, 40, 40), }, -- Размеры WindowSize = UDim2.new(0, 500, 0, 300), CollapsedCircleSize = 50, -- Анимации TweenDuration = 0.3, CollapseDuration = 0.4, -- Список функций Features = { { Name = "Collect All Food", Description = "Телепортирует ВСЮ еду к вам", Default = false, OnToggle = function(self, state) if state then print("Collect All Food включен") self.IsRunning = true -- Список названий еды для поиска local foodNames = { "Food", "Food1", "Food2", "Food3", "Food4", "Food5", "Apple", "Banana", "Bread", "Cheese", "Pizza", "Burger", "Hotdog", "Donut", "Cake", "Cookie", "Candy", "Chocolate", "Watermelon", "Pineapple", "Grapes", "Orange", "Lemon", "Meat", "Chicken", "Fish", "Egg", "Milk", "Juice", "Soda", "Coffee", "Tea", "IceCream", "Sandwich", "Taco" } -- Запускаем цикл в отдельном потоке task.spawn(function() while self.IsRunning do local character = LocalPlayer.Character if not character or not character:FindFirstChild("HumanoidRootPart") then task.wait(0.5) continue end local hrp = character.HumanoidRootPart -- Ищем папку Food local gameFolder = workspace:FindFirstChild("Game") if gameFolder then local decor = gameFolder:FindFirstChild("Decor") if decor then local food = decor:FindFirstChild("Food") if food then -- Собираем ВСЕ объекты из папки Food for _, child in ipairs(food:GetChildren()) do if not self.IsRunning then break end if child:IsA("Part") or child:IsA("MeshPart") or child:IsA("UnionOperation") then -- Проверяем, является ли это едой local isFood = false for _, foodName in ipairs(foodNames) do if child.Name == foodName or child.Name:find("Food") then isFood = true break end end if isFood then -- Телепортируем еду к игроку child.CFrame = hrp.CFrame * CFrame.new(0, 3, 0) -- На 3 юнита выше игрока print("Собрано: " .. child.Name) end end end end end end -- Также ищем еду по всему Workspace (на случай если она не в папке Food) for _, obj in ipairs(workspace:GetDescendants()) do if not self.IsRunning then break end if obj:IsA("Part") or obj:IsA("MeshPart") or obj:IsA("UnionOperation") then local isFood = false for _, foodName in ipairs(foodNames) do if obj.Name == foodName or obj.Name:find("Food") then isFood = true break end end if isFood then obj.CFrame = hrp.CFrame * CFrame.new( math.random(-5, 5), -- Случайное смещение по X 3, -- Высота math.random(-5, 5) -- Случайное смещение по Z ) end end end -- Задержка перед следующей проверкой task.wait(0.5) end end) else print("Collect All Food выключен") self.IsRunning = false end end, }, }, } -- ==================== GUI ENGINE ==================== local GuiManager = {} GuiManager.__index = GuiManager -- Внутреннее хранилище local connections = {} local tweens = {} local activeFeatures = {} local guiReferences = {} local function cleanup() -- Отключаем все активные функции for feature, state in pairs(activeFeatures) do if state and feature.OnToggle then feature.OnToggle(feature, false) end end table.clear(activeFeatures) -- Отключаем все подключения событий for _, conn in ipairs(connections) do conn:Disconnect() end table.clear(connections) -- Останавливаем все анимации for _, tween in ipairs(tweens) do if tween.PlaybackState ~= Enum.PlaybackState.Cancelled then tween:Cancel() end end table.clear(tweens) -- Удаляем GUI if guiReferences.ScreenGui then guiReferences.ScreenGui:Destroy() end table.clear(guiReferences) end local function createToggle(featureData, parent) local toggleFrame = Instance.new("Frame") toggleFrame.Size = UDim2.new(0, 44, 0, 24) toggleFrame.BackgroundColor3 = featureData.Default and CONFIG.Colors.ToggleOn or CONFIG.Colors.ToggleOff toggleFrame.BorderSizePixel = 0 local circle = Instance.new("Frame") circle.Size = UDim2.new(0, 18, 0, 18) circle.Position = featureData.Default and UDim2.new(1, -20, 0.5, -9) or UDim2.new(0, 2, 0.5, -9) circle.BackgroundColor3 = CONFIG.Colors.ToggleCircle circle.BorderSizePixel = 0 circle.Parent = toggleFrame local state = featureData.Default if state then activeFeatures[featureData] = true if featureData.OnToggle then featureData.OnToggle(featureData, true) end end local function animateToggle(targetState) local goal = {} goal.BackgroundColor3 = targetState and CONFIG.Colors.ToggleOn or CONFIG.Colors.ToggleOff local bgTween = TweenService:Create(toggleFrame, TweenInfo.new(CONFIG.TweenDuration, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), goal) bgTween:Play() table.insert(tweens, bgTween) bgTween.Completed:Connect(function() local index = table.find(tweens, bgTween) if index then table.remove(tweens, index) end end) local circleGoal = {} circleGoal.Position = targetState and UDim2.new(1, -20, 0.5, -9) or UDim2.new(0, 2, 0.5, -9) local circleTween = TweenService:Create(circle, TweenInfo.new(CONFIG.TweenDuration, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), circleGoal) circleTween:Play() table.insert(tweens, circleTween) circleTween.Completed:Connect(function() local index = table.find(tweens, circleTween) if index then table.remove(tweens, index) end end) end toggleFrame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then state = not state activeFeatures[featureData] = state animateToggle(state) if featureData.OnToggle then featureData.OnToggle(featureData, state) end end end) return toggleFrame end local function buildFeatureList(scrollingFrame) local yOffset = 5 for _, feature in ipairs(CONFIG.Features) do local block = Instance.new("Frame") block.Size = UDim2.new(1, -10, 0, 45) block.Position = UDim2.new(0, 5, 0, yOffset) block.BackgroundColor3 = CONFIG.Colors.FeatureBackground block.BorderSizePixel = 0 block.Parent = scrollingFrame local nameLabel = Instance.new("TextLabel") nameLabel.Size = UDim2.new(0.7, 0, 0, 20) nameLabel.Position = UDim2.new(0, 10, 0, 5) nameLabel.BackgroundTransparency = 1 nameLabel.Font = Enum.Font.GothamBold nameLabel.TextSize = 14 nameLabel.TextColor3 = CONFIG.Colors.Text nameLabel.TextXAlignment = Enum.TextXAlignment.Left nameLabel.Text = feature.Name nameLabel.Parent = block local descLabel = Instance.new("TextLabel") descLabel.Size = UDim2.new(0.7, 0, 0, 15) descLabel.Position = UDim2.new(0, 10, 0, 25) descLabel.BackgroundTransparency = 1 descLabel.Font = Enum.Font.Gotham descLabel.TextSize = 12 descLabel.TextColor3 = CONFIG.Colors.Description descLabel.TextXAlignment = Enum.TextXAlignment.Left descLabel.Text = feature.Description descLabel.Parent = block local toggle = createToggle(feature, block) toggle.Position = UDim2.new(1, -55, 0.5, -12) toggle.Parent = block yOffset += 50 end scrollingFrame.CanvasSize = UDim2.new(0, 0, 0, yOffset + 5) end local function createCollapsedCircle() local circle = Instance.new("Frame") circle.Size = UDim2.new(0, CONFIG.CollapsedCircleSize, 0, CONFIG.CollapsedCircleSize) circle.Position = UDim2.new(0.5, -CONFIG.CollapsedCircleSize/2, 0.5, -CONFIG.CollapsedCircleSize/2) circle.BackgroundColor3 = CONFIG.Colors.TopBar circle.BorderSizePixel = 0 circle.BackgroundTransparency = 1 circle.Parent = guiReferences.ScreenGui local uiCorner = Instance.new("UICorner") uiCorner.CornerRadius = UDim.new(1, 0) uiCorner.Parent = circle local innerCircle = Instance.new("Frame") innerCircle.Size = UDim2.new(1, -4, 1, -4) innerCircle.Position = UDim2.new(0, 2, 0, 2) innerCircle.BackgroundColor3 = CONFIG.Colors.MainBackground innerCircle.BorderSizePixel = 0 innerCircle.Parent = circle local innerCorner = Instance.new("UICorner") innerCorner.CornerRadius = UDim.new(1, 0) innerCorner.Parent = innerCircle -- Анимация появления circle.BackgroundTransparency = 1 local appearTween = TweenService:Create(circle, TweenInfo.new(CONFIG.TweenDuration, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {BackgroundTransparency = 0}) appearTween:Play() table.insert(tweens, appearTween) appearTween.Completed:Connect(function() local index = table.find(tweens, appearTween) if index then table.remove(tweens, index) end end) -- Перетаскивание круга local dragging = false local dragStart, startPos local moveConn, endConn circle.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = circle.Position moveConn = input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.Change then local delta = input.Position - dragStart circle.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) table.insert(connections, moveConn) endConn = input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false if moveConn then moveConn:Disconnect() end if endConn then endConn:Disconnect() end end end) table.insert(connections, endConn) end end) -- Восстановление окна при клике circle.InputEnded:Connect(function(input) if not dragging and (input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch) then circle:Destroy() guiReferences.CollapsedCircle = nil GuiManager.Show() end end) return circle end function GuiManager.Show() if guiReferences.MainFrame then return end -- Создаем MainFrame local mainFrame = Instance.new("Frame") mainFrame.Size = CONFIG.WindowSize mainFrame.Position = UDim2.new(0.5, -CONFIG.WindowSize.X.Offset/2, 0.5, -CONFIG.WindowSize.Y.Offset/2) mainFrame.BackgroundColor3 = CONFIG.Colors.MainBackground mainFrame.BorderSizePixel = 0 mainFrame.Parent = guiReferences.ScreenGui guiReferences.MainFrame = mainFrame -- Top Bar local topBar = Instance.new("Frame") topBar.Size = UDim2.new(1, 0, 0, 30) topBar.BackgroundColor3 = CONFIG.Colors.TopBar topBar.BorderSizePixel = 0 topBar.Parent = mainFrame local titleLabel = Instance.new("TextLabel") titleLabel.Size = UDim2.new(0.6, 0, 1, 0) titleLabel.Position = UDim2.new(0, 10, 0, 0) titleLabel.BackgroundTransparency = 1 titleLabel.Font = Enum.Font.GothamBold titleLabel.TextSize = 14 titleLabel.TextColor3 = CONFIG.Colors.Text titleLabel.TextXAlignment = Enum.TextXAlignment.Left titleLabel.Text = CONFIG.WindowTitle .. " | " .. CONFIG.Username titleLabel.Parent = topBar -- Кнопка сворачивания local collapseBtn = Instance.new("TextButton") collapseBtn.Size = UDim2.new(0, 30, 0, 30) collapseBtn.Position = UDim2.new(1, -60, 0, 0) collapseBtn.BackgroundColor3 = CONFIG.Colors.TopBar collapseBtn.BorderSizePixel = 0 collapseBtn.Text = "_" collapseBtn.Font = Enum.Font.GothamBold collapseBtn.TextSize = 20 collapseBtn.TextColor3 = CONFIG.Colors.Text collapseBtn.Parent = topBar -- Кнопка Destroy local destroyBtn = Instance.new("TextButton") destroyBtn.Size = UDim2.new(0, 30, 0, 30) destroyBtn.Position = UDim2.new(1, -30, 0, 0) destroyBtn.BackgroundColor3 = CONFIG.Colors.TopBar destroyBtn.BorderSizePixel = 0 destroyBtn.Text = "X" destroyBtn.Font = Enum.Font.GothamBold destroyBtn.TextSize = 14 destroyBtn.TextColor3 = Color3.fromRGB(255, 100, 100) destroyBtn.Parent = topBar -- Scrolling Frame для функций local scrollingFrame = Instance.new("ScrollingFrame") scrollingFrame.Size = UDim2.new(1, 0, 1, -30) scrollingFrame.Position = UDim2.new(0, 0, 0, 30) scrollingFrame.BackgroundColor3 = CONFIG.Colors.ScrollingBackground scrollingFrame.BorderSizePixel = 0 scrollingFrame.ScrollBarThickness = 4 scrollingFrame.ScrollBarImageColor3 = CONFIG.Colors.TopBar scrollingFrame.CanvasSize = UDim2.new(0, 0, 0, 0) scrollingFrame.Parent = mainFrame buildFeatureList(scrollingFrame) -- Логика перетаскивания окна local dragging = false local dragStart, startPos local moveConn, endConn mainFrame.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 moveConn = input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.Change 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) table.insert(connections, moveConn) endConn = input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false if moveConn then moveConn:Disconnect() end if endConn then endConn:Disconnect() end end end) table.insert(connections, endConn) end end) -- Сворачивание collapseBtn.MouseButton1Click:Connect(function() GuiManager.Collapse() end) -- Destroy destroyBtn.MouseButton1Click:Connect(function() cleanup() end) -- Анимация появления mainFrame.Size = UDim2.new(0, 0, 0, 0) mainFrame.Position = UDim2.new(0.5, 0, 0.5, 0) mainFrame.BackgroundTransparency = 1 local showTween = TweenService:Create(mainFrame, TweenInfo.new(CONFIG.TweenDuration, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), { Size = CONFIG.WindowSize, Position = UDim2.new(0.5, -CONFIG.WindowSize.X.Offset/2, 0.5, -CONFIG.WindowSize.Y.Offset/2), BackgroundTransparency = 0, }) showTween:Play() table.insert(tweens, showTween) showTween.Completed:Connect(function() local index = table.find(tweens, showTween) if index then table.remove(tweens, index) end end) end function GuiManager.Collapse() if not guiReferences.MainFrame then return end local mainFrame = guiReferences.MainFrame local collapseTween = TweenService:Create(mainFrame, TweenInfo.new(CONFIG.CollapseDuration, Enum.EasingStyle.Quart, Enum.EasingDirection.In), { Size = UDim2.new(0, CONFIG.CollapsedCircleSize, 0, CONFIG.CollapsedCircleSize), Position = UDim2.new(0.5, -CONFIG.CollapsedCircleSize/2, 0.5, -CONFIG.CollapsedCircleSize/2), BackgroundTransparency = 1, }) collapseTween:Play() table.insert(tweens, collapseTween) collapseTween.Completed:Connect(function() local index = table.find(tweens, collapseTween) if index then table.remove(tweens, index) end if guiReferences.MainFrame then guiReferences.MainFrame:Destroy() guiReferences.MainFrame = nil end if not guiReferences.CollapsedCircle then guiReferences.CollapsedCircle = createCollapsedCircle() end end) -- Затухание содержимого for _, child in ipairs(mainFrame:GetDescendants()) do if child:IsA("Frame") and child ~= mainFrame then local fadeTween = TweenService:Create(child, TweenInfo.new(CONFIG.CollapseDuration * 0.6, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {BackgroundTransparency = 1}) fadeTween:Play() elseif child:IsA("TextLabel") or child:IsA("TextButton") then local fadeTween = TweenService:Create(child, TweenInfo.new(CONFIG.CollapseDuration * 0.6, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {TextTransparency = 1}) fadeTween:Play() end end end -- Инициализация local function init() local screenGui = Instance.new("ScreenGui") screenGui.Name = "PremiumMenu" screenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") screenGui.ResetOnSpawn = false guiReferences.ScreenGui = screenGui GuiManager.Show() end init() return GuiManager