Even though this question is asked 3-4 times a week, the answer remains the same. It changes for everyone person…
Some people will understand better by reading stuff, such as Lua documentation, or the wiki.
Some people will understand better by watching stuff, such as Youtube or the wiki tutorials. This is the way that I learned. I suggest people like Cytheur(Beginner tutorials) or even @SteadyOn tutorials. Even as an experienced scripter, his tutorials are very useful because he is straight to the point and covers a tool not a product, opposed to people like AlvinBlox who does 1 project at a time.
If you can suit scripts, that means that you understand Lua a little bit. That means, that you need small course of Computer Science to script from scratch.
In Programming course you will learn:
Logic behind Programming
Basic programming things like, Loop, for loop, conditional, boolean, integers, floats and most importantly Arrays, which are like Tables in Lua, they are very important.
Without understanding those, you won’t be able to Script nice, your code will always be messed and you will have no clue what you’re doing, even if you master Lua.
I suggest taking any small course like this, on Udacity. After you understand programming you will learn any language in a week and you will be great scripter who can improvise and do cool stuff
You really don’t need to take a computer science course to learn Roblox programming. This is a terrible waste of time since Roblox is specifically geared towards less serious development and makes it super easy to pick up for new users. Offering a three month computer science course to someone who just wants to learn how to make Roblox games is unhelpful because there are way easier ways – even taking apart free models and trying to learn from that would be much, much, much faster.
If you are new to Roblox scripting (or Roblox in general), finding a few (trustworthy and quality) free models and looking at its code will help you familiarize yourself with the overall syntax and coding style.
Fortunately for me, I started coding back in 2013 which was when there was just R6 avatars. This kept it simple for me because everyone’s local scripts implemented R6 player avatar logic… People nowadays often complain about older Roblox games and tools breaking because it was meant for R6 avatars instead of R15 avatars. That being said, as times change, it’s good to stay updated.