Показ состояния зданий - у юнитов в панели информации есть строка Status, где отображаются все текущие баффы. Этот параметр отвечает за показ этой строки у зданий.
Радиус разведки тумана - юнит игрока умирает (был атакован), то вокруг умирающего (атакующего) даётся обзор указанного радиуса на некоторое время.
Уведомление о атаке - очевидно, что это про сигнал атаки. Минимальный интервал и минимальное расстояние (от текущего положения камеры?), чтобы сигнал звучал.
Хм, просто Кель имеет эту способность и при атаке использует именно ту анимацию (камни ещё при этом пропадают). Или я чего-то не понимаю?
Эффект пропадает при атаке, и появляется через некоторое время. Изменение полей "Duration" и "Cooldown" не помогло.
Укрепленные логова 'Arbr' - пустышка с невидимой иконкой, которая есть у логова и сторожевых вышек. Открывается при завершении исследования. Скорее всего больше создана для эффектов. У этих строении пояляются стальное укрепление. Короче железки с четырех сторон.
Шипы 'Aspi' - пустышка с невидимой иконкой, которая есть у всех орочьих строении. Открывается при завершении исследования. Скорее всего больше создана для эффектов. У этих строении появляются шипы.
Надо написать сборник такой по всем абилкам.
У этих способностей нет требований, но эффект появляются только в результате улучшений, что меня настораживает. JaBeN_Симфер:
Если нет необходимости в таких уникальных механиках работы абилки с аттачами, как Сфера Келя, то стоит задуматься об отказе от абилок и переходе на триггерную систему аттачей, тем более, если абилок очень много.
Мне проще создать абилку, так как:
её эффект сразу удалится, как только юнит умрёт;
не нужно проверять, есть ли уже такой эффект у юнита.
Можно добавить, что Asph - лучший вариант, самый легкий с точки зрения движка. Остальные так или иначе являбются абилками и подтягиваются лишний раз при определенных действиях. Asph считается чисто визуальной абилкой и не генерирует лишних операций
А если у юнита атака, то модель снаряда будет браться из Asph?
Из того что приходит в голову только триггерная атака. Ну тоесть если подумать какой толк от залпа вместо одного снаряда если урон от этого только меньше. Если например у противника уменьшение урона от каменной брони.
У меня своя система брони и атаки, просто мне нужна способность, которая выпускает в цель снаряды (то есть несколько снарядов в течение некоторого времени).
Я могу и триггерно это сделать, но вдруг есть такая способность.
PT153, Есть идеи как заменить эту функцию? Ну или строка кастом скрипта. Заодно я узнаю как это делается на джассе.
Заменить g на bj_lastCreatedGroup или любую другую глобальную переменную. Но нужно написать свои функции для общих случаев.
А так можно прямо в самом триггере.
set nospawn = CreateGroup()
call GroupEnumUnitsInRangeOfLoc(nospawn, spawn, 500., null)
...
Мне нужно это не для одного юнита. А для юнитов в области. И я проверил утечки были от того что добавлялись события.
Юнит входит в область Вся карта только 1 раз за игру, то есть событие Юнит получает урон добавляется только 1 раз. А в триггере, куда добавляется событие, есть условие (какое Вам нужно), при котором триггер будет срабатывать, как я и написал.
Триггер Init.
События - Юнит входит в Вся карта.
Условия - Тип юнита равно Манекен.
Действия - Добавить событие в триггер Maneken Боевая единица Вошедший юнит получает урон.
Триггер Maneken.
События - ИХ НЕТ.
Условия - Атакованный юнит находится в области (какая нужна).
Действия - Создать плавающий текст над Атакованный юнит (и прочее).
Всегда так делал, всё работало, и никаких утечек нет.
function GetUnitsInRangeOfLocMatching takes real radius, location whichLocation, boolexpr filter returns group
local group g = CreateGroup()
call GroupEnumUnitsInRangeOfLoc(g, whichLocation, radius, filter)
call DestroyBoolExpr(filter)
return g
endfunction
Это функция, которая используется Вашим действием. Тут всё время будет утекать переменная g, так как она не обнуляется.
Не используйте группы, нахватаесть утечек от них и от локаций, которые используются во многих BJ функциях.
PT153, Вау, а я не знал. Этот вопрос был создан как раз для того чтоб найти способ избежать утечек из-за добавления события, а не для того чтоб вы писали очевидные вещи. Но пока, альтернативы ни на гуи ни на джасс никто не предоставил.
С чего Вы взяли, что создаётся утечка от добавления события? Об этом много статей, и, насколько мне известно, как только юнит умирает, все события, связанные с ним, удаляются.
Тем более Вам нужно это для всего 1 юнита! О какой утечке вообще речь?
Я указал на ошибку, из-за которой добавляется много одинаковых событий (а следом баги и лаги):
То, что делаете Вы, будет работать ужасно, так как событие будет добавляться каждый раз, когда юнит атакован, и триггер по созданию текста будет срабатывать столько раз, сколько событий.
Триггер Init.
События - Юнит входит в Вся карта.
Условия - Тип юнита равно Манекен.
Действия - Добавить событие в триггер Maneken Боевая единица Вошедший юнит получает урон.
Триггер Maneken.
События - ИХ НЕТ.
Условия - Атакованный юнит находится в области (какая нужна).
Действия - Создать плавающий текст над Атакованный юнит (и прочее).
То, что делаете Вы, будет работать ужасно, так как событие будет добавляться каждый раз, когда юнит атакован, и триггер по созданию текста будет срабатывать столько раз, сколько событий.
hook 'nativefunc' 'func'
hook нужен для выполнения некоторых действий, когда вызывается нативка. При этом аргументы функции func должны совпадать с аргументами nativefunc.
P. S.: не делайте так:
function onRemoval takes unit u returns nothing
call RemoveUnit(u)
endfunction
hook RemoveUnit onRemoval
» WarCraft 3 / Blizzard готовят Producer Update для Warcraft 3
Не заметил в багфиксах этой функции.
Ну и функцию GetUnitZ хотелось бы.
» WarCraft 3 / Игровые Константы
» WarCraft 3 / Аттачменты у способностей
» WarCraft 3 / Аттачменты у способностей
Эффект пропадает при атаке, и появляется через некоторое время. Изменение полей "Duration" и "Cooldown" не помогло.
» WarCraft 3 / Почему нельзя создать больше TriggerAddCondition для 1 триггера?
» WarCraft 3 / Аттачменты у способностей
JaBeN_Симфер: Мне проще создать абилку, так как:
» WarCraft 3 / Триггер
» WarCraft 3 / Перевод в BLP
Также кликни на "Альфа-канал", там его настройки.
» WarCraft 3 / Аттачменты у способностей
Ред. PT153
» WarCraft 3 / Аттачменты у способностей
» WarCraft 3 / Баффы, основанные на одной способности
» WarCraft 3 / Засунул цепную молнию в сферу молний, а иконку никак не скрыть
Ред. PT153
» WarCraft 3 / Опять они
Ред. PT153
» WarCraft 3 / Залп снарядов
Патиссончик:
Патиссончик: А жаль. :(
Ладно, спасибо.
» WarCraft 3 / Залп снарядов
Alexey103: У меня своя система брони и атаки, просто мне нужна способность, которая выпускает в цель снаряды (то есть несколько снарядов в течение некоторого времени).
Ред. PT153
» WarCraft 3 / Опять они
А так можно прямо в самом триггере.
Ред. PT153
» WarCraft 3 / Add event DamageTaken создаёт утечку, как исправить?
Ред. PT153
» WarCraft 3 / Опять они
Не используйте группы, нахватаесть утечек от них и от локаций, которые используются во многих BJ функциях.
» WarCraft 3 / Add event DamageTaken создаёт утечку, как исправить?
» WarCraft 3 / Опять они
Ред. PT153
» WarCraft 3 / Add event DamageTaken создаёт утечку, как исправить?
Тем более Вам нужно это для всего 1 юнита! О какой утечке вообще речь?
Ред. PT153
» WarCraft 3 / Add event DamageTaken создаёт утечку, как исправить?
События - Юнит входит в Вся карта.
Условия - Тип юнита равно Манекен.
Действия - Добавить событие в триггер Maneken Боевая единица Вошедший юнит получает урон.
События - ИХ НЕТ.
Условия - Атакованный юнит находится в области (какая нужна).
Действия - Создать плавающий текст над Атакованный юнит (и прочее).
Ред. PT153
» WarCraft 3 / как триггерно поменять слот предмета?
Ред. PT153
» WarCraft 3 / потеряны аргументы: missing define arguments
hook нужен для выполнения некоторых действий, когда вызывается нативка. При этом аргументы функции func должны совпадать с аргументами nativefunc.
Ред. PT153
» WarCraft 3 / Покупка в спелбуках
А предметы? В некоторых картах что-то такое видел.