XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
aka_Diz

offline
Опыт: 99
Активность:
Помогите с триггерным спеллом
  1. Герой имеет способность "Оживление мертвых".
Базовое значение запаса здоровья оживляемого скелета равно, например 100.
Как сделать, чтобы максимальный запас здоровья этого скелета, становился равным (100 + 2 * Значение Разума героя).Решение_найдено
  1. Либо другой вариант. Можно ли как-то повысить наносимый урон у этого скелета, также в зависимости от значения атрибута героя.Решение_найдено
  1. Нужно чтобы эти ожившие скелеты, были неподконтрольны игроку, но при этом защищали героя и бегали за ним. Возможно ли это реализовать? И если да, то как? Решение_найдено
  1. Реально на ГУИ сделать Frostbolt рикошет? Чтобы при столкновении с целью, искал новую жертву в радиусе Х и отскакивал к ней. Решение_найдено
Новые вопросы.
  1. Поскольку, создаваемые мной спеллы, зависят от атрибутов героя (Сила, Ловкость и Разум), урон целям я наношу через триггер "Б.ед. - Damage Target..". [Так как в Редакторе Объектов нужно задавать конкретные значения, а у меня они динамические]. Таким образом Способности в Редакторе объектов носят лишь декоративный характер (графический эффект, описание ну и несколько характеристик, таких как Разрешенные цели, Радиус действия и.т.д). Так вот для некоторых способностей приходиться создавать Dummy, давать ему спелл, отдавать приказ на каст, работать с переменными, custom script'ами, потом удалять всё это, чтобы не засорять память, и всё это ради того, чтобы произошел лишь графический эффект, потому что сам урон наноситься вновь через триггер. Отсюда вопрос: Можно ли, создать Спецэффект каста спелла, с одной цели на другую (лишь анимацию полёта спелла), а весь урон рассчитать триггерно?
И кстати какие минусы в моём подходе, если кто-то уже сталкивался с такой затеей (имеется ввиду Наносить урон триггерно)? Вопрос_открыт
  1. Как создать способность с зарядами? Например воин активирует способность "Ярость", и следующие 5 атак пройдут с бонусным уроном +100%. Как это реализовать в триггерах и как реализовать отображение оставшихся зарядов? Возможно ли такое отображение на самой иконке способности? Например при активации спелла, появляется 5 зарядов, при каждой атаке заряды уменьшаются, и когда зарядов остаётся 0, то включался кулдаун на эту способность. Вопрос_открыт
[+] 1 пункт от XimikS: 1вопрос - 1тема

Отредактировано aka_Diz, 22.07.2010 в 03:10.
Старый 19.07.2010, 02:43
FunkieFoO

offline
Опыт: 7,159
Активность:
  1. можно, но сложно, просто сделай этим скелетам макс хп примерно на 1000, а при их создании устанавливай текущее хп на (100+(2*инт)), так же поставь им реген на ноль, чтоб хп не регенилось :)
  1. можно, при их создании пикать всех, заносить в массив, циклом создавать дамми и кастовать им спелл на повышение атаки
  2. просто создавай этих скелетов, при событии:
игрок выбрал юнита
условии:
выбраный юнит - твой скелет
делай действие:
выбор - очистить выбор для тригиринг плейер.
это первое,
далее, переодически отдавай приказ скелетам (они уже в массиве, отдавать будующие приказы можно ссылаясь на ячейки массива по отдельности, либо циклом на все сразу) патрулировать в позицию где стоит герой, тем самым они будут нападать на всех твоих врагов
Старый 19.07.2010, 06:31
aka_Diz

offline
Опыт: 99
Активность:
Выглядит это не лучшим образом, когда юнит (скелет) появляется с 10% хп. Да к тому же у меня есть масс хил, который будут получать эти скелеты, а значит нужно будет еще постоянно отслеживать чтобы их текущее здоровье не превысило (100+Инт*2). Хотя за вариант спасибо)
Про 2 что-то не понял, о каком спелле идет речь? Повышение атаки "Когти +1, +2 и.т.д.?". Если ты о нём, то не очень подходит. Так как я хотел повышать их атаку в зависимости от Интеллекта героя (Атака=Базовая атака + 0,4 * Инт героя). Хотя как вариант рассмотрю.
  1. Deselect это же так просто... почему я не догадался?)) Мой вектор мыслей был направлен на смену фракции этим скелетам на союзную, ну и через патрулирование защита героя, но недостаток заключался в том, что если скелеты добьют цель, то денег герой не получит.
На данный момент сделал 3 триггера для патруля.
1й: при создании скелета добавляет его в отряд и отдает приказ патрулировать за героем.
2й: в случае если герой атакован, то скелеты идут к точке атаковавшего, нападая на всех по пути.
ждать 5 сек.
Run 3й триггер
3й: Pick всех скелетов в отряде и снова приказ на патрулирование за героем.
В целом система неплохая и работает. Если героя перестают атаковать, то через 5 сек, скелеты становятся простым патрулем, а если героя атакуют, то они агряться и кидаются на всех вокруг =)

