32

» WarCraft 3 / Способность с атакой

PUVer:
quq_CCCP, инвентаря у юнитов нет.
biridius, спасибо за условие. Пришлось сделать много ифов. Но всё работает.
Им его можно вручить вместе с руной а затем удалить. В статье написано как...
32

» WarCraft 3 / Add event DamageTaken создаёт утечку, как исправить?

А зачем тебе плодить ивенты? Это события - юнит получает урон, события никак не удаляются, можно удалить лишь триггер, да и то не в гуи.
Вовсе не надо в гуи делать все что связано с детектом урона, это сложно для уровня гуи и стоит явно переходить на jass.
32

» WarCraft 3 / Способность с атакой

Эмм есть такая книга, повышает белую атаку владельцу - работает как руна. Ну вручаеш её герою при каждом убийстве, если бонус не планируется снимать. То сделать книжками очень изи, как вручать руны и прочее можно почитать в моей статье по предметам
32

» WarCraft 3 / Как создать конусные заклинания?

Steal nerves, мб пригодится?
function Is2cc takes real r, real cx, real cy, real px1, real py1, real px2, real py2 returns boolean
        local real dx = 0.00 
        local real dy =  0.00 
        local real a =  0.00 
        local real b = 0.00  
        local real c = 0.00 
        
        set px1 = px1 - cx
        set py1 = py1 - cy
        set px2 = px2 - cx
        set py2 = py2 - cy
        set dx = px2 - px1
        set dy = py2 - py1
        set a = dx * dx + dy * dy
        set b = 2.00 * ( px1 * dx + py1 * dy )
        set c = px1 * px1 + py1 * py1 - r * r
        
        if ( -b < 0.00 ) then
            return ( c < 0.00 )
        elseif ( -b < ( 2.00 * a ) ) then
            return ( ( 4.0 * a * c - b * b ) < 0 )
        endif
        return ( a + b + c < 0 )
    endfunction
Определяет пересекает ли вектор окружность или нет.
Юзал для ИИ чтобы определяет попадает ли путь юнита в зону агра врагов...
32

» WarCraft 3 / Смертельный удар игнорирует броню?

Криты при срабатывании заменяют обычную атаку, множеной, выводя цифры исходя из умножения текущей атаки Юнита на момент удара. Урон от крита, это такая же атака как и обычная, только увеличенная на множитель, разумеется она снижается защитой и на нее действует 100500 факторов,.
32

» WarCraft 3 / Выбивает из игры и за данного триггера

Принятый ответ
Что то ничего непонятно, ставьте дебаги и смотрите на каком действие крашится, мб рекурсия где?
32

» WarCraft 3 / Fervor, Critical, Evade (способности)

Ну как по мне - детект урона рунными браслетами самое то, если не юзать мемхак.
Правда на хайве автор сделал фигню - вроде б.д резистов, бред. Вручаем рунные браслеты и смотрим на урон, если урон выше 0 - это физический урон или клиф (клиф отлавливают точно так же как и ты атака+приказы), если урон ниже нуля - он будет хилить юнита, если у юнита фулл хп, тогда можно не парится и через 1 фрейм (таймер на 0.00 сек.), иначе нам нужно снизить юниту хп на кол-во отрец урона, чтобы избавится от хила, а потом умножаем наш урона на -1.34 если цель герой чтобы получить изначальное кол-во маг урона.
Удаляем у юнита резист, ставим флаг (глобалку как у тебя) чтобы триггер не сработал на этот урон и наносим урон, потом снова врубаем резист, таким образом мы не нарушаем систему дефольтных маг резистов и маг бонусов от благословения элуны и от атсрала.
Нет никаких баз данных и прочее, при дальнем бое лучше проверять что цель умерла -TriggerRegisterDeathEvent() именно этим событием, у цели может быть крест перерождения и аналоги, а только это событие срабатывает на смерть с крестом перерождения, особенно полезно для снятия дебафов - т.к это событие сработает при падении хп до нуля, за фрейм до того как юнит умрет и станет не выбираемым и не активным.
Это событие используется во внутриигровых триггерах (все баффы\дебафы такие триггеры) чтобы снимать к примеру оглушения.
Так же на детекте урона можно сделать удобную систему снарядов, двигать дамиков мутарно а сделать им норм анимацию и параболическую траекторию и вовсе куча кода, а так берем аксид бомбу и ждем её баффа с уроном на цели от лица кастера и все =)
Удачи в начинаниях.
32

» WarCraft 3 / В чём ошибка с локальными переменными?

Что за идиотия? Описано во всех статьях по jass локалки объявляются в начале функции, вейты - зло, и так далее.
32

