By the word basic programming knowledge. How basic is it?
Hard to answer this question. I do not have a degree or formal education on programming of any kind, but I had some experience in other scripting languages before, notably vJass and Galaxy, the scripting languages from Warcraft 3 and Starcraft 2 respectively. Galaxy's syntax is fairly similar to C and Lua in some aspects, so the transition was not that bad.
Most of my Lua I learned from looking at the existing script, picking up on routines used to make the AI work. I am still fairly novice at using the language, regularly picking up very basic Lua features, that could have been helpful to know right from the start 😃
Pairs, for example, one of the most basic Lua functions to loop through a table, I just started using very recently.
However, getting used to Lua was not the hard part. The way the AI script is integrated into the core program has its fair set of quirks and issues I mostly found out via trial&error. A lot of crashes or seemingly random malfunctions might have been involved.
You do have it a lot easier now. Since then, Percy did put some safeguards in place, to make sure, I cannot mess up the game that badly on my end. Definitely check out the AI scripting tutorial, it describes a lot of the routines I had to find out on my own, and touches on many of the issues you might encounter. Also, I implemented a bunch of custom functions for easier handling, most of which are mentioned in the tutorial. These should avoid many of the issues on their own.
Of course, if you are seriously considering getting into AI scripting, feel free to ask me about specific problems anytime.