28

» World of WarCraft / Портал Иллидана

Как именно в финальной миссии ночных эльфов Иллидан создал портал так чтобы он из Запределья переместил его и Тиранду аккурат к лагерю брата?
А никак. Тиранда, Иллидан и Малфурион все были в Лордероне в этот момент, недалеко друг от друга. Никаким Запредельем там и не пахнет.
Катсцена там весьма странная и не стоит её воспринимать буквально.
Иллидан открывает портал, туда заходит Тиранда и он, Затем портал закрывается.
В следующем кадре портал открывается возле Малфуриона, они там болтают, Иллидан заходит назад. Появляется Маев и со своей армией входит в портал. Портал закрывается.
Было ли это два разных портала или один? Если один, то в катсцене просто косяк с его закрытием, и на самом деле Иллидан вернулся к себе на базу, а там уже как-то своим путём попал в Запределье. Если два, то куда вёл первый портал, мы не знаем. Может Запределье, а может и нет.
Как Иллидан вместе с эльфами крови и нагами переместился из Запределья в Азерот?
Эльфы крови присоединились много позже и прошли они через отдельный портал, который нужно защищать в секретной миссии эльфов крови.
28

» WarCraft 3 / Можно ли использовать GetTriggerPlayer() в триггере с EVENT_PLAYER_UNIT_SELECTED?

nazarpunk, всё так. Если триггер перевызывает сам себя, event response продолжают работать корректно для каждого вызова. Ну кроме оных на абилки. У лича была теория, что их делали в спешке на коленке.
28

» World of WarCraft / Тупой вопрос на который не обязательно отвечать про лор варкрафта

TerrorGold, ну это канон, да. А хотел или не хотел - сложно сказать. Два раза пытался, а вот по своей воле или чтобы просто выслужиться - не знаю.
28

» World of WarCraft / Тупой вопрос на который не обязательно отвечать про лор варкрафта

И тогда ответ на вопрос: 6 миссия кампании ночных эльфов в Reign of Chaos и в третьем томе Хроник тоже должно быть.
28

» World of WarCraft / Портал Иллидана

RvzerBro, абилку блинка где? Разве что в хотсе, но это OG талант, который раньше был у многих героев.
28

» World of WarCraft / Портал Иллидана

Этот момент что Иллидан может отправиться в любую точку Азерота
С чего бы это была рандомная точка в Азероте? Они же оба буквально в пределах одной карты находятся. Даже если в игре это упрощено для геймплея, они всё равно не находились сильно далеко друг от друга. Уж точно ближе, чем Нортренд.
28

» World of WarCraft / Тупой вопрос на который не обязательно отвечать про лор варкрафта

Прочитал предыдущий вопрос. Ну если считать тот факт, что Артас надоумил Иллидана на авантюру с черепом ГулДана, является работой на НерЗула, то выходит действительно работал.
28

» World of WarCraft / Портал Иллидана

ScorpioT1000, так не хотел убивать НерЗула, что аж два раза попробовал в TFT. 😅
Он работал на НерЗула лишь косвенно и всего одну миссию. Тем более его мотивацией было очищение лесов от скверны, которую Легион распространял с помощью черепа ГулДана. Имхо, не тянет на "работу на НерЗула".
По итогу забрал череп, стал полудемоном, Малфурион его изгнал, а потом Иллидана посетил КилДжеден и сказал грохнуть ледяной трон за предательство.
28

» WarCraft 3 / Можно ли использовать GetTriggerPlayer() в триггере с EVENT_PLAYER_UNIT_SELECTED?

SсRealm, все event response уникальны для каждого триггера и работает с паузами, кроме тех, что реагируют на способности. Потому что event response на способности работают как глобалки, а остальные - как локалки.
28

» World of WarCraft / Тупой вопрос на который не обязательно отвечать про лор варкрафта

