Jack_of_shadowsКонструкции вида while(1) do ... end - это цикл, если в нём нет команды выхода из цикла, то он бесконечный. Когда вы вызываете haste_p1(), скрипт крутится внутри этой функции бесконечно. Для таких вещей нужно использовать отдельные потоки, функция startThread(название функции). Запустить один раз, можно прямо при старте карты, и они вечно работают.
Спасибо вам, вот теперь все работает как надо.