From what I know, a script to control a tool can only be a script. Tools seem to have a lot of stuff to do with the client side. I did a mistake where I did a lot of stuff with the client from that server script, which resulted to a lot of remote events. And also, there was a huge delay between everything. Everything happening late.
So my question is, how to handle tools in the best way? I thought of one remote event, that will fire to the client to a local script when tool.Equipped is fired from the server script under the tool, and that local script will do everything. Is this correct?

2 comments
Tools don't only use local scripts. I work with tools a lot and I find that the difficulty of the scripting depends on what you want the tool to do.
Sorry I wrote "only local scripts" when I meant "only server scripts", you can't put local scripts under a tool from what I know, I was wondering if what I suggested as way to pass from the server to the local script a good idea