Problem with giving tool

I see what you mean and that could be true, however I believe that requiring is not giving the error, but rather running any function that (I’m blindly guessing) is trying to edit a textlabel showing how many coins the player has. Hence that printing the amount of coins works fine, because requiring the module doesn’t throw an error (or the error would show up much earlier) and the issue lies in

Replica:SetValue("GnidaCoins",Replica.Data.GnidaCoins-300)

where I’m again blindly guessing that this function tries to tell the client to update it’s gui to show the new amount, but the client doesn’t have a gui so it tells it that would be impossible and then the server throws the error on the line right before giving the tool.

@pinconessmellweird can you try switching positions in the script of the two lines

Replica:SetValue("GnidaCoins",Replica.Data.GnidaCoins-300)
newTool.Parent = player.Backpack

So the script will try to give the tool before it takes away the money, as I believe this would avoid the error TEMPORARILY to see where the issue comes from