local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local CoreGui = game:GetService("CoreGui") local LocalPlayer = Players.LocalPlayer if not game:IsLoaded() then game.Loaded:Wait() end local Bases = workspace:WaitForChild("Bases") local MergeEvent = ReplicatedStorage.Packages.Remotes.Networking["RE/Merge/MergeRequest"] local PickUpEvent = ReplicatedStorage.NukeRemotes.PickUp local autoMerge = false local screenGui = Instance.new("ScreenGui") screenGui.Name = "AutoMergeGUI" screenGui.ResetOnSpawn = false screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling if gethui then screenGui.Parent = gethui() else local ok = pcall(function() screenGui.Parent = CoreGui end) if not ok then screenGui.Parent = LocalPlayer.PlayerGui end end local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 170, 0, 30) frame.Position = UDim2.new(0, 10, 0.5, -15) frame.BackgroundTransparency = 1 frame.Parent = screenGui local button = Instance.new("TextButton") button.Size = UDim2.new(1, 0, 1, 0) button.BackgroundColor3 = Color3.fromRGB(100, 100, 100) button.Text = "Auto Merge Nuke: OFF" button.TextColor3 = Color3.fromRGB(255, 255, 255) button.TextSize = 13 button.Font = Enum.Font.GothamBold button.BorderSizePixel = 0 button.Parent = frame Instance.new("UICorner", button).CornerRadius = UDim.new(0, 6) button.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then local offset = Vector2.new( input.Position.X - frame.AbsolutePosition.X, input.Position.Y - frame.AbsolutePosition.Y ) local conn conn = input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then conn:Disconnect() return end frame.Position = UDim2.new(0, input.Position.X - offset.X, 0, input.Position.Y - offset.Y) end) end end) button.Activated:Connect(function() autoMerge = not autoMerge if autoMerge then button.BackgroundColor3 = Color3.fromRGB(0, 180, 80) button.Text = "Auto Merge Nuke: ON" else button.BackgroundColor3 = Color3.fromRGB(100, 100, 100) button.Text = "Auto Merge Nuke: OFF" end end) local currentCharacter = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() LocalPlayer.CharacterAdded:Connect(function(char) currentCharacter = char end) local function getTextLabel(nuke) for _, v in ipairs(nuke:GetDescendants()) do if v:IsA("TextLabel") then return v end end end local nukesFolder for i = 1, 8 do local base = Bases:FindFirstChild("Base" .. i) if base and base:GetAttribute("OwnerUserId") == LocalPlayer.UserId then nukesFolder = base:FindFirstChild("Nukes") or base:WaitForChild("Nukes", 5) break end end if nukesFolder then local nukes = {} local function tryEquip() for _, nuke in ipairs(nukes) do local tl = getTextLabel(nuke) if tl and tl.Text ~= "" then for _, other in ipairs(nukes) do if other ~= nuke then local otherTl = getTextLabel(other) if otherTl and otherTl.Text == tl.Text then local hrp = currentCharacter and currentCharacter:FindFirstChild("HumanoidRootPart") if hrp then local part = nuke:IsA("BasePart") and nuke or nuke:FindFirstChildWhichIsA("BasePart", true) if part then hrp.CFrame = part.CFrame end end PickUpEvent:FireServer(nuke) return end end end end end end for _, nuke in ipairs(nukesFolder:GetChildren()) do table.insert(nukes, nuke) end nukesFolder.ChildAdded:Connect(function(nuke) table.insert(nukes, nuke) end) nukesFolder.ChildRemoved:Connect(function(nuke) for i, v in ipairs(nukes) do if v == nuke then table.remove(nukes, i) break end end end) task.spawn(function() while true do task.wait(0.1) if autoMerge then for _, nuke in ipairs(nukes) do if nuke.Parent == nukesFolder then MergeEvent:FireServer(nuke) end end tryEquip() end end end) end