So I plan on making a game where I can attack enemies using a fireball for example. My plan currently is making the fireball in a local script and running a touched event for the fireball inside that local script. When touched itl send a remote event to the server changing the health
My only problem with this is that I feel like its unsafe as the touched event should be on the server instead of the client.
Would this way be appropriate or is there a better alternative?
yes. That is the only way to do it in ur case. There is no better way(i can think of). However there may be unintended side effects(eg the fireball would travel at different rates on different clients, as they all have different rates of reception depending on their internet. u can only hope this difference is negligible)