JonnyPглянул. Че то ты там замутил вовсе нехорошее
setBuildingsLevel(TOWN01, 1, 3, 2); пишеш это, а через функцию присваиваеш level1=1 (хотя для запрета level1=0 должно быть)
DestroyTownBuildingToLevel(townName, TOWN_BUILDING_TAVERN, level1, 0); (т.е. разрешаеш постройку таверны, хотя вроде как запрет на таверну ставить хотел после трансформации
).
далее - по двеллам можно тоже эту же функцию использовать, (циклом проще - пример приводил, рабочий - еще раз говорю
К тому же там и обратный пример - после захвата города компом, таверну и двеллы снова строить разрешалось).
Еще и алиасов намутил
жесть
может и в них проблема - я вних не особо разбираюсь.
опять скажешь что не работает?? 
свежий взгляд) спасибо: setBuildingsLevel(TOWN01,
1, 3, 2); здесь и был косяк...