are you using tools because you can just script the tools from the server to deal the damage (with a cool down) and animate on the client, i dont recommend the approach you are using.
What i would recommend you do is on the server connect a function to a child added event on the server in regards to every players character, since whenever a tool is equipped it is parented to the character, after you would check if the child added is a tool. After you would just connect the tool to a activated event and deal the damage from within there, and then on the client you would also detect if a child added to the local character is a tool and when it is activated you play the animation, thus wiping out the need to use remote events at all.
if you are doing it for a gun you can still do it the same way except you would need one remote event to pass over the mouse hit position to generate the ray on the server, and you would do this in the tool.activated event on the client and you can still do the cool down on the server, and doing this will make your tool system secure.
I already have it implemented and know it causes false positives (I just have it report the reports to discord rather then ban so I can figure out the issue)…
I will look into what you sent me but the main purpose of this post was to see why the code above that in theory should work was not working