Вот фрагмент этого скрипта:
function garnF (hero)
player = hero
num = GetObjectOwner (player);
movepoints = GetHeroStat (player, 7);
ChangeHeroStat (player, 7, -movepoints);
end;
Trigger (REGION_ENTER_WITHOUT_STOP_TRIGGER, 'gar1', 'garnF');
Trigger (REGION_ENTER_WITHOUT_STOP_TRIGGER, 'gar2', 'garnF');
Trigger (REGION_ENTER_WITHOUT_STOP_TRIGGER, 'gar3', 'garnF');
Trigger (REGION_ENTER_WITHOUT_STOP_TRIGGER, 'gar4', 'garnF');
Trigger (REGION_ENTER_WITHOUT_STOP_TRIGGER, 'gar5', 'garnF');
Trigger (REGION_ENTER_WITHOUT_STOP_TRIGGER, 'gar6', 'garnF');
Trigger (REGION_ENTER_WITHOUT_STOP_TRIGGER, 'gar7', 'garnF');
Trigger (REGION_ENTER_WITHOUT_STOP_TRIGGER, 'gar8', 'garnF');
Trigger (REGION_ENTER_WITHOUT_STOP_TRIGGER, 'gar9', 'garnF');
,где 'garX' - имя каждого из гарнизонов.
Если хочешь узнать, как писать скрипты в Героях пять, прочти руководство, возможно оно тебе поможет -
http://all4heroes.net/node/259