Как именно в финальной миссии ночных эльфов Иллидан создал портал так чтобы он из Запределья переместил его и Тиранду аккурат к лагерю брата?
А никак. Тиранда, Иллидан и Малфурион все были в Лордероне в этот момент, недалеко друг от друга. Никаким Запредельем там и не пахнет.
Катсцена там весьма странная и не стоит её воспринимать буквально.
Иллидан открывает портал, туда заходит Тиранда и он, Затем портал закрывается.
В следующем кадре портал открывается возле Малфуриона, они там болтают, Иллидан заходит назад. Появляется Маев и со своей армией входит в портал. Портал закрывается.
Было ли это два разных портала или один? Если один, то в катсцене просто косяк с его закрытием, и на самом деле Иллидан вернулся к себе на базу, а там уже как-то своим путём попал в Запределье. Если два, то куда вёл первый портал, мы не знаем. Может Запределье, а может и нет.
Как Иллидан вместе с эльфами крови и нагами переместился из Запределья в Азерот?
Эльфы крови присоединились много позже и прошли они через отдельный портал, который нужно защищать в секретной миссии эльфов крови.
nazarpunk, всё так. Если триггер перевызывает сам себя, event response продолжают работать корректно для каждого вызова. Ну кроме оных на абилки. У лича была теория, что их делали в спешке на коленке.
Этот момент что Иллидан может отправиться в любую точку Азерота
С чего бы это была рандомная точка в Азероте? Они же оба буквально в пределах одной карты находятся. Даже если в игре это упрощено для геймплея, они всё равно не находились сильно далеко друг от друга. Уж точно ближе, чем Нортренд.
Прочитал предыдущий вопрос. Ну если считать тот факт, что Артас надоумил Иллидана на авантюру с черепом ГулДана, является работой на НерЗула, то выходит действительно работал.
ScorpioT1000, так не хотел убивать НерЗула, что аж два раза попробовал в TFT. 😅
Он работал на НерЗула лишь косвенно и всего одну миссию. Тем более его мотивацией было очищение лесов от скверны, которую Легион распространял с помощью черепа ГулДана. Имхо, не тянет на "работу на НерЗула".
По итогу забрал череп, стал полудемоном, Малфурион его изгнал, а потом Иллидана посетил КилДжеден и сказал грохнуть ледяной трон за предательство.
SсRealm, все event response уникальны для каждого триггера и работает с паузами, кроме тех, что реагируют на способности. Потому что event response на способности работают как глобалки, а остальные - как локалки.
Эм, Иллидан никогда на него не работал? И к тому же на самом деле пытался его убить.
НерЗул погиб ещё на Дреноре задолго до того, как туда прибыл Иллидан, чтобы скрыться от КилДжедена. А зачем он там скрывался от КилДжедена? Об этом повествует сюжет WarCraft 3 TFT: КилДжеден поручил ему уничтожить ледяной трон (то есть по сути перерождённого НерЗула), но планам Иллидана помешала Маев, поэтому тот зачистил участок Дренора - Запределье. Но КилДжеден всё равно нашёл его, и Иллидану пришлось вновь попробовать это сделать, но в этот раз ему уже помешал Артас.
SANTIMEL, ну так после рефа надо реестр править. Была куча вопросов про это. В моей сборке (ссылка есть в этом ресурсе) есть .reg файл, который позволяет починить реестр для запуска старого редактора. Remove 'Tool Windows' entry.reg называется. По пути KEY_CURRENT_USER\Software\Blizzard Entertainment\WorldEdit удаляет поле Tool Windows.
В моей же сборке есть .reg файл, который пути к вару сбрасывает, тоже может быть полезно.
OVOgenez, триггер пересоздать можно, просто это муторно, да и толку мало.
что касается глобалок для передачи данных - их можно сразу в локалки запихнуть и к ним уже обращаться
Не поможет. Колбеки вызывается по порядку для каждого юнита. Если колбек уже для первого юнита триггерит перевызов, глобалки перезапишутся и колбеки для последующих юнитов будут работать с изменёнными глобалками.
Триггер не работает, потому что устанавливается флаг bj_wantDestroyGroup и Units of type <...> криво сделана.
Оригинальный триггер на самом деле вот такой код.
set bj_wantDestroyGroup = true
call ForGroupBJ( GetUnitsOfTypeIdAll(unit_type), function GroupActions)
Флаг bj_wantDestroyGroup устанавливается для того, чтобы его считала функция ForGroupBJ и уничтожила созданную группу. Но GetUnitsOfTypeIdAll вызывается первее. Эта функция реализована через последовательный вызов GroupEnumUnitsOfPlayer для каждого игрока и добавления результата в общую группу посредством GroupAddGroup. Функция GroupAddGroup тоже работает с флагом bj_wantDestroyGroup. Она считывает установленный флаг и уничтожает группу с результатом GroupEnumUnitsOfPlayer. И это всё ломает, ведь группа с результатом для игрока затем очищается и снова используется для другого игрока. Таким образом после первого игрока группа уничтожена, отчего юниты других игроков никуда не добавляется.
В результате общая группа содержит юнитов только красного игрока. При этом общая группа не будет уничтожена, ведь флаг bj_wantDestroyGroup уже поглощён, что вызывает утечку.
Проигрывание анимации убирается очень легко. Надо в триггере с событием начала строительства подождать 0 секунд/запустить таймер в 0 секунд и после истечения удалить тег анимации work. Так сделано в WispTD.
Попробовал я тип атаки, предложенный GetLocalPlayer. Во-первых, некоторые его значения всё-таки регулируются константами (см. обсуждение, которое GetLocalPlayer упомянул), а во вторых, он не наносит урон юнитам в астрале. Более того, он обманывает игру: если юниту в астрале нанести урон с таким типом атаки и типом урона UNIVERSAL, то в триггере на получение урона функция GetEventDamage вернёт 1, но на самом деле юнит не получит никакого урона.
Другими словами, данный тип атаки ничем не помогает. Я хотел наносить урон единожды, но данный тип атаки требует как минимум два нанесения. А в таком случае можно использовать любой другой тип атаки, причём оно будет работать с юнитами в астрале без учёта константы Ethereal Heal Bonus.
Пока готовлю полную переработку библиотеки с упрощённой установкой и лучшей обработкой случаев, когда невозможно вычислить значение брони (юнит мёртв, юнит неуязвим, юнит эфириал и имунен к магии). А самое главное, что оно будет вообще работать с эфириалами.
Пока тестировал новую реализацию, обнаружил, что значения урона от 1 ниже не уменьшаются бронёй. Если нанести 1000 урона юниту с 3300 брони (~99.5% уменьшение урона), будет нанесено 5 урона, но если нанести 100 урона, то финальный урон будет 1, как при 1650 брони, а не 0.5, как должно быть. Это важный момент при выборе значения урона для вычисления брони.
Ред. PT153
» World of WarCraft / Портал Иллидана
В следующем кадре портал открывается возле Малфуриона, они там болтают, Иллидан заходит назад. Появляется Маев и со своей армией входит в портал. Портал закрывается.
» WarCraft 3 / Можно ли использовать GetTriggerPlayer() в триггере с EVENT_PLAYER_UNIT_SELECTED?
Ред. PT153
» WarCraft 3 / Можно ли использовать GetTriggerPlayer() в триггере с EVENT_PLAYER_UNIT_SELECTED?
Ред. PT153
» World of WarCraft / Тупой вопрос на который не обязательно отвечать про лор варкрафта
» World of WarCraft / Тупой вопрос на который не обязательно отвечать про лор варкрафта
Ред. PT153
» World of WarCraft / Портал Иллидана
Ред. PT153
» World of WarCraft / Портал Иллидана
Ред. PT153
» World of WarCraft / Тупой вопрос на который не обязательно отвечать про лор варкрафта
» WarCraft 3 / Можно ли использовать GetTriggerPlayer() в триггере с EVENT_PLAYER_UNIT_SELECTED?
» World of WarCraft / Портал Иллидана
Он работал на НерЗула лишь косвенно и всего одну миссию. Тем более его мотивацией было очищение лесов от скверны, которую Легион распространял с помощью черепа ГулДана. Имхо, не тянет на "работу на НерЗула".
Ред. PT153
» WarCraft 3 / Можно ли использовать GetTriggerPlayer() в триггере с EVENT_PLAYER_UNIT_SELECTED?
» WarCraft 3 / Можно ли использовать GetTriggerPlayer() в триггере с EVENT_PLAYER_UNIT_SELECTED?
Ред. PT153
» World of WarCraft / Тупой вопрос на который не обязательно отвечать про лор варкрафта
Ред. PT153
» WarCraft 3 / Засоренность карты.
» WarCraft 3 / Jass New Gen Pack - Rebuild 1.4
» WarCraft 3 / Группы с несуществующими юнитами и FirstOfGroup
» WarCraft 3 / Jass New Gen Pack - Rebuild 1.4
Ред. PT153
» WarCraft 3 / Jass New Gen Pack - Rebuild 1.4
» WarCraft 3 / Группы с несуществующими юнитами и FirstOfGroup
» WarCraft 3 / Группы с несуществующими юнитами и FirstOfGroup
» Администрация XGM / Ресурс не отображает в ленте во вкладке новых
» WarCraft 3 / Анимация Wisp
Ред. PT153
» WarCraft 3 / Get Unit Armor
» WarCraft 3 / Баги из-за сокрытия кнопок
Ред. PT153
» WarCraft 3 / Jass New Gen Pack - Rebuild 1.4