Отредактировано aka_Diz, 20.07.2010 в 06:26.
Старый 20.07.2010, 05:55
FunkieFoO

offline
Опыт: 7,159
Активность:
в первом случае можно дать скелетам иммунитет к магии, либо просто настрой свое лечение чтоб оно например не действовало на "духов", а в ро скелетам в классификации поставь этих самых духов. тем самым этот спелл не будет на них действовать
2 в качестве варианта. если у тебя конечно не 100500 уровней героя, дай герою спеллбук. туда засунь ауру атаки, настрой эту ауру чтоб действовала только на скелетов (с клас-ией "духи"), далее при событии:
-юнит(герой) повышает уровень,
делай действие:
считаешь текущий интелект героя,
затем удаляешь ауру из спелбука, даешь сново эту ауру, но уже 1 лвла, в зависимости от интелекта устанавливай уровень ауры
все как бы реализуемо на гуи :)
FunkieFoO добавил:
ах да, во втором варианте перерасчитывай интилект при поднятии/покупке/продаже итд предметов, т.к. бонус интелекта тож учитывай
Старый 20.07.2010, 07:08
aka_Diz

offline
Опыт: 99
Активность:
про хил для скелетов: спелл как раз таки должен их лечить)
а с аурой в спеллбуке прикольно. попробую че-нить намутить. спс
п.с. правда уже ощущаю геморрой со всем этим)
Еще пара вопросов возникла:
Нужно отследить время полета спелла до цели. Где найти в триггерах параметры дистанция между целью и героем, а также скорость пущенного заклинания
и еще:
на ГУИ реально сделать Frostbolt рикошет? Чтобы при столкновении с целью, искал новую жертву в радиусе Х и отскакивал к ней.

Отредактировано aka_Diz, 20.07.2010 в 07:32.
Старый 20.07.2010, 07:18
Sacrouden

offline
Опыт: 2,079
Активность:
aka_Diz:
Где найти в триггерах параметры дистанция между целью и героем
Это условие - расстояние между двумя точками (позиция цель способности) и (применяющий юнит).
aka_Diz:
также скорость пущенного заклинания
Этого в триггерах нет =(
aka_Diz:
на ГУИ реально сделать Frostbolt рикошет? Чтобы при столкновении с целью, искал новую жертву в радиусе Х и отскакивал к ней.
Да. Когда герой применяет способность, создавай дамми юнита в позиции цели, дай ему аналогичную способность и отдай приказ на фростболт случайного юнита в радиусе Х.
К сожалению я незнаю как сделать, чтобы фростболт летел к следующей цели только после того, как он коснется первой цели, поэтому проще всего дать фростболту очень быструю скорость или же сделать его самого дамми юнитом и постоянно двигать к цели, а в условии поставить: расстояние между двумя точками (позиция фростболт) и (позиция цель способности) меньше или равно 50. Как только расстояние меньше 50, создавать дамми и приказать стунить цель, и снова точно также на следующую.
Старый 20.07.2010, 08:54
FunkieFoO

offline
Опыт: 7,159
Активность:
1 позиция между юнитами поделенная на скорость снаряда спелла, если я тебя правильно понял
Старый 20.07.2010, 09:02
Sacrouden

offline
Опыт: 2,079
Активность:
FunkieFoO:
позиция между юнитами поделенная на скорость снаряда спелла
Не надо ничего делить в условии. Или ты имеешь ввиду ждать время (позиция между юнитами поделенная на скорость снаряда)? Это не сработает, все равно нужно тогда ставить высокую скорость снаряда, иначе юнит, имея приличную скорость, может просто убегать от снаряда.
Старый 20.07.2010, 09:05
SkiL

offline
Опыт: 9,321
Активность:
Sacrouden,
Не надо ничего делить в условии. Или ты имеешь ввиду ждать время (позиция между юнитами поделенная на скорость снаряда)? Это не сработает
Сработает, чему здесь не срабатывать? Всегда так делали.
Старый 20.07.2010, 09:21
Sacrouden

offline
Опыт: 2,079
Активность:
SkiL, если у юнита цели способности высокая скорость он может начать убегать от снаряда, тем самым увеличевая расстояние между собой и применяющим юнитом. Получится, что время прошло и юнит получил урон, а снаряд всё еще летит за ним.
Старый 20.07.2010, 10:05
KPOKODIL
В разработке
offline
Опыт: 10,262
Активность:
aka_Diz, вот 3й пункт, я уже делал когда-то подобное.
Прикрепленные файлы
Тип файла: w3x Aura of Necromancy for IIIArtesIII.w3x (25.2 Кбайт, 15 просмотров )
Старый 20.07.2010, 10:11
aka_Diz

offline
Опыт: 99
Активность:
Дистанцию между точками в триггерах нашел, а скорость снаряда как я понял надо брать из Редактора Объектов для каждой конкретной способности... ок, с этим разобрался.
Сделал рикошет. С дейтсвием Wait (Distance between points) и небольшой задержкой в 0,5 сек. Получился своеобразный фростболт-лягушка =)
п.с. Жаль конечно что нельзя реализовать рикошет спелл как в HoN (Heroes of Newerth) у героя Voodoo Jester "Acid Coctail" (кто знает - поймёт).
KPOKODIL, хорошая аура, мне понравилась. Авто создание, полууправляемые скелеты, в случае отдаления от героя бегут к нему. Правда скелеты, как и в моей "системе" иногда тупят. Вместо того чтобы сражаться они начинают ломится к герою. Но это ерунда. Там дистанцию поправить и все ок будет. спс за карту.
Остался нерешённым 1 вопрос. У моей способности "Поднять мертвых" только 1 уровень. Естественно к концу карты они станут бесполезными если не будут усиляться. Как всё-таки повысить максимальный запас здоровья этим скелетам? Кол-во бонусных ХП должно зависеть от Интеллекта героя. Можно на JASSe. Я попробую разобраться.
Старый 21.07.2010, 02:35
Scarecrow
Иннеар ORPG
offline
Опыт: 3,289
Активность:
aka_Diz, вот
Хорошая наработка, под 1.24 точно работает, сам юзаю в своей карте и не жалуюсь. Там ничего сложного, перенести абилки в свою карту, перенести код и поправить равкоды этих самых абилок на соответствующие твоим. Потом просто
call SetUnitMaxState(U, UNIT_STATE_MAX_LIFE, MaxHP)
Старый 21.07.2010, 08:48
FunkieFoO

