Обычно обсчет скриптов идет только когда происходящее видно игроку.
По идее должно работать, легче самому запустить и проверить :)
Для упрощения конструкции можно обьявить две переменные рядом с функцией, затем присвоить этим переменным результаты функций, чтобы получилось что-то типа
Код:
Dist1 = Npc_GetDistToWP(self, wp1);Dist2 = Npc_GetDistToWP(self, wp2);if (Dist1 < Dist 2) { ... }