There are relatively few tutorials around for lua, and most of them either not relevant to mudding, or just not good ones. The mudlet manual has some good parts to it, and some not so good parts (which is understandable because it is a work in progress, and incomplete.)
Luckily, lua IS pretty easy and logical, and for each concept there is a resource. For example, I found the section on variables in the manual to be good, when I first began. I had trouble with the structure of if statements though, relying on the odd example I found in the manual and on the forum, but it wasn't until Ramiel sent me his scripts that I really got the hang of them.
A tutorial on lists would have been really handy. The Nick Gammon thread on tables (linked from the mudlet manual) was really helpful but it refers to a function he includes with mushclient, but which is not with standard lua or mudlet. There were some definite gaps in what I was able to work out for myself and I had to ask a few questions here (and in a thread about mudlet/lua on the Aetolia forum) before I was really comfortable with them. Now that I am, I wish I had learned about them sooner because there are a lot of my early scripts where I wish I had used tables instead. I was comfortable with the concept of a data record when I began with mudlet, but because my experience was with zMud, I was not used to using them in any time-sensitive scripting
From all of this, here is what I think would be needed in a basic mudlet tutorial. Bear in mind that my own opinion of what is basic vs intermediate vs advanced, is probably different to what a programmer may think. :
- variables, much as it is already (it explains them quite well for the newbie) with one addition: an explanation that the values of the variables will not be saved between sessions so data intended to be kept will need to be in a table with table.save/load used.
- tables (basic) - an explanation of how to create a table, add/remove from it, access it and use table.save/load.
- tables (intermediate) - en explanation about looping through a table, with both pairs() and ipairs() explained.
- tables (advanced) (not really necessary, perhaps)- talk about storing different data types (specifically functions), meta tables and whatever else might fit into "advanced".
- Triggers (basic): how to create a trigger, how to pick which pattern type, and links to a couple of pages from http://www.regular-expressions.info/ (that site really is good - why reinvent the wheel?)
- Triggers (intermediate): That post Heiko made recently explaining chains/filters, plus a few examples and perhaps some of what is in the manual already
I have sort of planned to make contributions to the manual myself, once I feel like I am competent enough anyway. I am working on another project at the moment, though, so anything I do for help files is definitely not going to be soon.