I already mentioned earlier that the approach taken here is relatively dirty (and by relatively I mean
very). Like for instance the way conditional statements are commented out; here is a snippet to illustrate the problem:
Code:
// Assuming a simple conditional statement
if(someCondition)
{
doSomethin();
}
// The same statement commented out IMPROPERLY
//if(someCondition)
{
doSomethin();
}
// This is improper, since the block statement will still be executed - in fact it will now always be executed and not only when someCondition evaluates to true.
// The same statement commented out PROPERLY
/*if(someCondition)
{
doSomethin();
}*/
// OR
//if(someCondition)
//{
// doSomethin();
//}
// This would be the proper way of doing it - the entire block statement is commented out and will not be executed
As for your problem, it is probably because of the implicit NTA_ClearArea() calls in NTM_MoveTo(). To fix this, make sure that the fifth argument in all NTM_MoveTo() calls is either false or not passed (the default value is false).