What is the difference between a Local script and a normal scirpt?
LocalScripts can access things like the mouse, the camera, ect. that server scripts can't.
Server scripts can access things like DataStores, MarketPlaceService, ect. that LocalScripts can't.
LocalScripts are run on the player's Roblox Player
Server scripts run on the server
A local script runs on the client whereas a normal script runs on the server.
One use of local scripts is if the server becomes laggy, using local scripts will ease some of the lag off the server and onto the clients computer. BUT, if you put too much pressure on the client, then the computer might excessively lag out.
Basically local scripts run on your player a normal script runs on other characters.
for example
x = game.Players.LocalPlayer -- runs on you x.Character.Head.BrickColor = BrickColor.new(21) --whereas a normal script would look like this game.Workspace.PlayerNameHere.Head.BrickColor = BrickColor.new(21) --runs on specific players