So there was a problem with the scripting I did, So I decided to script a gamepass button on a YT video (This one: https://www.youtube.com/watch?v=d3Ke3VRaSCk)
It works however the problem Is that once the gamepass tool Is given to the player the functions no longer work, my tool Is a melee weapon that has pathetic mediocre range but does 50 to 100 damage, It also has a custom slash animation

2 comments
The two scripts are local scripts btw. And I actually founded out the reason, Its due to the client side. (Also It will not show other players) Also what do u mean by "You should only give players the cloned object"?
What I mean by giving the cloned object, is that you need to clone the original tool from ReplicatedStorage. For example like this: "local clonedTool = tool:Clone()". And then you would give the players only the clonedTool variable so that the tool can be used for the gamepass for unlimited times.