» WarCraft 3 / triggeraction внутри triggercondition

ScopteRectuS, синхронизация локальных данных, обычно юзают при системах сейв лоада.
32

» WarCraft 3 / triggeraction внутри triggercondition

ScopteRectuS, там екзекут а не call, в кондишенах не работают вейты и синх, что то там еще. Лимит операций другой, особо тонкостей не помню, но писать можно как угодно, ваше дело, особо ничего не дает. Просто return GetSpelLAbilityId() == "A000' было бы проще. Ах да, можно сделать одно условие на все спеллы и не плодить их, уже писал это не раз, могу дать свою карту для изучения, как реально сделать все спеллы удобно и не забивать себе голову подобной ахинеей.
32

» WarCraft 3 / triggeraction внутри triggercondition

Принятый ответ
Нахрена вам это? Почувствовали себя IseFrog'ом, triggercondition и нужны чтобы не нагружать ненужными действиями движок, а так же разделить код, на частый и легкий и тяжелый и редкий, у фрога так реализованы всякие дебафы вроде уроны, в кондишене проверяется от чего сработал триггер, если это таймер то нанести урон, иначе если триггер сработал от любого другого события то удалить весь эффект и выполнить утилизацию триггера...
32

» WarCraft 3 / Как узнать id номер боевой единицы, который применил ability

Принятый ответ
Nikolay36, очень просто GetUnitTypeId( GetSpellAbilityUnit() )
Как бы это что то ненормальное, спрашивать про элементарные вещи которые описаны в статьях по jass в 101 месте, да и вовсе есть список jass функций из common.j...
32

» WarCraft 3 / Как создавать предметы в нейтральном здании?

Ну разумеется, продаешь ты дамика - у него нет модели а есть только иконка и описание, сразу после покупки удаляем. Не забыв перед этим владельца дамика и его тип записать в переменные для дальнейшей работы.
32

» WarCraft 3 / Fervor, Critical, Evade (способности)

Довольно интересный способ реализации детекта физ урон, правда будет баговать с абилками типа "Жар приесподней", ну и для дальнего боя приказы не применимы, в среднем 0.25-0.40 сек. задержка между замахом и вылетом снаряда.
На основе рунных браслетов более надежно.
32

» WarCraft 3 / Покупка в спелбуках

PT153, Ничего - как вы не поймете, юниты, предметы - виджеты, у них есть хп, а то что вы видите на карте команд - Ability, когда вы покупаете предмет в лавке - это такая абилка рисует кнопки с иконками и описаниями предметов, сам предмет создается в виде виджета, т.е обьект с хп который сидит на карте, он не сидит в магазине, это фикция, особая абилка создает визуализацию покупки.
Windget и Ability этим все сказано.
Только способности можно засунуть в спеллбук, а есть только одна способность требующая для каста золото\дерево - поставка ресурсов.
Не понимаю зачем вам продавать юнитов\предметы в спеллбуке, когда есть поставка ресурсов.
Как отследить факт каста тем или иным игроком я уже писал.
32

» WarCraft 3 / Покупка в спелбуках

Принятый ответ
Верно, юнитов никак в спеллбук не засунуть. У поставки ресурсов можно поставить стоймость золотом и деревом.
32

» WarCraft 3 / Есть ли тут утечки, и где посмотреть полный список Jass команд?

Гуглим JASS API - полный список функций языка JASS.
точки удаляются специальной функцией RemoveLocation( ссылка на точку)
В jass точки особо не нужны, т.к есть возможность работать на прямую с координатами и не надо ничего записывать, удалять, обнулять и так далее.
32

» WarCraft 3 / Как сделать две способности на основе одной у юнита.

ClotPh, с ид сменится и код абилки, по ид движок смотри какую функцию вызвать чтобы сделать эффект абилки, нарисовать на ней кд и прочее...
32

» WarCraft 3 / Передача аргументов в функции callback'ов

Ну на болекспрах я не проверял, на таймеры и группы работает.
Болекспры должны кешироватся.
32

» WarCraft 3 / Обновление карты

Принятый ответ
FrigatPlay, то то и оно, она при загрузке фаталит, хотя нормально открывается в редакторе.
Копируй код из нее в другую карту, там нету ретурн бага, гуи онли... Но почему то фаталит, в логе написано что карта стартует без единого игрока, конфиг чтоли запорот...
32

» WarCraft 3 / Как сделать две способности на основе одной у юнита.

Alexey103, Никак. Если нужен автокаст бери к примеру ядовитые и ледяные стрелы, или другие подходящие по механике автокасты а эффект делай триггерно.