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, как должно быть. Это важный момент при выборе значения урона для вычисления брони.
noname-D4G4wF1l, да и перевод лучше делать через экспорт war3map.wts, его редактирование, а затем обратный импорт. И экспорт, и импорт делаются через редактор (Файл - Импорт/Экспорт строк)
Smeto, странный ресурс со странным оформлением. Называть версию 2.1, в которой нет новых фич, слишком сильно. Обновление базы ключевых слов это максимум 0.9.6.1, а не 2.1, но я бы вообще не стал бы лепить версию. Как я уже сказал, можно просто выложить обновлённый файл ключевых слов, указать, что это для TESH 0.9.6, и написать способ замены старого файла на новый.
Большая часть ресурса про сам теш, а русификатор упоминается вскользь - зачем он вообще тогда в ресурсе. Наличие старого теша (до 2.0) в папке нового тоже странно, с рефом он не работает, новых ключевых слов там нет, но зато есть поддержка cJass, который редатором рефа не поддерживается.
Старый TESH то тоже работает с reforged проверено.
Можно видео? До 2.0 теш требует подгрузки от JNGP, после 2.0 тоже до версии 0.9.6. Автор 2.0 специально переделывал теш в версии 0.9.6, чтобы новый теш работал с рефом. И разница колоссальна - до 0.9.6 JNGP запускался и сам грузил теш, после - запускается .exe самого теша, который грузит редактор.
Касаемо Руссификатора, тот который есть полностью переводит триггеры вплоть до описания, а это лично для меня не актуально, вот интерфейс отдельно перевести дело святое.
Для этого можно отдельный ресурс сделать, а не пихать всё в один.
То что из оформления я взял с твоего прошлого поста не секрет, ты его отлично оформил, даже ссылку оставил
Это, конечно, не секрет, но зачем делать копию ресурса, если суть копии только в новой базе ключевых слов? Тем более указано "Прошлая версия для 1.32", хотя у меня та же версия теша, 0.9.6, просто база ключевых слов для 1.32.
noname-D4G4wF1l, вызвать clear-game-path.reg, при запуске снова выбрать папку с игрой. Сначала попробовать открыть оригинал. Если не открывается, то при выборе карты открыть папку backups, отсортировать по дате и открыть карту с наибольшей датой.
Я вот вроде подписан на этот вопрос, но не приходило никаких уведомлений о его решении месяц назад.
www.w3.org у меня работает без проблем, всё грузит моментально. Ровно как и YouTube.
Я вот пытаюсь сообщение одно своё отредактировать, сайт выдаёт 502 Bad Gateway. Пишу сюда, а скрин экрана прицепить не могу. После перезагрузки страницы смог.
TESH 2.1? Так последняя версия всё ещё 0.9.6 от 2022 года, там максимум добавить новые функцию в базу TESH.
Как это попало на главную? Тут русификатор триггеров/редактора с новым тешем TESH, внутри которого зачем-то папка старого TESH. У русификатора есть отдельный ресурс, старый TESH в рефе не работает, а обновлённую базу TESH можно выложить отдельным архивом и с описанием установки. Да и копировать абзац "Использование" из моего ресурса совсем не обязательно.
» WarCraft 3 / Группы с несуществующими юнитами и FirstOfGroup
» WarCraft 3 / Группы с несуществующими юнитами и FirstOfGroup
» Администрация XGM / Ресурс не отображает в ленте во вкладке новых
» WarCraft 3 / Анимация Wisp
Edited by PT153
» WarCraft 3 / Get Unit Armor
» WarCraft 3 / Баги из-за сокрытия кнопок
Edited by PT153
» WarCraft 3 / Jass New Gen Pack - Rebuild 1.4
» WarCraft 3 / Negate Damage library
» Администрация XGM / Списки
Edited by PT153
» WarCraft 3 / Math library
Edited by PT153
» StarCraft 2 / Azeroth Reborn
» WarCraft 3 / Negate Damage library
Edited by PT153
» WarCraft 3 / JNGP: Rebuild от PT153
Edited by PT153
» WarCraft 3 / Обновление. TESH 2.1 для Reforged 2.0 + Интерфейс на русском языке (при желании)
Большая часть ресурса про сам теш, а русификатор упоминается вскользь - зачем он вообще тогда в ресурсе. Наличие старого теша (до 2.0) в папке нового тоже странно, с рефом он не работает, новых ключевых слов там нет, но зато есть поддержка cJass, который редатором рефа не поддерживается.
Edited by PT153
» WarCraft 3 / JNGP: Rebuild от PT153
Edited by PT153
» StarCraft 2 / Azeroth Reborn
Edited by PT153
» StarCraft 2 / Azeroth Reborn
Edited by PT153
» Администрация XGM / Долгая прогрузка картинок на сайте
Edited by PT153
» WarCraft 3 / Обновление. TESH 2.1 для Reforged 2.0 + Интерфейс на русском языке (при желании)
» WarCraft 3 / Нейросеть Craiyon
Edited by PT153
» WarCraft 3 / Blizzard объявили Reforged 2.0 и ещё
» WarCraft 3 / Blizzard объявили Reforged 2.0 и ещё
» WarCraft 3 / Как правильно обнулять данные в структуре? vJass.
» Stormgate / Аллен Диллинг вкатился в Stormgate
» Stormgate / Аллен Диллинг вкатился в Stormgate