local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local LocalPlayer = Players.LocalPlayer -- -- -- do local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local CoreGui = game:GetService("CoreGui") local HttpService = game:GetService("HttpService") local Player = Players.LocalPlayer local Mouse = Player:GetMouse() local IsMobile = UserInputService.TouchEnabled local SoulUI = { Flags = {}, ThemeItems = {}, Connections = {}, Folders = { Configs = "SoulUI/Configs" } } local Theme = { Accent = Color3.fromRGB(120, 80, 255), AccentGradient = Color3.fromRGB(80, 180, 255), Background = Color3.fromRGB(15, 15, 15), Background2 = Color3.fromRGB(20, 20, 20), Element = Color3.fromRGB(30, 30, 30), Outline = Color3.fromRGB(40, 40, 40), Text = Color3.fromRGB(240, 240, 240), TextDim = Color3.fromRGB(160, 160, 160), SectionTop = Color3.fromRGB(25, 25, 25), } SoulUI.Theme = Theme local TweenInfoPreset = { Smooth = TweenInfo.new(0.35, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), Fast = TweenInfo.new(0.2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), Bounce = TweenInfo.new(0.4, Enum.EasingStyle.Back, Enum.EasingDirection.Out), } local function tween(obj, props, info) local t = TweenService:Create(obj, info or TweenInfoPreset.Smooth, props) t:Play() return t end local function Create(class, props) local inst = Instance.new(class) for k, v in pairs(props) do if k ~= "Parent" then inst[k] = v end end if props.Parent then inst.Parent = props.Parent end return inst end local function Corner(par, r) return Create("UICorner", { CornerRadius = UDim.new(0, r or 8), Parent = par }) end local function Stroke(par, col, thick) return Create("UIStroke", { Color = col or Theme.Outline, Thickness = thick or 1, Parent = par }) end local function Padding(par, t, b, l, r) return Create("UIPadding", { PaddingTop = UDim.new(0, t or 0), PaddingBottom = UDim.new(0, b or t or 0), PaddingLeft = UDim.new(0, l or t or 0), PaddingRight = UDim.new(0, r or l or t or 0), Parent = par }) end local function List(par, pad, dir) return Create("UIListLayout", { Padding = UDim.new(0, pad or 6), FillDirection = dir or Enum.FillDirection.Vertical, HorizontalAlignment = Enum.HorizontalAlignment.Center, SortOrder = Enum.SortOrder.LayoutOrder, Parent = par }) end local function Ripple(btn) local r = Create("Frame", { BackgroundColor3 = Color3.new(1,1,1), BackgroundTransparency = 0.85, Position = UDim2.new(0, Mouse.X - btn.AbsolutePosition.X, 0, Mouse.Y - btn.AbsolutePosition.Y), Size = UDim2.new(0,0,0,0), AnchorPoint = Vector2.new(0.5,0.5), Parent = btn }) Corner(r, 999) local sz = math.max(btn.AbsoluteSize.X, btn.AbsoluteSize.Y) * 2.5 tween(r, { Size = UDim2.new(0,sz,0,sz), BackgroundTransparency = 1 }, TweenInfo.new(0.6, Enum.EasingStyle.Quint)) task.delay(0.6, r.Destroy, r) end local NotifHolder function SoulUI:Notify(data) if not NotifHolder or not NotifHolder.Parent then NotifHolder = Create("Frame", { Parent = (gethui and gethui() or CoreGui), BackgroundTransparency = 1, Size = UDim2.new(0,300,1,0), Position = UDim2.new(1,-320,0,0), ClipsDescendants = true }) List(NotifHolder, 8, Enum.FillDirection.Vertical) Padding(NotifHolder, 10,10,10,10) end local notif = Create("Frame", { BackgroundColor3 = Theme.Background2, Size = UDim2.new(0,280,0,0), AutomaticSize = Enum.AutomaticSize.Y, Parent = NotifHolder }) Corner(notif, 8) Stroke(notif, Theme.Outline) local title = Create("TextLabel", { BackgroundTransparency = 1, Size = UDim2.new(1,-30,0,20), Position = UDim2.new(0,15,0,12), Font = Enum.Font.GothamBold, Text = data.Title or "Notification", TextColor3 = Theme.Text, TextSize = 14, TextXAlignment = Enum.TextXAlignment.Left, Parent = notif }) local desc = data.Description and Create("TextLabel", { BackgroundTransparency = 1, Size = UDim2.new(1,-30,0,0), Position = UDim2.new(0,15,0,34), AutomaticSize = Enum.AutomaticSize.Y, Font = Enum.Font.Gotham, Text = data.Description, TextColor3 = Theme.TextDim, TextSize = 12, TextWrapped = true, TextXAlignment = Enum.TextXAlignment.Left, Parent = notif }) or nil local progress = Create("Frame", { BackgroundColor3 = Theme.Accent, Size = UDim2.new(1,0,0,3), Position = UDim2.new(0,0,1,-3), BorderSizePixel = 0, Parent = notif }) Corner(progress, 2) notif.Size = UDim2.new(0,280,0,0) tween(notif, { Size = UDim2.new(0,280,0, (desc and desc.AbsoluteSize.Y or 0) + 50) }, TweenInfoPreset.Fast) tween(progress, { Size = UDim2.new(0,0,0,3) }, TweenInfo.new(data.Duration or 3, Enum.EasingStyle.Linear)) task.delay(data.Duration or 3, function() tween(notif, { Size = UDim2.new(0,280,0,0) }, TweenInfoPreset.Fast) task.wait(0.2) notif:Destroy() end) end function SoulUI:CreateWindow(config) config = config or {} local Window = { Name = config.Name or "SoulUI", Tabs = {}, CurrentTab = nil, Minimized = false, Visible = true } local ScreenGui = Create("ScreenGui", { Name = "SoulUI", ResetOnSpawn = false, ZIndexBehavior = Enum.ZIndexBehavior.Sibling }) pcall(function() ScreenGui.Parent = CoreGui end) if not ScreenGui.Parent then ScreenGui.Parent = Player:WaitForChild("PlayerGui") end local Main = Create("Frame", { BackgroundColor3 = Theme.Background, Size = UDim2.new(0,600,0,400), Position = UDim2.new(0.5,0,0.5,0), AnchorPoint = Vector2.new(0.5,0.5), ClipsDescendants = true, Parent = ScreenGui }) Corner(Main, 10) Stroke(Main, Theme.Outline) local TitleBar = Create("Frame", { BackgroundColor3 = Theme.Background2, Size = UDim2.new(1,0,0,42), Parent = Main }) local Logo = Create("ImageLabel", { BackgroundTransparency = 1, Size = UDim2.new(0,28,0,28), Position = UDim2.new(0,10,0.5,0), AnchorPoint = Vector2.new(0,0.5), Image = "rbxassetid://102012222927963", ScaleType = Enum.ScaleType.Fit, Parent = TitleBar }) local Title = Create("TextLabel", { BackgroundTransparency = 1, Size = UDim2.new(0,200,1,0), Position = UDim2.new(0,48,0,0), Font = Enum.Font.GothamBold, Text = Window.Name, TextColor3 = Theme.Text, TextSize = 14, TextXAlignment = Enum.TextXAlignment.Left, Parent = TitleBar }) local Controls = Create("Frame", { BackgroundTransparency = 1, Size = UDim2.new(0,70,1,0), Position = UDim2.new(1,-80,0,0), Parent = TitleBar }) local MinBtn = Create("TextButton", { BackgroundColor3 = Theme.Element, Size = UDim2.new(0,28,0,28), Position = UDim2.new(0,0,0.5,0), AnchorPoint = Vector2.new(0,0.5), Text = "", AutoButtonColor = false, Parent = Controls }) Corner(MinBtn, 6) local MinIcon = Create("TextLabel", { BackgroundTransparency = 1, Size = UDim2.new(1,0,1,0), Font = Enum.Font.GothamBold, Text = "−", TextColor3 = Theme.TextDim, TextSize = 16, Parent = MinBtn }) local CloseBtn = Create("TextButton", { BackgroundColor3 = Theme.Element, Size = UDim2.new(0,28,0,28), Position = UDim2.new(0,36,0.5,0), AnchorPoint = Vector2.new(0,0.5), Text = "", AutoButtonColor = false, Parent = Controls }) Corner(CloseBtn, 6) local CloseIcon = Create("TextLabel", { BackgroundTransparency = 1, Size = UDim2.new(1,0,1,0), Font = Enum.Font.GothamBold, Text = "×", TextColor3 = Theme.TextDim, TextSize = 18, Parent = CloseBtn }) local Sidebar = Create("Frame", { BackgroundColor3 = Theme.Background2, Size = UDim2.new(0,150,1,-43), Position = UDim2.new(0,0,0,43), Parent = Main }) local TabContainer = Create("ScrollingFrame", { BackgroundTransparency = 1, Size = UDim2.new(1,-8,1,-16), Position = UDim2.new(0,4,0,8), ScrollBarThickness = 2, ScrollBarImageColor3 = Theme.Outline, CanvasSize = UDim2.new(0,0,0,0), AutomaticCanvasSize = Enum.AutomaticSize.Y, Parent = Sidebar }) List(TabContainer, 4) Padding(TabContainer, 4,4,4,4) local Content = Create("Frame", { BackgroundTransparency = 1, Size = UDim2.new(1,-155,1,-48), Position = UDim2.new(0,153,0,46), ClipsDescendants = true, Parent = Main }) local dragging, dragStart, startPos TitleBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = Main.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) UserInputService.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then local delta = input.Position - dragStart Main.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) MinBtn.MouseButton1Click:Connect(function() Ripple(MinBtn) Window.Minimized = not Window.Minimized tween(Main, { Size = Window.Minimized and UDim2.new(0,600,0,42) or UDim2.new(0,600,0,400) }, TweenInfoPreset.Bounce) end) CloseBtn.MouseButton1Click:Connect(function() Ripple(CloseBtn) tween(Main, { Size = UDim2.new(0,600,0,0) }, TweenInfoPreset.Fast) task.wait(0.2) ScreenGui:Destroy() end) local toggleKey = config.ToggleKey or Enum.KeyCode.RightShift UserInputService.InputBegan:Connect(function(input, gpe) if not gpe and input.KeyCode == toggleKey then Window.Visible = not Window.Visible Main.Visible = Window.Visible end end) function Window:CreateTab(tabConfig) tabConfig = tabConfig or {} local Tab = { Name = tabConfig.Name or "Tab", Icon = tabConfig.Icon or "rbxassetid://7733960981" } local TabBtn = Create("TextButton", { BackgroundColor3 = Theme.Element, BackgroundTransparency = 1, Size = UDim2.new(1,0,0,36), Text = "", AutoButtonColor = false, Parent = TabContainer }) Corner(TabBtn, 6) local TabIcon = Create("ImageLabel", { BackgroundTransparency = 1, Size = UDim2.new(0,18,0,18), Position = UDim2.new(0,10,0.5,0), AnchorPoint = Vector2.new(0,0.5), Image = Tab.Icon, ImageColor3 = Theme.TextDim, Parent = TabBtn }) local TabLabel = Create("TextLabel", { BackgroundTransparency = 1, Size = UDim2.new(1,-38,1,0), Position = UDim2.new(0,32,0,0), Font = Enum.Font.GothamMedium, Text = Tab.Name, TextColor3 = Theme.TextDim, TextSize = 12, TextXAlignment = Enum.TextXAlignment.Left, Parent = TabBtn }) local TabIndicator = Create("Frame", { BackgroundColor3 = Theme.Accent, Size = UDim2.new(0,3,0.5,0), Position = UDim2.new(0,0,0.25,0), BackgroundTransparency = 1, Parent = TabBtn }) Corner(TabIndicator, 2) local TabContent = Create("ScrollingFrame", { BackgroundTransparency = 1, Size = UDim2.new(1,0,1,0), ScrollBarThickness = 2, ScrollBarImageColor3 = Theme.Outline, CanvasSize = UDim2.new(0,0,0,0), AutomaticCanvasSize = Enum.AutomaticSize.Y, Visible = false, Parent = Content }) List(TabContent, 8) Padding(TabContent, 6,6,6,10) local function Select() for _, t in pairs(Window.Tabs) do t.Btn.BackgroundTransparency = 1 t.IconRef.ImageColor3 = Theme.TextDim t.LabelRef.TextColor3 = Theme.TextDim t.Indicator.BackgroundTransparency = 1 t.Content.Visible = false end TabBtn.BackgroundTransparency = 0.7 TabIcon.ImageColor3 = Theme.Accent TabLabel.TextColor3 = Theme.Text TabIndicator.BackgroundTransparency = 0 TabContent.Visible = true Window.CurrentTab = Tab end TabBtn.MouseButton1Click:Connect(function() Ripple(TabBtn); Select() end) TabBtn.MouseEnter:Connect(function() if Window.CurrentTab ~= Tab then TabBtn.BackgroundTransparency = 0.85 TabIcon.ImageColor3 = Theme.Text TabLabel.TextColor3 = Theme.Text end end) TabBtn.MouseLeave:Connect(function() if Window.CurrentTab ~= Tab then TabBtn.BackgroundTransparency = 1 TabIcon.ImageColor3 = Theme.TextDim TabLabel.TextColor3 = Theme.TextDim end end) Tab.Btn = TabBtn Tab.IconRef = TabIcon Tab.LabelRef = TabLabel Tab.Indicator = TabIndicator Tab.Content = TabContent table.insert(Window.Tabs, Tab) if #Window.Tabs == 1 then Select() end function Tab:CreateSection(name) local Section = Create("Frame", { BackgroundTransparency = 1, Size = UDim2.new(1,0,0,0), AutomaticSize = Enum.AutomaticSize.Y, Parent = TabContent }) local SectionLabel = Create("TextLabel", { BackgroundTransparency = 1, Size = UDim2.new(1,0,0,22), Font = Enum.Font.GothamBold, Text = name:upper(), TextColor3 = Theme.TextDim, TextSize = 10, TextXAlignment = Enum.TextXAlignment.Left, Parent = Section }) local SectionContent = Create("Frame", { BackgroundTransparency = 1, Size = UDim2.new(1,0,0,0), Position = UDim2.new(0,0,0,24), AutomaticSize = Enum.AutomaticSize.Y, Parent = Section }) List(SectionContent, 6) return { Content = SectionContent } end function Tab:CreateToggle(cfg) cfg = cfg or {} local parent = cfg.Section and cfg.Section.Content or TabContent local toggled = cfg.Default or false local Toggle = Create("TextButton", { BackgroundColor3 = Theme.Element, Size = UDim2.new(1,0,0,36), Text = "", AutoButtonColor = false, Parent = parent }) Corner(Toggle, 6) Stroke(Toggle, Theme.Outline) local Label = Create("TextLabel", { BackgroundTransparency = 1, Size = UDim2.new(1,-60,1,0), Position = UDim2.new(0,12,0,0), Font = Enum.Font.GothamMedium, Text = cfg.Name or "Toggle", TextColor3 = Theme.Text, TextSize = 13, TextXAlignment = Enum.TextXAlignment.Left, Parent = Toggle }) local Switch = Create("Frame", { BackgroundColor3 = Theme.Outline, Size = UDim2.new(0,38,0,20), Position = UDim2.new(1,-50,0.5,0), AnchorPoint = Vector2.new(0,0.5), Parent = Toggle }) Corner(Switch, 10) local Knob = Create("Frame", { BackgroundColor3 = Theme.TextDim, Size = UDim2.new(0,14,0,14), Position = UDim2.new(0,3,0.5,0), AnchorPoint = Vector2.new(0,0.5), Parent = Switch }) Corner(Knob, 7) local function Update() if toggled then tween(Switch, { BackgroundColor3 = Theme.Accent }, TweenInfoPreset.Fast) tween(Knob, { Position = UDim2.new(1,-17,0.5,0), BackgroundColor3 = Theme.Text }, TweenInfoPreset.Fast) else tween(Switch, { BackgroundColor3 = Theme.Outline }, TweenInfoPreset.Fast) tween(Knob, { Position = UDim2.new(0,3,0.5,0), BackgroundColor3 = Theme.TextDim }, TweenInfoPreset.Fast) end if cfg.Callback then cfg.Callback(toggled) end end if toggled then Switch.BackgroundColor3 = Theme.Accent Knob.Position = UDim2.new(1,-17,0.5,0) Knob.BackgroundColor3 = Theme.Text end Toggle.MouseButton1Click:Connect(function() toggled = not toggled; Update() end) Toggle.MouseEnter:Connect(function() tween(Toggle, { BackgroundColor3 = Theme.Element:lerp(Color3.new(1,1,1),0.1) }, TweenInfoPreset.Fast) end) Toggle.MouseLeave:Connect(function() tween(Toggle, { BackgroundColor3 = Theme.Element }, TweenInfoPreset.Fast) end) return { Set = function(_, v) toggled = v; Update() end, Get = function() return toggled end } end function Tab:CreateLabel(text) return Create("TextLabel", { BackgroundTransparency = 1, Size = UDim2.new(1,0,0,20), Font = Enum.Font.Gotham, Text = text or "Label", TextColor3 = Theme.TextDim, TextSize = 12, TextXAlignment = Enum.TextXAlignment.Left, Parent = TabContent }) end return Tab end return Window end _G.SoulUI = SoulUI end -- -- -- local FOOD_CATALOG = { { id = "Love Cake", price = 2e22 }, { id = "Kwek-Kwek", price = 500000000000000000 }, { id = "Popcorn", price = 85000000000000000 }, { id = "Wrap", price = 10000000000000000 }, { id = "Meat", price = 5000000000000000 }, { id = "Lobster", price = 3000000000000000 }, { id = "Two-tier Fruit Cake", price = 1000000000000000 }, { id = "Ham", price = 200000000000000 }, { id = "Pizza Haunted", price = 8000000000000 }, { id = "Ice Cream", price = 2500000000000 }, { id = "Donut", price = 750000000000 }, { id = "Breakfast", price = 250000000000 }, { id = "Manga Meat", price = 80000000000 }, { id = "ApplePie", price = 50000000000 }, { id = "Fries", price = 25000000000 }, { id = "Pineapple", price = 15000000000 }, { id = "Mango", price = 5500000000 }, { id = "Cake", price = 2500000000 }, { id = "Cupcake", price = 1000000000 }, { id = "Whole Chicken", price = 600000000 }, { id = "Double Hamburguer", price = 450000000 }, { id = "Pizza", price = 150000000 }, { id = "HotDog", price = 90000000 }, { id = "Hamburguer", price = 30000000 }, { id = "Taco", price = 15000000 }, { id = "Legs", price = 7000000 }, { id = "Detos", price = 3000000 }, { id = "Pie", price = 1200000 }, { id = "Macaron", price = 500000 }, { id = "Soup", price = 300000 }, { id = "Baguette", price = 100000 }, { id = "Turkey Leg", price = 30000 }, { id = "Sandwich", price = 10000 }, { id = "Crossaint", price = 4000 }, { id = "Orange", price = 1500 }, { id = "Banana", price = 500 }, { id = "Grapes", price = 100 }, { id = "AppleGreen", price = 10 }, { id = "Apple", price = 0 }, } local FOOD_PRIORITY = {} for _, f in ipairs(FOOD_CATALOG) do table.insert(FOOD_PRIORITY, f.id) end local ComprarRebirth = ReplicatedStorage:WaitForChild("ComprarRebirth") local GameManager = ReplicatedStorage:WaitForChild("Remotes"):WaitForChild("GameManager") local RequestSpin = ReplicatedStorage:WaitForChild("Remotes"):WaitForChild("RequestSpin") local RequestEgg = ReplicatedStorage:WaitForChild("Remotes"):WaitForChild("RequestEggPurchase") local leaderstats = LocalPlayer:WaitForChild("leaderstats", 10) local foodStat = leaderstats and leaderstats:WaitForChild("Food", 5) local rebirthStat = leaderstats and leaderstats:WaitForChild("Rebirth", 5) local autoFoodEnabled = false local autoRebirthEnabled = false local autoTrophyEnabled = false local autoSpinEnabled = false local autoEggEnabled = false local autoCoinsEnabled = false local Window = _G.SoulUI:CreateWindow({ Name = "SoulinHub", ToggleKey = Enum.KeyCode.RightShift }) local MainTab = Window:CreateTab({ Name = "Main", Icon = "rbxassetid://7733960981" }) MainTab:CreateToggle({ Name = "🍔 Auto Food", Default = false, Callback = function(v) autoFoodEnabled = v end }) MainTab:CreateToggle({ Name = "🔄 Auto Rebirth", Default = false, Callback = function(v) autoRebirthEnabled = v end }) MainTab:CreateToggle({ Name = "🏆 Auto Trophy", Default = false, Callback = function(v) autoTrophyEnabled = v end }) MainTab:CreateToggle({ Name = "🎰 Auto Spin", Default = false, Callback = function(v) autoSpinEnabled = v end }) MainTab:CreateToggle({ Name = "🥚 Auto Egg", Default = false, Callback = function(v) autoEggEnabled = v end }) MainTab:CreateToggle({ Name = "🪙 Auto Coins", Default = false, Callback = function(v) autoCoinsEnabled = v end }) local statusLabel = MainTab:CreateLabel("● idle") local function setStatus(txt) statusLabel.Text = "● " .. txt end local function getBestTool() local starterGear = LocalPlayer:FindFirstChild("StarterGear") local chr = LocalPlayer.Character for _, name in ipairs(FOOD_PRIORITY) do if starterGear and starterGear:FindFirstChild(name) then return starterGear:FindFirstChild(name) end if chr and chr:FindFirstChild(name) then return chr:FindFirstChild(name) end end return nil end local function equipTool(tool) local chr = LocalPlayer.Character if not chr then return end local hum = chr:FindFirstChildOfClass("Humanoid") if hum and tool.Parent ~= chr then hum:EquipTool(tool) end end task.spawn(function() while true do task.wait() if not autoFoodEnabled then continue end local tool = getBestTool() if not tool then setStatus("no food tool found!") continue end equipTool(tool) task.wait() tool:Activate() setStatus("food: " .. tool.Name) end end) task.spawn(function() while true do task.wait(0.2) if not autoRebirthEnabled or not foodStat or not rebirthStat then continue end local floored = math.floor(foodStat.Value / (1000 + rebirthStat.Value * 500)) if floored >= 1 then ComprarRebirth:FireServer(floored, "Infinite") setStatus("rebirth +" .. floored) end end end) task.spawn(function() while true do task.wait() if not autoTrophyEnabled then continue end GameManager:FireServer("GanhouTrofeu", 500) setStatus("trophy: firing!") end end) task.spawn(function() while true do task.wait(0.1) if not autoSpinEnabled then continue end pcall(function() RequestSpin:InvokeServer() end) setStatus("spin: invoked!") end end) local EGG_ID = "ShadowEgg" task.spawn(function() while true do task.wait(0.1) if not autoEggEnabled then continue end RequestEgg:FireServer(unpack({ count = 1, eggId = EGG_ID })) setStatus("egg: opening " .. EGG_ID) end end) task.spawn(function() while true do task.wait() if not autoCoinsEnabled then continue end GameManager:FireServer("Pagar", math.huge) setStatus("coins: fired!") end end) setStatus("ready") _G.SoulUI:Notify({ Title = "SoulinHub", Description = "Loaded successfully!", Duration = 3 })