Could always place a constant firing triggeraction in front of the npc:
PHP Code:
triggeraction( playerx.+1.5+(vecx(player.dir)), player.y+2+(vecy(player.dir)), "npctouchedme", NULL);
Then in the receiving npc just find out when the triggeraction is called and your rolling. Im only suggesting this because Thors method is a bit daunting for some people. So unless you understand what his done theres always a second more easier to understand approach. Its just a bit less stable lol.
It might not be the most elegant solution but it sure is straight forward