@CanSim It's basically the same as the playable character, only a bit more fiddly. Basically, you create the sheets the same way (else they simply wont work properly) then select the section of the spritesheet you want to use for the current animation. So, if you want the NPC to be idle you select the idle section of the sheet; same for running and walking. If you edit the move routes to account for change in sprite stance (idle, walk, run) then you should be able to get it to look fairly fluid. However, if you put the character on random, or don't use move routes to switch between the different stances, then it'll look strange - you'll have idle characters sliding around, and walking characters stuck in movement positions when they stop moving.
Make sure to have the event on the highest frequency (to avoid delay between each movement sequence) and don't use the wait command between shifting from one sprite stance to another. Also, the diagonal sprites are used automatically if you're using Galv's diagonal plug-in. So, just switch to whatever stance you want, and if they move diagonally (move lower-left, lower-right, etc) the diagonal sprite will be used without your input.
This sounds like a lot of busy work, but I found it far easier than trying to figure out the quasi scripts. Might give those scripts another try at some point, but for now I'm happy with this set-up.