local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local LocalPlayer = Players.LocalPlayer local ShopAssetsFolder = ReplicatedStorage:WaitForChild("ShopAssetsFolder", 10) local ToolsFolder = ShopAssetsFolder:WaitForChild("ToolsFolder", 5) local Tools = ToolsFolder:WaitForChild("Tools", 5) local AssetRemotes = ShopAssetsFolder:FindFirstChild("AssetRemotes") local SendTool = AssetRemotes and AssetRemotes:FindFirstChild("SendTool") if not SendTool then return end local allTools = {} local function collectTools(folder) for _, item in ipairs(folder:GetChildren()) do if item:IsA("Tool") then table.insert(allTools, item) elseif item:IsA("Folder") then collectTools(item) end end end collectTools(Tools) for _, item in ipairs(LocalPlayer.Backpack:GetChildren()) do if item:IsA("Tool") then item:Destroy() end end if LocalPlayer.Character then for _, item in ipairs(LocalPlayer.Character:GetChildren()) do if item:IsA("Tool") then item:Destroy() end end end local batchSize = 5 local total = #allTools for i = 1, total, batchSize do for j = i, math.min(i + batchSize - 1, total) do local tool = allTools[j] task.spawn(function() pcall(function() SendTool:FireServer(tool.Name, true) end) end) end task.wait(0.05) end task.wait(0.5)