а это писать в самой функции юнита?
Все скрипты пишутся в файл MapScript.lua, либо разбиваются по отдельным файлам как удобно и подключаются с помощью doFile(). Весь код написанный "без обертки" выполняется при старте карты, всё что находится внутри функций выполняется только когда функция будет вызвана.