DyrmanПроверяешь же свои скрипты на карте или нет? По первому виду вроде норм. Но мало ли...
Да. В комбинации с min работает нормально. Если ближе вражеский город, то возвращает его имя, если свой, то nil. Также возвращает nil если герой в городе, сдох или находится на уровне, где нет городов. Правда для последнего надо добавить
if not targetTown then
return nil;
end;
после определения targetTown-a.