This is written in .html for ease of use of the reader.  In the table of contents, simply click on the topic you'd like to read and you'll be taken there.  As you go through it, you can make NPC's in Graal using my examples, if it'll help you to understand what I'm teaching.  However, I'll admit that some of it may not work because of how Graal operates.  For example, when setting strings, you can't use #v(strtofloat(#s(string))), but in that section I use it just for simplicity's sake (read section ? to see what this means, and how it should be done when used in Graal).  At first I'll explain some of the terminology of NPC scripting, as well as when to use what (2A-2Hi).  Then for sections 3-9 I'll state what the original commands.rtf says for that command (written in blue), then I'll elaborate to give the reader a better understanding of the item (my thoughts are written in green), as well as give an example (red). Next, 10-12 deals with when/how to use certain variables, flags, or math operations.  If you have trouble understand some of the symbols I use, I suggest you skip to section 10.  Section 14 is portions of NPC scripts that are commonly used when scripting.  I'll paste them in section 14, as well as explain how/why they work.  The rest of the FAQ is the usual stuff included at the end of these sort of files.  At the end of a section using a large example script, I'll refer to other sections of this file that you may need to read over for clarification on what I did.