Are you saying its not running the “equipped” and “reload” functions? Trying to understand the script is a little difficult, what are the “Canshoot” and “Canreload” variables pointing to? They are in a folder called remotes, are they Remote event objects? Value Objects? Make sure the entire script is loading by putting a print at the bottom. If that prints then you can know that there was no error when the script first initializes. Then go ahead and add a print to each function/event you want to test. See which ones run and which ones do not.
From the looks of it things appear to be setup sort of odd, for example setting the equipped variable to true but not actually checking in the functions if it is equipped or not. When someone presses “R” in that script the first thing you should be doing is checking to make sure the gun is equipped before firing the remote. What if you have two guns? Will the remote fire twice when you press R since both events are still being listened for? That being said, start by adding prints in key points in the script like i suggested. You only sent a small snippet so i don’t know where you added them in your last reply.