The problem with PIL is that it is meant more for people with previous programming knowledge who want to know how to use Lua specifically rather than learning to program in general.
So, really, the question is are you interested in learning to program? A guide along the lines of this should give you an idea of what it would take and the kind of commitment programming takes.
The most important step of the process is actually liking programming and being interested in it in general.
Having a tutor would be a good idea, since they can either answer your questions ( why does this not work the way I expect? How do I use surface.DrawPoly? ) or point you to an example at a minimum. However, do NOT try to get someone to teach you by giving you “the codes.” In general, someone who is helping you should be in a similar timezone to you if at all possible - if someone is on the other side of the world from you, they are going to be hard to get in contact with, especially if they have a day job.
Programming isn’t for everyone. Having someone teach you or reading tutorials isn’t going to turn you into a person who can write code for an hour or more at a time and get things accomplished. It takes serious dedication, even more so if you end up partially or entirely self-taught. It takes a serious amount of time - likely a few months to get an understanding of the logic in general.
In addition, don’t start big. While writing a gamemode would be a shortcut method to learning everything along the way ( weapons, entities, hooks, effects, gui, et al ), it would be better to start small on things that aren’t very difficult and work your way up. The best part about starting small is you get to see results sooner. Find out if you still have an interest in it after making a few weapons and entities.
I don’t want to scare you off from programming, but don’t set yourself up for disappointment. It’s going to be somewhat difficult ( or hard, depending on how you think ), it is going to be frustrating, and you aren’t going to see many results until later.