Is it possible to check during chat with an NPC if the NPC is within a certain distance of a point.
If they are you can zap to a subroutine if not they zap to another routine
If they are you can zap to a subroutine if not they zap to another routine