daemon_n, мне Berserker давал подобный код по монстрам.
Вот вольный перевод кода на города от меня:
В SN вместо 98 и -1 можно/нужно использовать (OBJ_TOWN) и (ANY_OBJ)
P.S. Кстати, заметил, что в строке !!re i ; двоеточие после i (!!re i : ; ) не имеет значение - скрипт работает в обоих случаях. Как всё-таки правильно?