offline
Опыт: 7,159
Активность:
лучше повышай скелетам хп апгрейдом, а интилекс считай как я описал выше
Старый 21.07.2010, 09:50
Scarecrow
Иннеар ORPG
offline
Опыт: 3,289
Активность:
FunkieFoO, апгрейду сколько уровней надо сделать? Ты представляешь? даже если предположить что интеллект героя не поднимется выше 200 с учётом апгрейдов, всё равно это столько же уровней апгрейда. Засорение объектов, то есть тормоза при загрузке карты. А использование этой наработки нареканий не вызывает. К тому же оно универсальнее
Старый 21.07.2010, 10:32
Master_chan
Полуночный командир
offline
Опыт: 15,660
Активность:
макс хп юнитов повышается томами на хп по степеням двойки
Старый 21.07.2010, 11:20
Scarecrow
Иннеар ORPG
offline
Опыт: 3,289
Активность:
Master_chan, там подобный вариант реализован, только степени не двойки а десятки. Может и не так быстродейственно, зато всё работает и не нужно лишней мороки самому писать. А со степенями двойки кажется на хайве видел наработку
Старый 21.07.2010, 11:45
SRes
1110101000
offline
Опыт: 9,997
Активность:
1. Томы на ХП
2. Томы на ДМГ

При создании скелета давай ему абилку предметов героя, давай ему опр. кол-во томов, а потом забирай абилку. Все просто, лагать при нормальном исполнении не будет.
Старый 21.07.2010, 12:54
aka_Diz

offline
Опыт: 99
Активность:
всем большущее спасибо, буду разбираться)
Старый 21.07.2010, 16:29
aka_Diz

offline
Опыт: 99
Активность:
  1. Новые вопросы. Поскольку, создаваемые мной спеллы, зависят от атрибутов героя (Сила, Ловкость и Разум), урон целям я наношу через триггер "Б.ед. - Damage Target..". [Так как в Редакторе Объектов нужно задавать конкретные значения, а у меня они динамические]. Таким образом Способности в Редакторе объектов носят лишь декоративный характер (графический эффект, описание ну и несколько характеристик, таких как Разрешенные цели, Радиус действия и.т.д). Так вот для некоторых способностей приходиться создавать Dummy, давать ему спелл, отдавать приказ на каст, работать с переменными, custom script'ами, потом удалять всё это, чтобы не засорять память, и всё это ради того, чтобы произошел лишь графический эффект, потому что сам урон наноситься вновь через триггер.
Отсюда вопрос: Можно ли, создать Спецэффект каста спелла, с одной цели на другую (лишь анимацию полёта спелла), а весь урон рассчитать триггерно?
И кстати какие минусы в моём подходе, если кто-то уже сталкивался с такой затеей (имеется ввиду Наносить урон триггерно)?
  1. Как создать способность с зарядами? Например воин активирует способность "Ярость", и следующие 5 атак пройдут с бонусным уроном +100%. Как это реализовать в триггерах и как реализовать отображение оставшихся зарядов? Возможно ли такое отображение на самой иконке способности? Например при активации спелла, появляется 5 зарядов, при каждой атаке заряды уменьшаются, и когда зарядов остаётся 0, то включался кулдаун на эту способность.

Отредактировано aka_Diz, 22.07.2010 в 03:09.
Старый 21.07.2010, 22:07
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 16:36.