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

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

Ответ
 
quq_CCCP
Я белый и пушистый!
offline
Опыт: 94,185
Активность:
DioD, ну он то и ненужен, 100% реген юнита это как крит, нельзя его отловить, не говоря о том что слишком много фактором могут влиять на хп юнита...
Старый 29.12.2012, 07:55
Extremator

offline
Опыт: 40,019
Активность:
Много накидали текста... я лишь укажу на суть от своего лица
Отловить реальный реген юнита - невозможно
но можно имитировать подсчёт этих данных...
например каждые 0.10 сек проверть хп юнита, если оно увеличелось - уменьшать его на эту разницу от предыдущего значения... запоинмать его текущее хп (это и будет предыдущим значением в следующие 0.1 сек и так далее)
  1. если юнит получит баф регена - анти-реген усилится, будь внимателен тут
  1. если юнит получит урон - анти-реген недодаст отрицательного регена
  1. если юнита хильнуть Благодатью - то в следующий момент он может не просто не восстановить 200 хп, а ещё и потерять столько же! хоть это и не реген, а прямой хил
в общем это такая не очень хорошая задумка по дефолту, искать реген юнита
Старый 29.12.2012, 21:42
DimanTOoBS

offline
Опыт: 5,791
Активность:
вот нашёл у себя пример способности обращающий реген
Прикрепленные файлы
Тип файла: w3x Degen.w3x (20.3 Кбайт, 7 просмотров )
Старый 29.12.2012, 22:05
SID69
DET
offline
Опыт: 19,693
Активность:
chaos_vortex:
в том то и дело что мне нужно как раз найти "родную" регенерацию юнита и наносить такое же количество урона. в общем, можно сказать,просто остановить реген хп
А не проще ли, просто убрать регенерацию в РО!?
Старый 29.12.2012, 23:04
quq_CCCP
Я белый и пушистый!
offline
Опыт: 94,185
Активность:
Extremator:
Отловить реальный реген юнита - невозможно
но можно имитировать подсчёт этих данных...
10 раз пытались сказать об этом автору другими словами, но он похоже не понял и заперся в себе, наверное подумал что мы заумные тролли... тьфу -тьфу
quq_CCCP добавил:
MMIceStar:
А не проще ли, просто убрать регенерацию в РО!?
нет, ибо это совсем нето, суть в том чтобы у юнита под неким негативным баффом хп не восстанавливалось, только от мгновенных хилов типа Благодать.... некое подобие ульта аппарата из доты....
Старый 30.12.2012, 07:02
Diaboliko
Silenced by Diaboliko
offline
Опыт: 16,108
Активность:
Ну коли тред еще открыт, Я бы реализовал так(корректнее, чем ранее предложенные варианты):
Создается 1 триггер на применение способности. События- периодическое и на получение урона.
Каждые 0.1 сек.:
Если имеется бафф способности(с ним намного проще работать, ну и поможет избежать лишнего кода если дважды кинуть на юнита скилл) если юнит жив, из хэша по ключу триггера извлечь реальную переменную, определяющую относительно чего определяем регенерацию. Переменную эту меняет событие о полученном уроне и сам периодический ивент, думаю не нужно объяснять как и почему. Недостаток в восприятии лечения потами/магией в качестве регенерации, но, возможно, выход есть и здесь. Предположу что нанесение отрицательного урона здоровье не вернет, но хз. Я все делаю триггерным, как правило, так что проверка на баф и парочка условий корректируют ситуацию в нужную сторону.
Старый 30.12.2012, 14:28
Romeno

offline
Опыт: 3,167
Активность:
Имхо DioD, расписал единственный полный вариант решения данной проблемы...
Кроме как: создать базу данных юнит - его базовый реген, базу всех абилок/бафов считающимися регеном, базу предметов изменяющих реген, такое сделать нормально невозможно.
Да и для определения регена нужно ещё узнать IsPointBlighted (хотя для юнитов вышедших с порчи и зашедших на неё есть небольшая задержка, после которой они перестают или начинают регенерировать), и ночь сейчас или день.
Старый 31.12.2012, 02:26
DimanTOoBS

offline
Опыт: 5,791
Активность:
Romeno, может лучше просто убиться чем делать для этой ерунды базу данных ещё и проверять местность на порчу ..................................................
уже разжевали как только можно а ответы всё появляются и появляются, даже пример скинули, может закроете уже тему????
Старый 31.12.2012, 11:25
DioD

offline
Опыт: 45,134
Активность:
я в своей карте для возможности отменять реген сделал его полностью триггерным, в результате у меня юниты не регенирируют ни ману ни ХП в бою и еще 3 секунды после, очень удобно.

база данных даже на карту уровня доты занимает около 200 строк, все события изменяющие реген идут через CATALOG.EVENTBUS совершенно ненагрузный метод, учитывая что героев как максимум 12, а обычным юнитам это не надо.
Старый 31.12.2012, 13:13
Romeno

offline
Опыт: 3,167
Активность:
DimanTOoBS, Можно и убиться, но если хотеть таки сделать его и не только и потом много других фишек с регеном (возможно), то об этом стоит подумать)
Старый 02.01.2013, 23:58
Ответ

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

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

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

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



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