local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local TweenService = game:GetService("TweenService") local Lighting = game:GetService("Lighting") local lp = Players.LocalPlayer local mouse = lp:GetMouse() local core = { Enabled = true, Visible = true, Minimized = false, Connections = {}, ESP_Instances = {}, States = { InfStamina = false, PlayerESP = false, Fullbright = false } } local sg = Instance.new("ScreenGui") sg.Name = "YmayCivHub" sg.ResetOnSpawn = false sg.ZIndexBehavior = Enum.ZIndexBehavior.Sibling sg.Parent = lp:WaitForChild("PlayerGui") local main = Instance.new("Frame") main.Name = "Main" main.Size = UDim2.new(0, 500, 0, 350) main.Position = UDim2.new(0.5, -250, 0.5, -175) main.BackgroundColor3 = Color3.fromRGB(20, 20, 20) main.BorderSizePixel = 0 main.ClipsDescendants = true main.Active = true main.Parent = sg local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = main local top = Instance.new("Frame") top.Size = UDim2.new(1, 0, 0, 40) top.BackgroundColor3 = Color3.fromRGB(30, 30, 30) top.BorderSizePixel = 0 top.Parent = main local title = Instance.new("TextLabel") title.Size = UDim2.new(1, -120, 1, 0) title.Position = UDim2.new(0, 15, 0, 0) title.BackgroundTransparency = 1 title.Text = "Ymay Civilization Hub" title.TextColor3 = Color3.new(1, 1, 1) title.Font = Enum.Font.GothamBold title.TextSize = 16 title.TextXAlignment = Enum.TextXAlignment.Left title.Parent = top local function drag(frame, obj) local dragging, dragInput, dragStart, startPos obj.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = frame.Position end end) UserInputService.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then local delta = input.Position - dragStart frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) end drag(main, top) local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.new(0, 40, 0, 40) closeBtn.Position = UDim2.new(1, -40, 0, 0) closeBtn.BackgroundTransparency = 1 closeBtn.Text = "X" closeBtn.TextColor3 = Color3.new(1, 0.2, 0.2) closeBtn.Font = Enum.Font.GothamBold closeBtn.TextSize = 18 closeBtn.Parent = top local minBtn = Instance.new("TextButton") minBtn.Size = UDim2.new(0, 40, 0, 40) minBtn.Position = UDim2.new(1, -80, 0, 0) minBtn.BackgroundTransparency = 1 minBtn.Text = "-" minBtn.TextColor3 = Color3.new(1, 1, 1) minBtn.Font = Enum.Font.GothamBold minBtn.TextSize = 20 minBtn.Parent = top local openArrow = Instance.new("TextButton") openArrow.Size = UDim2.new(0, 30, 0, 60) openArrow.Position = UDim2.new(0, -35, 0.5, -30) openArrow.BackgroundColor3 = Color3.fromRGB(30, 30, 30) openArrow.Text = ">" openArrow.TextColor3 = Color3.new(1, 1, 1) openArrow.Font = Enum.Font.GothamBold openArrow.TextSize = 20 openArrow.Parent = sg Instance.new("UICorner", openArrow) local function setVisibility(visible) core.Visible = visible if visible then main:TweenPosition(UDim2.new(0.5, -250, 0.5, -175), "Out", "Quint", 0.4, true) openArrow:TweenPosition(UDim2.new(0, -35, 0.5, -30), "Out", "Quint", 0.3, true) else main:TweenPosition(UDim2.new(0, -550, 0.5, -175), "Out", "Quint", 0.4, true) task.wait(0.2) openArrow:TweenPosition(UDim2.new(0, 5, 0.5, -30), "Out", "Quint", 0.3, true) end end minBtn.MouseButton1Click:Connect(function() setVisibility(false) end) openArrow.MouseButton1Click:Connect(function() setVisibility(true) end) UserInputService.InputBegan:Connect(function(i, g) if not g and i.KeyCode == Enum.KeyCode.K then setVisibility(not core.Visible) end end) local sidebar = Instance.new("Frame") sidebar.Size = UDim2.new(0, 120, 1, -40) sidebar.Position = UDim2.new(0, 0, 0, 40) sidebar.BackgroundColor3 = Color3.fromRGB(25, 25, 25) sidebar.BorderSizePixel = 0 sidebar.Parent = main local content = Instance.new("Frame") content.Size = UDim2.new(1, -120, 1, -40) content.Position = UDim2.new(0, 120, 0, 40) content.BackgroundTransparency = 1 content.Parent = main local layout = Instance.new("UIListLayout") layout.Parent = sidebar local tabs = {} local function createTab(name) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, 0, 0, 40) btn.BackgroundColor3 = Color3.fromRGB(25, 25, 25) btn.BorderSizePixel = 0 btn.Text = name btn.TextColor3 = Color3.fromRGB(150, 150, 150) btn.Font = Enum.Font.GothamMedium btn.TextSize = 14 btn.Parent = sidebar local page = Instance.new("ScrollingFrame") page.Size = UDim2.new(1, 0, 1, 0) page.BackgroundTransparency = 1 page.Visible = false page.ScrollBarThickness = 0 page.CanvasSize = UDim2.new(0, 0, 0, 0) page.AutomaticCanvasSize = Enum.AutomaticSize.Y page.Parent = content local pList = Instance.new("UIListLayout") pList.Padding = UDim.new(0, 8) pList.HorizontalAlignment = Enum.HorizontalAlignment.Center pList.Parent = page Instance.new("UIPadding", page).PaddingTop = UDim.new(0, 10) btn.MouseButton1Click:Connect(function() for _, t in pairs(tabs) do t.Page.Visible = false t.Btn.TextColor3 = Color3.fromRGB(150, 150, 150) end page.Visible = true btn.TextColor3 = Color3.new(1, 1, 1) end) tabs[name] = {Btn = btn, Page = page} return page end local function createToggle(page, text, callback) local bg = Instance.new("Frame") bg.Size = UDim2.new(0.9, 0, 0, 40) bg.BackgroundColor3 = Color3.fromRGB(35, 35, 35) bg.Parent = page Instance.new("UICorner", bg) local l = Instance.new("TextLabel") l.Size = UDim2.new(1, -60, 1, 0) l.Position = UDim2.new(0, 10, 0, 0) l.BackgroundTransparency = 1 l.Text = text l.TextColor3 = Color3.new(0.8, 0.8, 0.8) l.Font = Enum.Font.Gotham l.TextSize = 14 l.TextXAlignment = Enum.TextXAlignment.Left l.Parent = bg local tBtn = Instance.new("TextButton") tBtn.Size = UDim2.new(0, 40, 0, 20) tBtn.Position = UDim2.new(1, -50, 0.5, -10) tBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) tBtn.Text = "" tBtn.Parent = bg Instance.new("UICorner", tBtn).CornerRadius = UDim.new(1, 0) local circle = Instance.new("Frame") circle.Size = UDim2.new(0, 16, 0, 16) circle.Position = UDim2.new(0, 2, 0.5, -8) circle.BackgroundColor3 = Color3.new(1, 1, 1) circle.Parent = tBtn Instance.new("UICorner", circle).CornerRadius = UDim.new(1, 0) local enabled = false tBtn.MouseButton1Click:Connect(function() enabled = not enabled TweenService:Create(circle, TweenInfo.new(0.2), {Position = enabled and UDim2.new(1, -18, 0.5, -8) or UDim2.new(0, 2, 0.5, -8)}):Play() TweenService:Create(tBtn, TweenInfo.new(0.2), {BackgroundColor3 = enabled and Color3.fromRGB(0, 200, 100) or Color3.fromRGB(60, 60, 60)}):Play() callback(enabled) end) end local function applyESP(obj, name, color) if not obj or core.ESP_Instances[obj] then return end local h = Instance.new("Highlight") h.FillColor = Color3.new(0, 0, 0) h.OutlineColor = Color3.new(0, 0, 0) h.FillTransparency = 0.5 h.Parent = obj local b = Instance.new("BillboardGui") b.Size = UDim2.new(0, 100, 0, 20) b.AlwaysOnTop = true b.ExtentsOffset = Vector3.new(0, 3, 0) b.Parent = obj local t = Instance.new("TextLabel") t.Size = UDim2.new(1, 0, 1, 0) t.BackgroundTransparency = 1 t.Text = name t.TextColor3 = color t.Font = Enum.Font.GothamBold t.TextSize = 12 t.Parent = b core.ESP_Instances[obj] = {H = h, B = b} end local function removeESP(obj) if core.ESP_Instances[obj] then if core.ESP_Instances[obj].H then core.ESP_Instances[obj].H:Destroy() end if core.ESP_Instances[obj].B then core.ESP_Instances[obj].B:Destroy() end core.ESP_Instances[obj] = nil end end local mainPage = createTab("Main") local rockPage = createTab("Rock ESP") local plantPage = createTab("Plant ESP") local animalPage = createTab("Animal ESP") createToggle(mainPage, "Infinite Stamina", function(v) core.States.InfStamina = v task.spawn(function() while core.States.InfStamina do local s = lp.Character and lp.Character:FindFirstChild("Stamina") if s then s.Value = 100 end RunService.Heartbeat:Wait() end end) end) createToggle(mainPage, "Player ESP", function(v) core.States.PlayerESP = v local function update() for _, p in pairs(Players:GetPlayers()) do if p ~= lp and p.Character then local h = p.Character:FindFirstChild("YmayESP") if core.States.PlayerESP then if not h then h = Instance.new("Highlight") h.Name = "YmayESP" h.FillColor = Color3.new(1, 1, 1) h.FillTransparency = 0.5 h.Parent = p.Character end elseif h then h:Destroy() end end end end if v then core.Connections.PEsp = RunService.Heartbeat:Connect(update) elseif core.Connections.PEsp then core.Connections.PEsp:Disconnect() update() end end) createToggle(mainPage, "Fullbright", function(v) core.States.Fullbright = v if v then core.Connections.FB = RunService.RenderStepped:Connect(function() Lighting.Brightness = 2 Lighting.ClockTime = 14 Lighting.OutdoorAmbient = Color3.new(1, 1, 1) end) elseif core.Connections.FB then core.Connections.FB:Disconnect() Lighting.Brightness = 1 Lighting.ClockTime = 12 end end) local rockRoot = workspace:WaitForChild("StructureLoader"):WaitForChild("MainMapSpawners"):WaitForChild("RockSpawners") local oreList = {"Tin Rock", "Coal Rock", "Copper Rock", "Marble Rock", "Large Rock"} local oreStates = {} local function scanRocks() for _, ore in ipairs(oreList) do for _, s in pairs(rockRoot:GetDescendants()) do if s.Name == "SpawnPlate" then local r = s:FindFirstChild(ore) if r then if oreStates[ore] then applyESP(r, ore, Color3.new(0, 0, 0)) else removeESP(r) end end end end end end for _, ore in ipairs(oreList) do createToggle(rockPage, ore, function(v) oreStates[ore] = v scanRocks() end) end local plants = {"Berry Bush", "Carrot", "Corn", "Grass", "Pumpkin", "Strawberry Bush", "Sugar Cane", "Tree", "Wheat"} local plantStates = {} for _, p in ipairs(plants) do createToggle(plantPage, p, function(v) plantStates[p] = v for _, obj in pairs(workspace:GetChildren()) do if obj.Name == p then if v then applyESP(obj, p, Color3.new(0, 1, 0)) else removeESP(obj) end end end end) end local animals = {"Ghicken", "Gow"} local animalStates = {} local cowSpawners = workspace:WaitForChild("StructureLoader"):WaitForChild("CowSpawner") local function updateAnimalESP() for _, spawner in pairs(workspace.StructureLoader:GetChildren()) do if spawner.Name == "CowSpawner" then for _, animal in pairs(spawner:GetChildren()) do if animalStates[animal.Name] then applyESP(animal, animal.Name, Color3.new(1, 1, 1)) else removeESP(animal) end end end end end for _, a in ipairs(animals) do createToggle(animalPage, a, function(v) animalStates[a] = v updateAnimalESP() end) end local infBtn = Instance.new("TextButton") infBtn.Size = UDim2.new(0.9, 0, 0, 40) infBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 45) infBtn.Text = "Load Infinite Yield" infBtn.TextColor3 = Color3.new(1, 1, 1) infBtn.Font = Enum.Font.GothamBold infBtn.TextSize = 14 infBtn.Parent = mainPage Instance.new("UICorner", infBtn) infBtn.MouseButton1Click:Connect(function() loadstring(game:HttpGet('https://raw.githubusercontent.com/DarkNetworks/Infinite-Yield/main/latest.lua'))() end) closeBtn.MouseButton1Click:Connect(function() for _, c in pairs(core.Connections) do c:Disconnect() end for obj, _ in pairs(core.ESP_Instances) do removeESP(obj) end for _, p in pairs(Players:GetPlayers()) do if p.Character then local h = p.Character:FindFirstChild("YmayESP") if h then h:Destroy() end end end sg:Destroy() end) tabs["Main"].Btn.TextColor3 = Color3.new(1, 1, 1) tabs["Main"].Page.Visible = true