Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
| Гость_Berserker_* |
18 May 2007, 21:38
Сообщение
#21
|
|
|
Значит так:
1) Вопрос: только для нейтралов или также в битвах с противником? 2) Под какой ехешник? Это последнее, что спрашиваю. Потом будут ответы. |
|
|
|
19 May 2007, 11:42
Сообщение
#22
|
|
![]() замолкаю. Сообщений: 2 340 Спасибо сказали: 1010 раз |
2 Lord Of Rage Ж)
1) нейтралов 2) ТЕ (он же Phoenix.exe) Примечание: это только для героя №1 (Валеска); роль героя пусть будеть играть 1 Стрелок (№3), т.е. !!BA:M0/2/3/1; и добавлять именно в средний слот -------------------- |
|
|
|
| Гость_Berserker_* |
19 May 2007, 20:59
(Сообщение отредактировал Berserker - 19 May 2007, 21:04)
Сообщение
#23
|
|
|
Понял.
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. Работу не обещаю, писал навскидку. |
|
|
|
![]() ![]() |
| Текстовая версия | Сейчас: 1 December 2025 - 20:10 |
|
Copyright by Алексей Крючков
Programming by Degtyarev Dmitry |
|