Понял.
1) (из Феникс-Мода):
Код
!?BA0&1000;Standart Pre-Battle trigger
!!BA:O?v9707/?v9708 H0/?v9709 H1/?v9710;v9707,v9708 - owners
;v9709,v9710 - hero's numbers
!!OW:Iv9707/?v9705 Iv9708/?v9706;v9705,v9706 - state of players (AI or Human)
;v9711 - type of the battle=...
!!VRv9711&v9708=-1:S1;1 - HUMAN HERO vs NEUTRALS
!!VRv9711&v9710=-2/v9706=1:S2;2 - HUMAN HERO vs COMP CREATURES
!!VRv9711&v9710=-2/v9706=0/v9705=1:S3;3 - COMP HERO vs HUMAN CREATURES
!!VRv9711&v9708<>-1/v9710=-2/v9705=0/v9706=0:S4;4 - HUMAN HERO vs HUMAN CREATURES
!!VRv9711&v9710<>-2/v9706=1:S5;5 - HUMAN HERO vs COMP HERO
!!VRv9711&v9710<>-2/v9705=1:S6;6 - COMP HERO vs HUMAN HERO
!!VRv9711&v9710<>-2/v9705=v9706:S7;7 - HUMAN HERO vs HUMAN HERO
!!HEv9709&v9709<>-2:E?v9802;
!!HEv9710&v9710<>-2:E?v9803;
!!VRv9706&v9711=1:S1;
Что имеем? Это кусок загоните в самый верх скриптов, теперь вы можите в любых триггерах и условиях пользоваться следующими данными:
;v9705,v9706 - кто игроки? левый и правый. (0 - человек, 1 - ИИ)
причём если в Воге нейтралы определяются как человек, то тут как ИИ.
;v9707,v9708 - хозяины левого и правого героев. -1 если нет хозяина
;v9709,v9710 - номера героев (-2 если нет героя)
;v9711 - тип сражения:
1 - Герой-человек vs Нейтралы
2 - Герой-человек vs Существа Компа
3 - Герой-комп vs Человеческих существ
4 - Герой-человек vs Человеческих существ
5 - Герой-человек vs Герой-комп
6 - Герой-комп vs Герой-человек
7 - Герой-человек vs Герой-человек
Иногда этой инфы мало, тогда идёт следующий код:
(номер функции можно менять)
Код
!?FU22501;Battle Function
;*x1* - for whom: human(0) or AI(1)
;*x2* - what: side(0) owner(1) or hero_number(2)
;*x3* - index of v-var to store the result
!!VRy1:S9705+x1;
!!VRy2:S9707+x1;
!!VRy3:S9709+x1;y1,y2,y3 - indexes
!!VRvx3&x2=0:Svy1;
!!VRvx3&x2=1:Svy2;
!!VRvx3&x2=2:Svy3;
Возвращает некоторые боевые параметры.
Аргументы: (то, что передаём функции после P)
*x1* - для кого: (0 - человека/1 - компа)
*x2* - что хотим получить: 0 - сторону (0 -левая/1 - правая), 1 - хозяин, 2 - номер героя
*x3* - индекс v-переменной в которую будет закинут результат.
В принципе теперь любую битву можно корректно отследить и обработать для любого скрипта. Вернёмся к поставленой Вами задаче:
;flag100 - нам нужен флаг, который сообщит нам, что битву нужно переиграть
Код
!?BA1&1000/-100/v9711=1/v9707=1;
;Итак битва человека нужного героя с нейтралами (первая битва)
;Уже прошла. Кто же победил?
Можно проверить героя на хозяина, но я предпочитаю делать универсальные триггеры для всех случаев жизни. Потому после нашего предбитвенного кода ставьте следующее:
Код
!?BA1;Standart Post-battle trigger
!!HEv9709:O?y1;
!!VRv9804:S0;
!!VRv9804&y1=v9707:S1;
Теперь переменная v9804 всегда будет указывать проигравшую сторону. Следовательно, проверяем, проиграла ли левая сторона. А для пущей оптимизации кидаем это в условие триггера, так что исправляем верхний код на:
Код
!?BA1&1000/-100/v9711=1/v9707=1/v9804=0;
;Итак битва человека нужного героя с нейтралами (первая битва)
;Уже прошла. Проиграли мы :(
Теперь дело вторичное. Взять монстров используя !!BA:M и спровоцировать ещё одну битву с данным героем.
Код
;....продолжение
!!BA:M1/?v100/?v101 M1/?v102/?v103 M1/?v104?/v105 M1/?v106/?v107 M1/?v108/?v109 M1/?v110/?v111 M1/?v112/?v113;
!!HE1:Tv998/v999/v1000/0/1;
Итак мы сохранили армию нейтралов в v100-v113. Можно использовать другие переменные. А герою устраиваем сражение
Код
!?BA0&100;
;Другие проверки не нужны, наш флаг не врёт.
!!BA:M1/0/v100/v101 M1/0/v102/v103 M1/0/v104/v105 M1/0/v106/v107 M1/0/v108/v109 M1/0/v110/v111 M1/0/v112/v113;
!!BA:H0/1;
!!BA:M0/3/3/1;
Всё, нейтралов установили, героя тоже, лучника тоже. Осталось проследить, что произойдёт после.
Код
!?BA1&100/v9804=0;проиграл наш герой
!!OW:I-1/d/1;Смерть ему
Команда убивает текущего игрока.
Осталось лишь обработать действия при победе.
Код
!?BA1&100/v9804=1;
!!IF:V100/0;Обнуляем наш флаг до лучших времён
........
Теперь чуть сложнее, так как код надо проверять. Я не могу заранее предсказать реакцию ЕРМ. Можно попробовать удалить монстров, установить местоположение героя и установить ему хозяина.
Код
!!UN:Ov998/v999/v1000/1;
!!HE1:Pv998/v999/v1000/0;
!!HE1:O#;где # - это хозяин.
Вот и всё. В последнем отрывке поставьте цвет хозяина. Если красный, то 0.
Работу не обещаю, писал навскидку.