local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local player = Players.LocalPlayer local PlayerGui = player:WaitForChild("PlayerGui") local event = ReplicatedStorage:WaitForChild("Shared"):WaitForChild("Events"):WaitForChild("FireWeapon") local eggRemote = ReplicatedStorage :WaitForChild("Game") :WaitForChild("Events") :WaitForChild("EggCollected") local eggArgs = {"Beater"} _G.AutoEgg = false _G.KillAura = false _G.Optimize = false _G.SaveZone = false local range = 2000 local rangeSq = range * range local maxTargets = 5 local scanDelay = 0.4 local loopDelay = 0.02 local loopCount = 3 local cachedTargets = {} local char, root local function setCharacter(c) char = c root = c:WaitForChild("HumanoidRootPart") end if player.Character then setCharacter(player.Character) end player.CharacterAdded:Connect(setCharacter) local ScreenGui = Instance.new("ScreenGui", PlayerGui) ScreenGui.Name = "ModernHub" ScreenGui.ResetOnSpawn = false local MainFrame = Instance.new("Frame", ScreenGui) MainFrame.Size = UDim2.new(0, 220, 0, 250) MainFrame.Position = UDim2.new(0.65, -110, 0.4, 0) MainFrame.BackgroundColor3 = Color3.fromRGB(20,20,20) Instance.new("UICorner", MainFrame) local Header = Instance.new("Frame", MainFrame) Header.Size = UDim2.new(1,0,0,30) Header.BackgroundColor3 = Color3.fromRGB(35,35,35) Instance.new("UICorner", Header) local Title = Instance.new("TextLabel", Header) Title.Text = "OPENSOURCE HUB" Title.Size = UDim2.new(1,0,1,0) Title.BackgroundTransparency = 1 Title.TextColor3 = Color3.new(1,1,1) Title.Font = Enum.Font.GothamBold Title.TextSize = 12 local CloseBtn = Instance.new("TextButton", Header) CloseBtn.Text = "×" CloseBtn.Size = UDim2.new(0,30,1,0) CloseBtn.Position = UDim2.new(1,-30,0,0) CloseBtn.BackgroundTransparency = 1 local function makeBtn(text, y) local b = Instance.new("TextButton", MainFrame) b.Size = UDim2.new(0.9,0,0,35) b.Position = UDim2.new(0.05,0,y,0) b.Text = text..": OFF" b.BackgroundColor3 = Color3.fromRGB(35,35,35) b.TextColor3 = Color3.new(1,1,1) b.Font = Enum.Font.GothamBold Instance.new("UICorner", b) return b end local function toggleButton(btn, state, text) local onColor = Color3.fromRGB(46, 204, 113) local offColor = Color3.fromRGB(35, 35, 35) btn.BackgroundColor3 = state and onColor or offColor btn.Text = text .. (state and ": ON" or ": OFF") end local EggBtn = makeBtn("OP AutoEgg",0.15) local AuraBtn = makeBtn("Kill Aura",0.35) local OptBtn = makeBtn("Optimization",0.55) local SaveBtn = makeBtn("Save Zone",0.75) task.spawn(function() while true do if _G.AutoEgg then for i = 1, 10 do eggRemote:FireServer(unpack(eggArgs)) end end task.wait(0.05) end end) local function getGun() return char and char:FindFirstChildOfClass("Tool") end local function scanTargets() if not root then return {} end local result = {} for _,v in ipairs(workspace:GetDescendants()) do if v:IsA("Model") and v ~= char then local hum = v:FindFirstChild("Humanoid") local hrp = v:FindFirstChild("HumanoidRootPart") if hum and hrp and hum.Health > 0 then if (hrp.Position - root.Position).Magnitude <= range then table.insert(result, hrp) end end end end return result end task.spawn(function() while true do task.wait(scanDelay) if _G.KillAura then cachedTargets = scanTargets() end end end) task.spawn(function() while true do task.wait(loopDelay) if _G.KillAura and root then local gun = getGun() if gun then for _,t in ipairs(cachedTargets) do event:FireServer(gun, root.Position, t.Position, t, t.Position-root.Position, 2) end end end end end) local platform, oldPosition local function createPlatform() if platform then platform:Destroy() end platform = Instance.new("Part") platform.Size = Vector3.new(10,1,10) platform.Anchored = true platform.Position = root.Position + Vector3.new(0,50,0) platform.Parent = workspace end SaveBtn.MouseButton1Click:Connect(function() if not root then return end if not _G.SaveZone then _G.SaveZone = true oldPosition = root.Position createPlatform() root.CFrame = CFrame.new(platform.Position + Vector3.new(0,3,0)) else _G.SaveZone = false if oldPosition then root.CFrame = CFrame.new(oldPosition) end if platform then platform:Destroy() platform=nil end end toggleButton(SaveBtn,_G.SaveZone,"Save Zone") end) local saved = {} local function optimizeON() for _,v in ipairs(workspace:GetDescendants()) do if v:IsA("BasePart") then saved[v]={Material=v.Material,Color=v.Color} v.Material=Enum.Material.Plastic v.Color=Color3.fromRGB(80,80,80) end end end local function optimizeOFF() for obj,props in pairs(saved) do if obj and obj.Parent then for k,v in pairs(props) do obj[k]=v end end end saved={} end EggBtn.MouseButton1Click:Connect(function() _G.AutoEgg = not _G.AutoEgg toggleButton(EggBtn,_G.AutoEgg,"OP AutoEgg") end) AuraBtn.MouseButton1Click:Connect(function() _G.KillAura = not _G.KillAura toggleButton(AuraBtn,_G.KillAura,"Kill Aura") end) OptBtn.MouseButton1Click:Connect(function() _G.Optimize = not _G.Optimize if _G.Optimize then optimizeON() else optimizeOFF() end toggleButton(OptBtn,_G.Optimize,"Optimization") end) CloseBtn.MouseButton1Click:Connect(function() ScreenGui:Destroy() end) local dragging = false local dragInput, dragStart, startPos local function update(input) 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 Header.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 dragInput = input input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) Header.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then update(input) end end)