Advertisement
HowToRoblox

InventoryLimiter

Mar 12th, 2023
1,541
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.08 KB | None | 0 0
  1. local inventoryLimit = 3
  2.  
  3.  
  4. function getTools(plr:Player)
  5.    
  6.     local tools = {}
  7.    
  8.     for _, tool in pairs(plr.Backpack:GetChildren()) do
  9.         table.insert(tools, tool)
  10.     end
  11.    
  12.     for _, child in pairs(plr.Character:GetChildren()) do
  13.         if child:IsA("Tool") then
  14.             table.insert(tools, child)
  15.         end
  16.     end
  17.    
  18.     return tools
  19. end
  20.  
  21. function checkIfOverLimit(plr:Player)
  22.    
  23.     local plrTools = getTools(plr)
  24.    
  25.     if #plrTools > inventoryLimit then
  26.        
  27.         for i = 1, (#plrTools - inventoryLimit) do
  28.             local toolToRemove = plrTools[i]
  29.            
  30.             game:GetService("RunService").Heartbeat:Wait()
  31.             toolToRemove.Parent = workspace
  32.             toolToRemove.Handle.CFrame = plr.Character.HumanoidRootPart.CFrame - plr.Character.HumanoidRootPart.CFrame.LookVector * 5
  33.         end
  34.     end
  35. end
  36.  
  37.  
  38. game.Players.PlayerAdded:Connect(function(plr)
  39.    
  40.     plr:WaitForChild("Backpack").ChildAdded:Connect(function()
  41.         checkIfOverLimit(plr)
  42.     end)
  43.    
  44.     plr.CharacterAdded:Connect(function(char)
  45.        
  46.         char.ChildAdded:Connect(function(child)
  47.            
  48.             if child:IsA("Tool") then
  49.                 checkIfOverLimit(plr)
  50.             end
  51.         end)
  52.     end)
  53. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement