Появился вопрос. Нет ли такого триггера, срабатывающего, если у игрока нет городов и героев = игрок проиграл :)?
А по поводу выполнения задачи при поражении другого игрока?
GetPlayerState(PLAYER_4) == PLAYER_LOST then ....
В принципе тоже самое, что и писал JonnyP. :) Но без цифровых ИД.
А что мешает прицепить на триггер нового дня?
Ведь если вражеский город остаётся без героя и его захватывают, то ваш триггер (Trigger (PLAYER_REMOVE_HERO_TRIGGER,PLAYER_4,'lost_PL4')) не сработает.