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

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

 
Харгард
Epic
offline
Опыт: 7,829
Активность:
Поменять точку запуска снаряда.
Имеется способность, которая:
- стартует снаряд, движущийся прямо
- циклически ищет вокруг него юнита
- если находит, то наносит ему урон и затем убивает снаряд

Проблема в том, что сразу же при использовании этой способности, юнит-кастер получает от нее урон и снаряд уничтожается.
Очевидно, что поиск, в первый же тик, находит кастера, и наносит ему урон.
(Если убрать кастера из списка разрешенных целей, то на месте запуска образуется зона, наносящая урон всем прочим юнитам, которые в нее войдут).

Вероятно, чтобы избавиться от такого эффекта нужно:
- сместить точку старта снаряда в сторону от позиции кастера, или
- задержать поиск, чтобы он не запускался для нескольких первых тиков

"Смещение запуска" в эффекте запуска было бы элегантным решением, но, оно не работает.
Куда копать?
Прикрепленные файлы
Тип файла: sc2map Mover.SC2Map (15.9 Кбайт, 5 просмотров )
Старый 01.05.2012, 19:48
Зевс
Адская Зверюга
offline
Опыт: 152,154
Активность:
Смещение работает. Пробуй комбинации.
Старый 02.05.2012, 23:23
Харгард
Epic
offline
Опыт: 7,829
Активность:
Зевс:
Смещение работает. Пробуй комбинации.
Не работает. Ни лаунч, ни импакт офсет.
Даже если сделать поиск целей через периодический алгоритм.
Разобрался с агентами. Запустил снаряд сперва с нестандартного аттач-поинта, а затем прикрутил к нему актера локального офсета.
Все равно - кастер получает урон первым. Идеи кончились.
Есть вариант исключить "Игрока" из фильтра поиска, но не желательно.

Отредактировано GraTuraL, 23.05.2012 в 22:45.
Старый 23.05.2012, 11:41
Темак
jass for everyone
offline
Опыт: 7,200
Активность:
я пробовал сделать нечто подобное, и единственный вариант здесь как раз:
GraTuraL:
исключить "Игрока" из фильтра поиска
а зачем игроку получать урон от своего заклинания? если тебе так надо можешь исключить только кастера.
Старый 24.05.2012, 13:04
Zolden

offline
Опыт: 1,588
Активность:
вот парочка отличных туториалов по снарядам с поиском:
крайне познавательно разобраться с ними, проблем после этого не будет
Старый 24.05.2012, 15:15
Харгард
Epic
offline
Опыт: 7,829
Активность:
Temak1, исключить кастера не выходит.
Не помогает ни добавление его в исключения, ни запрещение в поиске "на себя".
Потому что поиск запускается из алгоритма у снаряда(!).
Абилка может не наносить урон, а лечить или бафать. А если запрещен "Игрок" то на свои войска ее не поюзаешь.
Например. Есть абилка - бросить ближнему воину лечебное зелье, которое, пока оно летит, может перехватить и противник. Будет крайне нелепо, если
  1. Кастер будет сжирать его сам (как и получается).
  2. Нельзя полечить им другого юнита, принадлежащего этому игроку (исключен "Игрок").
Zolden, видел. У них у всех та же беда.
Стоит разрешить в целях "Игрока" - и кастер первым получит от своей абилки.
А со смещением графики снаряда мне больше помогла эта статейка

Отредактировано GraTuraL, 24.05.2012 в 15:54.
Старый 24.05.2012, 15:35
Zolden

offline
Опыт: 1,588
Активность:
Кстати, сейчас подумалось, что отсрочить время срабатывания твоего поискового алгоритма можно наложив на ракету второй алгоритм со временем действия в 1/3 секунды, чтоб снаряд успел отлететь от кастера. А у поискового алгоритма чтоб был валидатор на отсутствие второго алгоритма.
Впрочем, мне кажется, что есть способ сослаться на кастера даже если алгоритм добавлен изначально, а не при запуске.
Хотя, можно сделать так, чтоб у кастера запуск снаряда сопровождался наложением на снаряд поискового алгоритма, тогда значение "кастер" будет ссылаться на кастера.
Старый 24.05.2012, 16:06
Харгард
Epic
offline
Опыт: 7,829
Активность:
Zolden:
Хотя, можно сделать так, чтоб у кастера запуск снаряда сопровождался наложением на снаряд поискового алгоритма, тогда значение "кастер" будет ссылаться на кастера.
Так и сделал. Полет нормальный.
Только в поиске на кастера ссылается "Источник" его и надо исключать.
Старый 24.05.2012, 17:02
yellyex

offline
Опыт: 4,267
Активность:
Zolden:
Кстати, сейчас подумалось, что отсрочить время срабатывания твоего поискового алгоритма можно наложив на ракету второй алгоритм со временем действия в 1/3 секунды, чтоб снаряд успел отлететь от кастера. А у поискового алгоритма чтоб был валидатор на отсутствие второго алгоритма.
Браво! Вот именно так я и сделал всвоей карте. Была такая проблема, что снаряд взрывался прямо после запуска, так как срабатывал на ближайщий объект. До этого сумел сделать так, чтобы снаряд не реагировал на самого себя. Всё правильно, надо сделать отсрочку. У меня стоит на юните алгоритм (0.2 сек), в конце работы которого, запускается способность, запускающая нужный алгоритм.
Старый 25.05.2012, 18:31
Харгард
Epic
offline
Опыт: 7,829
Активность:
yellyex:
Браво! Вот именно так я и сделал всвоей карте. Была такая проблема, что снаряд взрывался прямо после запуска, так как срабатывал на ближайщий объект. До этого сумел сделать так, чтобы снаряд не реагировал на самого себя. Всё правильно, надо сделать отсрочку. У меня стоит на юните алгоритм (0.2 сек), в конце работы которого, запускается способность, запускающая нужный алгоритм.
Я так не стал делать.
Во первых у меня снаряд с алгоритмом поиска живет всего 0.25 секунд.
А во вторых у меня уже были эффекты, которые при запуске снаряда перебрасывают бафы с кастера на снаряд.
Старый 25.05.2012, 18:40
Зевс
Адская Зверюга
offline
Опыт: 152,154
Активность:
А запустить через persistent с offset'ами? Я только так делаю.
Старый 26.05.2012, 13:00
Zolden

offline
Опыт: 1,588
Активность:
Зевс:
А запустить через persistent с offset'ами? Я только так делаю.
Я как-то пробовал, но оффсетом персистента поменять точку запуска у меня не получалось, но сейчас я думаю, что надо было поставить в качестве места запуска не боевую единицу, а точку, тогда сработало бы... наверное
Старый 26.05.2012, 13:41
Харгард
Epic
offline
Опыт: 7,829
Активность:
Зевс:
А запустить через persistent с offset'ами? Я только так делаю.
Изначально я делал именно через него. А потом пришел к тому что:
  1. Абилке с персистентом требуется большее число эффектов.
  2. Агента при запуске снаряда создать все равно придется. Хотя бы для проигрыша звука.
Старый 26.05.2012, 17:13
Зевс
Адская Зверюга
offline
Опыт: 152,154
Активность:
Ну агентов не нужно бояться) они основа)
Старый 26.05.2012, 22:46

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

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

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

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



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