How would I make the system automatically equip the player with the first weapon that is given to him? and that he cant disequip it unless he's changing to a new weapon, and also how would you make it so that there's a limited amount of weapons aloud, and if you reach the limited then you wont be able to pick it up instead you'd have to replace with your current equipped weapon?
Roblox's built-in backpack system doesn't support specific details like these, but it can be done if you write your own backpack and use player:GetMouse() instead of tools. After managing the welding for the weapon objects with the character, you can write the backpack engine to have it run however it's supposed to.