Эм, Иллидан никогда на него не работал? И к тому же на самом деле пытался его убить.
НерЗул погиб ещё на Дреноре задолго до того, как туда прибыл Иллидан, чтобы скрыться от КилДжедена. А зачем он там скрывался от КилДжедена? Об этом повествует сюжет WarCraft 3 TFT: КилДжеден поручил ему уничтожить ледяной трон (то есть по сути перерождённого НерЗула), но планам Иллидана помешала Маев, поэтому тот зачистил участок Дренора - Запределье. Но КилДжеден всё равно нашёл его, и Иллидану пришлось вновь попробовать это сделать, но в этот раз ему уже помешал Артас.
28

» WarCraft 3 / Засоренность карты.

rsfghd, тени фиксятся пересчётом теней при сохранении карты или удалением файла .shd в карте.
28

» WarCraft 3 / Jass New Gen Pack - Rebuild 1.4

SANTIMEL, этот ресурс - оригинальный ребилд. Вот моя:
Для 1.27 и ниже есть более новая экспериментальная сборка
Но там суть не в сборке, а в реестре. Пути я дал выше.
28

» WarCraft 3 / Jass New Gen Pack - Rebuild 1.4

SANTIMEL, ну так после рефа надо реестр править. Была куча вопросов про это. В моей сборке (ссылка есть в этом ресурсе) есть .reg файл, который позволяет починить реестр для запуска старого редактора. Remove 'Tool Windows' entry.reg называется. По пути KEY_CURRENT_USER\Software\Blizzard Entertainment\WorldEdit удаляет поле Tool Windows.
В моей же сборке есть .reg файл, который пути к вару сбрасывает, тоже может быть полезно.
28

» WarCraft 3 / Группы с несуществующими юнитами и FirstOfGroup

OVOgenez, триггер пересоздать можно, просто это муторно, да и толку мало.
что касается глобалок для передачи данных - их можно сразу в локалки запихнуть и к ним уже обращаться
Не поможет. Колбеки вызывается по порядку для каждого юнита. Если колбек уже для первого юнита триггерит перевызов, глобалки перезапишутся и колбеки для последующих юнитов будут работать с изменёнными глобалками.
28

» Администрация XGM / Ресурс не отображает в ленте во вкладке новых

А тьфу ты, она есть в списке, просто в виде превью используется одна из картинок в статье, а не иконка проекта, отчего я не признал её.
28

» WarCraft 3 / Анимация Wisp

Триггер не работает, потому что устанавливается флаг 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.
call AddUnitAnimationProperties(builder, "work", false)
Загруженные файлы
28

» WarCraft 3 / Get Unit Armor

Попробовал я тип атаки, предложенный GetLocalPlayer. Во-первых, некоторые его значения всё-таки регулируются константами (см. обсуждение, которое GetLocalPlayer упомянул), а во вторых, он не наносит урон юнитам в астрале. Более того, он обманывает игру: если юниту в астрале нанести урон с таким типом атаки и типом урона UNIVERSAL, то в триггере на получение урона функция GetEventDamage вернёт 1, но на самом деле юнит не получит никакого урона.
Другими словами, данный тип атаки ничем не помогает. Я хотел наносить урон единожды, но данный тип атаки требует как минимум два нанесения. А в таком случае можно использовать любой другой тип атаки, причём оно будет работать с юнитами в астрале без учёта константы Ethereal Heal Bonus.

Пока готовлю полную переработку библиотеки с упрощённой установкой и лучшей обработкой случаев, когда невозможно вычислить значение брони (юнит мёртв, юнит неуязвим, юнит эфириал и имунен к магии). А самое главное, что оно будет вообще работать с эфириалами.
Пока тестировал новую реализацию, обнаружил, что значения урона от 1 ниже не уменьшаются бронёй. Если нанести 1000 урона юниту с 3300 брони (~99.5% уменьшение урона), будет нанесено 5 урона, но если нанести 100 урона, то финальный урон будет 1, как при 1650 брони, а не 0.5, как должно быть. Это важный момент при выборе значения урона для вычисления брони.
28

» WarCraft 3 / Баги из-за сокрытия кнопок

0, -11 на самом деле приводит к крашам. Если запустить WispTD, потом любое сражение, будет краш)
28

» WarCraft 3 / Jass New Gen Pack - Rebuild 1.4

SANTIMEL, версия игры какая? Запускался ли редактор reforged до этого?