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, Никак. Если нужен автокаст бери к примеру ядовитые и ледяные стрелы, или другие подходящие по механике автокасты а эффект делай триггерно.
32

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

Такс а карта на обычном гуи, но походу битая...
Она фаталит при загрузке...
32

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

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

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

Ну вспомни,
function H2I takes handle h returns integer 
return h
return 0
endfunction 
Видишь 2 ретурна, при этом первый возвращает нихрена не целое число, это ретурн баг ( в краце) , это усе работало до 1.24а, щас не работает. Раньше это юзали не как мемхак сейчас а для того чтобы превратить хендлы в целые числа, записать в геймкеш, ну а после вернуть обратно при необходимости. Нужно найти все такие функции и выпилить их из карты, а сохранение в кеш заменить на сохранение в хештаблицу...