Ну, способ есть у Jack of Shadows в его ЧаВо. Единственное, что сюда добавлю, что у каждого луа должно быть зеркало xdb. В Map Properties Tree/Map Script создайте новый xdb и укажите ему в свойсвтвах в появившемся окне ваш файл луа (верхняя строчка свойств). Думаю, ещё test.lua надо отправить в папку с игрой.
Да, вызывать его надо так @DoFile(MYFILE);
Добавлено через 9 минут
Всё просто: повесьте в нужный момент SetAIHeroAttractor(nHero, nTown, 2);
Затем обработчик касания города, проверяющий кто его тронул
function example(heroname)
if heroname=="MYAIHERONAME" then
SiegeTown(...)
...
end;
end;
Чисто гипотетически, герой компа сам залезет в город. Но можно костыль типа нанять героя в этом городе. Вообще, много костылей — плоховато, но функционал lua бедноват, потому приходится инвалидничать. Я подумаю над вашей проблемой более основательно и за компьютером завтра, сейчас со смартфона чёрт-те что вспомнить смогу.
P.S. На болле простые вопросф отыетить всё-таки смогу.