So that's why my ears were twitching!
First thing to say is that, like getting a perfect six pack, there is no short cut to learning how to 'code'.
Second is that in reality there is no difference between 'coding' and 'scripting', they are all the same thing.
The best way I can put it is to compare with being a good author, i.e. if you can write well it doesn't really matter which language you choose to write in.
The best programmers are those that can put themselves in the position of the computer and figure out the simplest way of converting a real world problem into a solution comprising a sequence of steps that a computer is capable of understanding and carrying out such that the end result is; a) achieved to the accuracy required, b) repeatable and c) with acceptable performance.
Lua is a very, very powerful language which scales extremely well. It can do really simple stuff easily and it can do extremely complex stuff as well, you can use it procedurally, functionally and object orientedly (is that even a word?), it is entirely up to you how you approach the solution and the language itself can accommodate any approach.
For any language the first step should always be to get hold of the official language guide, this is usually written by the same people that developed the language and is the best guide to what it can do, avoid the 'for dummies' books as they only ever scratch the surface.
The official Lua documentation is freely downloadable for the earlier versions, in fact 5.2 is the version you want to concentrate on as that is the one that GG (and almost every other engine out there) uses.
Apart from that read all my tutorials and examine my scripts, when you are ready to become a Jedi you'll find me in the temple.
Been there, done that, got all the T-Shirts!