local player = game.Players.LocalPlayer local lootFolder = workspace:WaitForChild("Loot") local UIS = game:GetService("UserInputService") -- 🧱 GUI local screenGui = Instance.new("ScreenGui") screenGui.Parent = player:WaitForChild("PlayerGui") -- 🎮 MAIN FRAME (draggable container) local frame = Instance.new("Frame") frame.Parent = screenGui frame.Size = UDim2.new(0, 120, 0, 140) frame.Position = UDim2.new(0.85, 0, 0.7, 0) frame.BackgroundColor3 = Color3.fromRGB(20, 20, 20) frame.BorderSizePixel = 0 local corner = Instance.new("UICorner", frame) corner.CornerRadius = UDim.new(0, 12) -- 🔘 ROUND BUTTON local button = Instance.new("TextButton") button.Parent = frame button.Size = UDim2.new(0, 70, 0, 70) button.Position = UDim2.new(0.5, 0, 0.3, 0) button.AnchorPoint = Vector2.new(0.5, 0.5) button.BackgroundColor3 = Color3.fromRGB(255, 80, 80) button.Text = "OFF" button.TextScaled = true button.Font = Enum.Font.GothamBlack button.TextColor3 = Color3.new(1,1,1) local btnCorner = Instance.new("UICorner", button) btnCorner.CornerRadius = UDim.new(1, 0) -- ✨ LABEL (Loot Counter) local counter = Instance.new("TextLabel") counter.Parent = frame counter.Size = UDim2.new(1, 0, 0, 30) counter.Position = UDim2.new(0, 0, 0.75, 0) counter.BackgroundTransparency = 1 counter.TextScaled = true counter.Font = Enum.Font.GothamBold counter.TextColor3 = Color3.fromRGB(255, 255, 255) -- 🔁 TOGGLE local running = false button.MouseButton1Click:Connect(function() running = not running if running then button.Text = "ON" button.BackgroundColor3 = Color3.fromRGB(80, 255, 120) else button.Text = "OFF" button.BackgroundColor3 = Color3.fromRGB(255, 80, 80) end end) -- 📦 COUNT LOOT local function updateCount() local count = 0 for _, v in ipairs(lootFolder:GetChildren()) do if v:IsA("Model") then count += 1 end end counter.Text = "Loot: " .. count end -- update when things change lootFolder.ChildAdded:Connect(updateCount) lootFolder.ChildRemoved:Connect(updateCount) updateCount() -- 🖱️ DRAG SYSTEM local dragging = false local dragInput, dragStart, startPos frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) frame.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then dragInput = input end end) UIS.InputChanged:Connect(function(input) if input == dragInput and dragging 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) -- 🔄 TP LOOP task.spawn(function() while true do if running then local character = player.Character or player.CharacterAdded:Wait() local hrp = character:WaitForChild("HumanoidRootPart") local originalCFrame = hrp.CFrame for _, lootModel in ipairs(lootFolder:GetChildren()) do if not running then break end if lootModel:IsA("Model") then local primary = lootModel.PrimaryPart or lootModel:FindFirstChildWhichIsA("BasePart") if primary then hrp.CFrame = primary.CFrame + Vector3.new(0, 3, 0) task.wait(1) end end end hrp.CFrame = originalCFrame end task.wait(0.2) end end)