He's right.
I even tried moving the location of the pointers settings and it still won't work.
cmp npc.scriptstate, 2
je :keep_going
push 0
push 3
call Random
add esp, 8
cmp eax, 1
jne :keep_going
setpointer
mov npc.direction, 2
:keep_going
setpointer
mov npc.scriptstate, 2
Like so.