local TARGET_GAME_ID = 114031157005341 local CIRCLE_RADIUS = 5 local Players = game:GetService("Players") local Workspace = game:GetService("Workspace") local CoreGui = game:GetService("CoreGui") local StarterGui = game:GetService("StarterGui") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local TeleportService = game:GetService("TeleportService") local currentPlaceId = game.PlaceId local player = Players.LocalPlayer if TARGET_GAME_ID ~= 0 and currentPlaceId ~= TARGET_GAME_ID then StarterGui:SetCore("SendNotification", { Title = "Teleporting", Text = "Joining correct game...", Duration = 5 }) TeleportService:Teleport(TARGET_GAME_ID, player) return end if CoreGui:FindFirstChild("GiftBoxGui") then CoreGui.GiftBoxGui:Destroy() end local screenGui = Instance.new("ScreenGui") screenGui.Name = "GiftBoxGui" screenGui.ResetOnSpawn = false screenGui.Parent = CoreGui local mainFrame = Instance.new("Frame") mainFrame.Name = "MainFrame" mainFrame.Size = UDim2.new(0, 220, 0, 130) mainFrame.Position = UDim2.new(0.5, -110, 0.5, -65) mainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 25) mainFrame.BorderSizePixel = 0 mainFrame.Parent = screenGui local frameCorner = Instance.new("UICorner") frameCorner.CornerRadius = UDim.new(0, 8) frameCorner.Parent = mainFrame local frameStroke = Instance.new("UIStroke") frameStroke.Color = Color3.fromRGB(45, 45, 55) frameStroke.Thickness = 1 frameStroke.Parent = mainFrame local titleBar = Instance.new("Frame") titleBar.Name = "TitleBar" titleBar.Size = UDim2.new(1, 0, 0, 30) titleBar.BackgroundTransparency = 1 titleBar.Parent = mainFrame local titleLabel = Instance.new("TextLabel") titleLabel.Name = "Title" titleLabel.Size = UDim2.new(1, -20, 1, 0) titleLabel.Position = UDim2.new(0, 10, 0, 0) titleLabel.BackgroundTransparency = 1 titleLabel.Text = "GiftBox Collector" titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255) titleLabel.TextXAlignment = Enum.TextXAlignment.Left titleLabel.Font = Enum.Font.GothamMedium titleLabel.TextSize = 13 titleLabel.Parent = titleBar local divider = Instance.new("Frame") divider.Name = "Divider" divider.Size = UDim2.new(1, 0, 0, 1) divider.Position = UDim2.new(0, 0, 1, 0) divider.BackgroundColor3 = Color3.fromRGB(45, 45, 55) divider.BorderSizePixel = 0 divider.Parent = titleBar local statusLabel = Instance.new("TextLabel") statusLabel.Name = "Status" statusLabel.Size = UDim2.new(1, -20, 0, 20) statusLabel.Position = UDim2.new(0, 10, 0, 45) statusLabel.BackgroundTransparency = 1 statusLabel.Text = "Status: Idle" statusLabel.TextColor3 = Color3.fromRGB(150, 150, 150) statusLabel.TextXAlignment = Enum.TextXAlignment.Left statusLabel.Font = Enum.Font.Gotham statusLabel.TextSize = 12 statusLabel.Parent = mainFrame local collectButton = Instance.new("TextButton") collectButton.Name = "ExecuteButton" collectButton.Size = UDim2.new(1, -20, 0, 34) collectButton.Position = UDim2.new(0, 10, 0, 78) collectButton.BackgroundColor3 = Color3.fromRGB(75, 110, 220) collectButton.AutoButtonColor = false collectButton.BorderSizePixel = 0 collectButton.Text = "Collect" collectButton.TextColor3 = Color3.fromRGB(255, 255, 255) collectButton.Font = Enum.Font.GothamMedium collectButton.TextSize = 13 collectButton.Parent = mainFrame local buttonCorner = Instance.new("UICorner") buttonCorner.CornerRadius = UDim.new(0, 6) buttonCorner.Parent = collectButton local dragging = false local dragStart local startPos titleBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = mainFrame.Position end end) titleBar.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) UserInputService.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement 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) local function tweenColor(obj, color) TweenService:Create(obj, TweenInfo.new(0.2), {BackgroundColor3 = color}):Play() end local function updateStatus(text, color) statusLabel.Text = "Status: " .. text statusLabel.TextColor3 = color or Color3.fromRGB(150, 150, 150) end local function collectGiftBoxes() collectButton.Text = "Working..." tweenColor(collectButton, Color3.fromRGB(45, 45, 55)) updateStatus("Setting prompts...", Color3.fromRGB(220, 180, 80)) for _, thing in ipairs(Workspace:GetDescendants()) do if thing.ClassName == "ProximityPrompt" then thing.HoldDuration = 0 end end task.wait(0.5) local character = player.Character or player.CharacterAdded:Wait() local root = character:WaitForChild("HumanoidRootPart") local playerPos = root.Position updateStatus("Finding boxes...", Color3.fromRGB(80, 180, 220)) local giftBoxes = {} for _, obj in ipairs(Workspace:GetDescendants()) do if obj:IsA("Model") and obj.Name == "GiftBox" then table.insert(giftBoxes, obj) end end if #giftBoxes == 0 then updateStatus("No boxes found", Color3.fromRGB(220, 80, 80)) collectButton.Text = "Collect" tweenColor(collectButton, Color3.fromRGB(75, 110, 220)) return end updateStatus("Moving " .. #giftBoxes .. " boxes...", Color3.fromRGB(80, 220, 80)) for i, box in ipairs(giftBoxes) do local angle = (i - 1) * (2 * math.pi / #giftBoxes) local offset = Vector3.new( math.cos(angle) * CIRCLE_RADIUS, 0, math.sin(angle) * CIRCLE_RADIUS ) local targetCFrame = CFrame.new(playerPos + offset) if box.PrimaryPart then box:SetPrimaryPartCFrame(targetCFrame) else for _, part in ipairs(box:GetChildren()) do if part:IsA("BasePart") then part.CFrame = targetCFrame break end end end end updateStatus("Done (" .. #giftBoxes .. " boxes)", Color3.fromRGB(80, 220, 80)) collectButton.Text = "Collect" tweenColor(collectButton, Color3.fromRGB(75, 110, 220)) end collectButton.MouseButton1Click:Connect(collectGiftBoxes) collectButton.MouseEnter:Connect(function() if collectButton.Text ~= "Working..." then tweenColor(collectButton, Color3.fromRGB(85, 125, 240)) end end) collectButton.MouseLeave:Connect(function() if collectButton.Text ~= "Working..." then tweenColor(collectButton, Color3.fromRGB(75, 110, 220)) end end)