Shared vision есть в гуях в разделе игрок, а а так же в разделе юнит - можно сделать видимым указанного юнита для любых игроков, так и убрать видимость.
Нарисовать вектор в направлении движения вашего героя, и переместить даммика по этому веткору на нужное расстояние, так желать этак 32-50 раз в сек. Все просто.
И у него есть только условие и 2 события, прикол в том что это триггер для абилк, пусть урны ( дебафф на 8 сек периодического урона, рассеивается при смерти) и создается ккаждый раз, и удаляется, но вот если бы мы юзали ашкшины триггера нам бы пришлось их удалять, а кондишены зависают в болекспре и не утекают, т.е всякий раз когда мы будем вешать наш болекспр новому триггеру, к триггеру будет прикручиватся уже существующий болекспр, а не создаватся новый. Способ для ленивых чтобы не удалять лишние обьекты. Drynwhyl, a не про функции а операторы сравнения.
Так же как я уже писал некоторые события требуют болекспры, т.е позволяют отсеивать обьекты, на которые событие срабатывать не должно, это довольно удобно.
К примеру у вас один триггер на геройские абилки, он следит за тем что кто кастанул у него куча проверок и так далее а срабатывает он на всю шелупонь вроде крипов и даммиков которые нам не интересны, отсеиваем их в болекспре и ура.
Так же помните проверки на уровень абилки довольно медленные, лучше их не юзать там где код "крутится" постоянно, старайтесь обходить это проверками на GetUnitTypeId() или пытатся вручать абилку, если у юнита уже есть абилка с таким ид, функция UnitAddAbility вернет false и не добавит абилку, а если нету то вручит и вернет true это не особо то удобно и мало где применимо но может быть полезно если вы уж сильно увлекаетесь оптимизацией...
Нет, проверки в болекспрах ифами не делают, а делают And или or ну и Not если необходимо. У болекспра событий свой поток, туда можно передавать аргументы только глобалками, кроме GetFilterUnit() там ниче не робит, это относится только к болекспрам у событий, у кондишенов триггеров и груп все будет работать. Так же советую завести глобалку
globals
unit bj_lastFilterUnit = null
endglobals
function Filter takes nothing reutrns boolean
set bj_lastFilterUnit = GetFilterUnit()
return IsUnitType( bj_lastFilterUnit, UNIT_TYPE_HERO ) and ....
endfunction
Насчет нативок
удаление болекспра, не требуется т.к они кешируются и не плодятся, частоиспользуемые можно для удобсва заносить в глобалки, просто и удобно.
Есть два типа болекспр, Filter и Condition, работают абсолютно одинакового, некто не заметил разницы.
Анихак лаунчер заточен под борьбу с картой лича, поэтому не дает запускать все карты с мемхаком, пока есть возможноть это обойти - моя карта яркий пример, а так инфы подробной в паблик никто не сливал чтобы ракап не сделал апгрейд защиты...
Clamp, не я про то что болекспры быстрее отдельных условий или проверок уже в акшине триггера, тут движок формирует своего рода обьект который работает вне виртуальной JASM машине и поэтому выполняется быстрее, поэтому циклы с условиями не рекомендуются юзать, как многие любят ибо влом объявлять еще одну функцию для болекспра. Ну это так, если уж очень хочется занятся оптимизацией, то раньше были чуваки (видел в некоторых западных картах) делающие все действия в болекспре, т.е нету ни фор груп, ниче, глобальную групу чистят и GroupEnumUniutsInRange (g, x,y, r, bolexpr) в котором сразу и условие и после него действия которые нужно проделать с юнитами в группе.
Для того чтобы не мусолить кондишены если у вас 100500 юнитов появляются - добавье в событие болекспр, болекспры очень быстрые, так же будут предотвращать срабатывание триггера на ненужных юнитов, к примеру даммиков.
DracoL1ch, Ну только что в системе с оддним триггеров куда удобнее, не нужно плодить 100500 триггеров, а просто добавлять их функцию в бд, это особенно удобно когда спеллов десятки или сотни.
Ну старый добрый JNGP + мемхак, самое то, можно сделать все что хотелось без особых проблем и 100% рабочий и точный детект типа урона и атаки, возможность плодить свои собственные баффы\дебаффы как у близзардов, с сайленсами, стунами, и так далее. Сделать нормально скиллы с псевдоконтролем, как в д2, чтобы у юнита ни скрывалась ни панель приказов, ни затемнялись абилки а просто игнорировались приказы, до момента снятия дизейбла-псевдоконтроля.
Agren, еще есть фишка со способностью 'Amec' mecanical critter, юниты созданные этой абилкой отабражаются всем врагам нейтралами, ровно до тех пор пока они не нападут на игрока, тогда они отображаются как юниты владельца, только они выйдут из боя и поля зрения снова будут считатся нейтралами. Увы настроить тип призванного существа нельзя, но его можно морфнуть во что угодно с помощью морф абилок, а еще есть мемхак который вручает флаг криттера указанному юниту, если в карте есть мх то могу скинуть код.
Я вот хз, еще не устали бится головой об стены на новых патчах? Там как было все мертво так и осталось, на бнет был пуст таки остался, инглишам коих уже меньше чем азиатов ваши поделки не интересны от слова "совсем". Лезть на 1.30 бессмыслие, там нет ничего, ни софта, ни аудитории, ни возможностей. Просто пишите на 1.26 и забейте на все патчи выше, нужны новые возможности - мемхак давно лежит в сети, там можно даже больше чем на 1.30, но что то вам это не интересно.
Вручать руну с виндвалком и мгновенным временем перехода в инвиз. Ну а если чтобы не костыльно и надежно - детект физического урона и реализация триггерного крита.
» WarCraft 3 / Видно всех на карте
» WarCraft 3 / Движение дамика за игроком
» WarCraft 3 / Вернуть кликабельность юниту после москитов
» WarCraft 3 / Вернуть кликабельность юниту после москитов
» WarCraft 3 / boolexpr в событиях
Ред. quq_CCCP
» WarCraft 3 / boolexpr в событиях
Есть некий триггер:
Drynwhyl, a не про функции а операторы сравнения.
Так же как я уже писал некоторые события требуют болекспры, т.е позволяют отсеивать обьекты, на которые событие срабатывать не должно, это довольно удобно.
К примеру у вас один триггер на геройские абилки, он следит за тем что кто кастанул у него куча проверок и так далее а срабатывает он на всю шелупонь вроде крипов и даммиков которые нам не интересны, отсеиваем их в болекспре и ура.
Так же помните проверки на уровень абилки довольно медленные, лучше их не юзать там где код "крутится" постоянно, старайтесь обходить это проверками на GetUnitTypeId() или пытатся вручать абилку, если у юнита уже есть абилка с таким ид, функция UnitAddAbility вернет false и не добавит абилку, а если нету то вручит и вернет true это не особо то удобно и мало где применимо но может быть полезно если вы уж сильно увлекаетесь оптимизацией...
» WarCraft 3 / boolexpr в событиях
» WarCraft 3 / проблема с запуском NWU в ICCup
» WarCraft 3 / Как знать Id любой абилки которую применил?
» WarCraft 3 / Как сделать пик абилок?
» WarCraft 3 / Не перемещается область для события. Что делать?
» WarCraft 3 / Утечное событие?
» WarCraft 3 / Мемхак (помощь)
» WarCraft 3 / Мемхак (помощь)
Было вроде одно лекарство, но оно не для всех доступно...
» WarCraft 3 / Утечное событие?
» WarCraft 3 / Что выгоднее?
» WarCraft 3 / В чем сейчас актуально делать карты?
» WarCraft 3 / Таймер срабатывает сразу
» WarCraft 3 / Атака по некоторым видам зданиий.
» WarCraft 3 / Как сделать первый удар с крита?
» WarCraft 3 / Мультишот
» WarCraft 3 / Возникла проблема с оптимизаторами!
» WarCraft 3 / Атака по некоторым видам зданиий.
Ред. quq_CCCP
» WarCraft 3 / Возникла проблема с оптимизаторами!
» WarCraft 3 / Как сделать первый удар с крита?