Перед вызовом "Выбрать каждого юнита в ..." для не созданной группы, нужно написать set bj_wantDestroy = true.
Если же группа записана в переменную, то писать не нужно. Если же группа создаётся в самом вызове, нужно написать. Vi.A.R:
Это юниты выбраные в радиусе 300 от точки t.
Во время вызова создаётся группа "Юниты в радиусе от" создаётся группа. Чтобы её удалить (а её нужно удалить), перед вызовом нужно написать set bj_wantDestroy = true.
вообще-то триггер рабочий, там же написано выполнить действия триггера игнорируя условия.
Проигнорировать условия ТРИГГЕРА, а не условия в действиях триггера.
Даже если вынести условие в условия триггера, работать не будет, потому для нового вызова Игрок триггера будет ничем.
Даже если вынести условие в условия триггера, работать не будет, потому для нового вызова Игрок триггера будет ничем.
Проверил, всё будет работать, но условие в действиях всё же будет выполнятся, а это лишнее. Потому лучше вынести его в условия триггера, потому что тогда оно не будет выполняться.
Да.
После создания юнита нужно удалять последнюю созданную группу.
Что такое "Юниты в 300.00 t"?
Перед вызовом "Выбрать каждого юнита в ..." для не созданной группы, нужно написать set bj_wantDestroy = true.
Локалки в конце триггера нужно обнулять. Касается только объектов.
После создания юнита нужно удалить последнюю созданную группу. В Custom Script.
call DestroyGroup(bj_lastCreatedGroup)
Если же есть JNGP, то там есть функция по удалению группы.
Также нужно создать переменную TempLocation, перед созданием юнита в неё записывать позицию, где хочешь создать юнита, а после создания удалять эту позицию.
А ещё, это не сработает, как ты хочешь. После 270 секунд триггер начнёт выполнятся, "Тип исследуемой технологии" будет ничем, таким образом, выражение в "Тогда" не выполнится.
Нужно создать отдельный периодический таймер для каждого игрока (то есть массив таймеров), при завершении исследования, стартануть таймер для игрока. Сделать триггер, срабатывающий на завершение таймера, который и будет создавать юнита.
В мультиплеере кнопки в диалогах могут с первого раза не кликаться, это нормально, просто старайтесь кликать как только таймер уменьшился (например, 10 стало 9).
Хотите немного прикола от оптимизатора?
У меня в карте есть функция Restart, а также строка "Restart". Оптимизатор переименовал функцию Restart в De, и тоже самое сделал и со строкой! Потому в оптимизированной версии в диалоге рестарта первая кнопка имеет имя "De".
Крестики-нолики в WC3!
Рекомендуется играть вдвоём по сети.
Можно выбирать размер поля, количество значков в ряд, а также время хода, если игра в мультиплеере.
В мультиплеере кнопки в диалогах могут с первого раза не кликаться, это нормально, просто старайтесь кликать как только таймер уменьшился (например, 10 стало 9).
Сейчас посмотрю другую реализацию, предложенную PT.
Она такая же, просто чуть удобнее и исправлена ошибка, что я описал выше.
UPD: в триггере на смерть нужно добавить в условия, что умирающий юнит не герой.
Вот исправленная версия.
не понял, что имеешь ввиду, ведь как раз учитывал, что при смерти юнит будет без баффов.
"Иначе" срабатывает только тогда, когда хотя бы одно из условий неверно.
У нас есть Picked Unit, он мёртв. Выполняем для него действия в группе.
Бафф у него есть? Нет, проверяем дальше.
Он в группе с низкой бронёй? Если да, то выполняется "Тогда", "Иначе" игнорируется.
Если нет, то выполняется "Иначе". А в "Иначе" у нас новые условия.
Юнит не живой? Да, проверяем следующее условие.
Он в группе с низкой бронёй? Нет, мы это уже выяснили.
Таким образом, группа не очищается. EHP_Sequence:
Ссылка ведет на это же сообщение :(
Бред какой-то, найди 47-й комментарий на странице 1.
посвяти человека в утечки, а то всё-равно по поводу (Triggering unit) и (Picked unit) начал уточнять, столкнулся с кучей противоречивой и неоднозначной информации, так и не выяснил до конца.
Picked Unit это вот что.
constant native GetEnumUnit takes nothing returns unit
Triggering Unit вот что.
constant native GetTriggerUnit takes nothing returns unit
Нативки не создают утечек.
Ещё раз, утечки возникают из-за неудалённых точек и групп, которых тут нет. Также могут быть проблемы из-за необнулённых локальных переменных, но их тут тоже нет.
Отряд - Pick every unit in Poisoned_units and do (Actions)
.Цикл - Действия
..Multiple Functions If (All Conditions are True) then do (Then Actions) else do (Else Actions)
...Если - Условия
....((Picked unit) has buff Яд (не буферизуется) (паук1)) равно Нет
....((Picked unit) is in Reduced_armor) равно (==) Да
...То - Действия
....Set Armor of (Picked unit) to ((Armor of (Triggering unit)) + 6.00))
....Отряд - Remove (Picked unit) from Reduced_armor
...Иначе - Действия
....Multiple Functions If (All Conditions are True) then do (Then Actions) else do (Else Actions)
.....Если - Условия
......((Picked unit) is alive) равно (==) Нет
......((Picked unit) is in Reduced_armor) равно (==) Да
.....То - Действия
......Отряд - Remove (Picked unit) from Reduced_armor
......If (((Picked unit) is Герой) равно (==) Нет) then do Отряд - Remove (Picked unit) from Poisoned_units else do (Боевая единица - Set Armor of (Picked unit) to ((Armor of (Picked unit)) + 6.00))
.....Иначе - Действия
Тут есть проблема, что очищение группы регистрации происходит в случаях: когда юнита нет в группе с низким армором, когда у юнита есть бафф, когда присутствуют сразу первые два случая. Но прикол в том, что мы вновь проверяем наличие в группе с низким армором, а если юнит мёртв, то и баффа у него нет. То есть очищение не происходит. В своей реализации я исправил. EHP_Sequence, видел мою реализацию тут (там есть ссылка на слове "это")? Глянь её, она точно без ошибок.
EHP_Sequence, вот это должно работать, вставишь уменьшение брони и поменяешь в глобальных константах ReduceArmorAbility и ReduceArmorBuff на нужные тебе. 8gabriel8:
А вот помимо ошибки в третьем триггере, ещё и бафф (буфферизируется), его же не висит на юнитах отравленных. Тоже не знаю, почему он присутствует в редакторе, но предполагаю, что он для версии Reign of Chaos, типа там иначе работает яд, и чтобы была своя версия яда у юнитов в каждой версии игры, просто поставили юнитам оба типа баффов, а каждая версия отключает другой.
Бафф зависит от того, стакаются ли эффекты от разных наложителей со способностью яда или нет. Если стакаются (буфферизуется), то висит этот бафф, если нет, то висит другой. Стакаемость зависит от настройки способности. Узнать, что же висит, можно по изменению имени баффа.
Второй триггер можно сделать проще: проверку на отсутствие в группе поставить в условия триггера.
Ошибка в третьем триггере: первое условие, (Picked Unit has buff рано Нет) должно быть.
А что с героями не так?
А так да, такой триггер не нужен.
UPD: понял.
Мёртвых юнитов лучше не удалять из группы, потому что их можно воскресить, и для них событие будет зарегистрировано 2 раза. Им нужно также восстановить назад броню, а удалить уже когда они разложатся. Вот из-за этого я предпочитаю способ с добавлением событий на всех юнитов, что можно атаковать, сразу, а не по ходу игры.
Ред. PT153
» WarCraft 3 / Есть ли в этом тригере утечки?
Vi.A.R: Во время вызова создаётся группа "Юниты в радиусе от" создаётся группа. Чтобы её удалить (а её нужно удалить), перед вызовом нужно написать set bj_wantDestroy = true.
Ред. PT153
» WarCraft 3 / Как убрать утечку в этом триггере?
Ред. PT153
» WarCraft 3 / Есть ли в этом тригере утечки?
После создания юнита нужно удалять последнюю созданную группу.
Что такое "Юниты в 300.00 t"?
Перед вызовом "Выбрать каждого юнита в ..." для не созданной группы, нужно написать set bj_wantDestroy = true.
Локалки в конце триггера нужно обнулять. Касается только объектов.
» WarCraft 3 / Как убрать утечку в этом триггере?
» WarCraft 3 / Как убрать утечку в этом триггере?
Нужно создать отдельный периодический таймер для каждого игрока (то есть массив таймеров), при завершении исследования, стартануть таймер для игрока. Сделать триггер, срабатывающий на завершение таймера, который и будет создавать юнита.
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
А вот пока сурсы для тех, кто здесь.
Ред. PT153
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
Качество, по идее, потом появится.
UPD: уже есть.
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
У меня в карте есть функция Restart, а также строка "Restart". Оптимизатор переименовал функцию Restart в De, и тоже самое сделал и со строкой! Потому в оптимизированной версии в диалоге рестарта первая кнопка имеет имя "De".
Ред. PT153
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
Лучше играть вдвоём.
Super tic-tac-toe
Рекомендуется играть вдвоём по сети.
Можно выбирать размер поля, количество значков в ряд, а также время хода, если игра в мультиплеере.
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
» Администрация XGM / Глючит лента новостей при обновлении ресурса
» WarCraft 3 / Тест на десинк.
Ред. PT153
» WarCraft 3 / Проверка способности
В моей я вообще сразу по группе с низкой бронёй прохожу.
Ред. PT153
» WarCraft 3 / Проверка способности
Ред. PT153
» WarCraft 3 / Проверка способности
UPD: в триггере на смерть нужно добавить в условия, что умирающий юнит не герой.
Вот исправленная версия.
» WarCraft 3 / Проверка способности
У нас есть Picked Unit, он мёртв. Выполняем для него действия в группе.
Бафф у него есть? Нет, проверяем дальше.
Он в группе с низкой бронёй? Если да, то выполняется "Тогда", "Иначе" игнорируется.
Если нет, то выполняется "Иначе". А в "Иначе" у нас новые условия.
Юнит не живой? Да, проверяем следующее условие.
Он в группе с низкой бронёй? Нет, мы это уже выяснили.
Таким образом, группа не очищается.
EHP_Sequence:
» WarCraft 3 / Проверка способности
Ред. PT153
» WarCraft 3 / Проверка способности
EHP_Sequence, видел мою реализацию тут (там есть ссылка на слове "это")? Глянь её, она точно без ошибок.
Ред. PT153
» WarCraft 3 / Проверка способности
Прочитай это и это.
Ред. PT153
» WarCraft 3 / Проверка способности
8gabriel8:
» WarCraft 3 / Проверка способности
Ошибка в третьем триггере: первое условие, (Picked Unit has buff рано Нет) должно быть.
» WarCraft 3 / Проверка способности
Ред. PT153
» WarCraft 3 / Проверка способности
А так да, такой триггер не нужен.
UPD: понял.
Вот из-за этого я предпочитаю способ с добавлением событий на всех юнитов, что можно атаковать, сразу, а не по ходу игры.