I want to know when to use either of the two scripts, but I don't know the difference between them so I don't wanna mess up.
What's the difference between a Script and a LocalScript?
2 answers
I will just copy another guy's answer:
"
Script: This runs Server-Sided, (On The Server). This uses Server-Sided events and properties.
LocalScript: This runs Client-Sided, (On Your Computer). This uses Client-Sided events and properties such as getting the player with
game.Players.LocalPlayeror getting the camera/mouse.ModuleScript: This is a bit different but it's similar to Script except for:
Doesn't run the code the instant the game is started, only when calling require.
You can make a Function in ModuleScript and use it multiple times in multiple other scripts.
Don't be afraid to look at the wiki for even better answers! "
------------------ alphawolvess
Localscripts deal with client side related things. For example: If you spawned a part with a localscript, it would only replicated/show to the client only. A way around this is to fire Remote Events, these can be read only by the server scripts.
Serverscripts deal with server related things. Everything you do in a serverscript will replicated/show to ALL clients. You can use these to read Remote Events being fired.
It's really that simple, there's a tiny bit more; some stuff on the server cannot be read on the client, (PlayerGui stuff for example). That's really it!
(I suggest looking at the developer post here for more info on Remote Events. https://developer.roblox.com/articles/Remote-Functions-and-Events)
This discussion is preserved as it was. New answers, comments, and votes are closed.

4 comments
LocalScripts are usually used to modify stuff with players. ServerScripts/Normal Scripts are, yknow, normal scripts. I'm also pretty sure [but don't 100% know] LocalScripts are the only way to modify stuff for 1 client.
ServerScripts are recommended for most actions though
Thank you.
https://yourlogicalfallacyis.com/slippery-slope