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

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

Ответ
 
Integro
старожило
offline
Опыт: 630
Активность:
Определение урона.
Какими путями можно определить текущий, общий(с надбавками), урон у юнита u? Даже если этот юнит является героем и унего есть артефакты и прочее что добовляет урон.
Старый 13.12.2008, 17:45
agentex

offline
Опыт: 34,534
Активность:
создать его невидимую копию, создать дамми юнита, заставить атаковать копию дамми, и отловить нанесенный урон. других вариантов вроде нет
Старый 13.12.2008, 17:59
Integro
старожило
offline
Опыт: 630
Активность:
agentex, в этом случае надо дамми юниту прописывать специальный тип брони, чтобы небыло "сокращений" урона от брони и прочего... А если нету "свободного" типа брони, тогда урон будет "сокращенным" и число полученное при нанесении этого урона будет не совпадать с самим уроном юнита...
Старый 13.12.2008, 18:03
Elemental
Element Of Water
offline
Опыт: 1,072
Активность:
Или как вариант (безумный) вычислять урон по формуле, проверять какие предметы есть, бонусы от абилок и т.к. Кодик страниц так на ..цать напишешь и все норм будет:)
Старый 14.12.2008, 10:11
PlayerDark
Coraline
offline
Опыт: 10,569
Активность:
Вобще то действительно можно заставить героя атаковать, однаго при этом выпадает случаеное значение и изменяется модификатором брони. Поэтому проблема наиболее обшая, нужно узнать случай для котрого требуется определить урон и решать уже на его условиях.
Старый 14.12.2008, 10:43
ExArt

offline
Опыт: 13,734
Активность:
Integro Можно же полученное значение умножить на модификатор если знать тип атаки героя и брони дамми. Ну и если это всё неизвестно, остаётся только база предметов и проверки на их наличие.


PlayerDark Зачем? Вариантов всё равно всего 2.
Старый 14.12.2008, 10:55
PlayerDark
Coraline
offline
Опыт: 10,569
Активность:
Первый способ собще глючный, я бы никому не рекомендовал его использовать.
Старый 14.12.2008, 11:06
Integro
старожило
offline
Опыт: 630
Активность:
предметы это одно, а если еще дополнительно урон будет увеличен от различных спелов и аур?
Старый 14.12.2008, 11:14
Scorched

offline
Опыт: 7,912
Активность:
ну дамии все равно, он и этот урон тоже словит
Старый 14.12.2008, 12:14
ExArt

offline
Опыт: 13,734
Активность:
Integro Тогда ещё и базу бафов надо создавать с учётом уровней...

PlayerDark А чё уж такого прям глючного? Если это надо для одного спела, вполне подойдёт...

Отредактировано ExArt, 14.12.2008 в 12:29.
Старый 14.12.2008, 12:21
Elemental
Element Of Water
offline
Опыт: 1,072
Активность:
Если заставлять атаковать героя это будет немного нелепо при игре смотреться.. А вот если триггерно создать иллюзию и уже ею атаковать........:)
Старый 15.12.2008, 12:54
agentex

offline
Опыт: 34,534
Активность:
Elemental, а теперь внимательно прочитай второй пост.
Старый 15.12.2008, 15:30
FEARSTARTER
desert eagle
offline
Опыт: 19,284
Активность:
на сколько я знаю по опыту того что я делал, урон не когда не наносится точно помойму, тоесть он всегда будет колебаться + - . если у героя атака 15 ед то в бою он может нанести и 13 и 16 ед урона, короче всегда будет колебаться) или это можно настроить? :)
Старый 15.12.2008, 16:16
agentex

offline
Опыт: 34,534
Активность:
ну поставить в Бой - атака кости и грани на 1 помойму так
Старый 15.12.2008, 16:28
Integro
старожило
offline
Опыт: 630
Активность:
Урон колеблится и будет колебатся, все это идет в зависимостях от количества брони у цеkи, расбросанность урона у атакующего, тип атаки, тип брони, и тд...
Старый 15.12.2008, 18:32
akkolt

offline
Опыт: 13,826
Активность:
Омг, для этого даже нативка есть:
Код:
constant native GetEventDamage takes nothing returns real


akkolt добавил:
Но она не универсальна )
Старый 15.12.2008, 18:36
Integro
старожило
offline
Опыт: 630
Активность:
Цитата:
Но она не универсальна )


Как я знаю эта функция определяет полученный урон, именно полученный(сразу с "надбавками" и "убавками"), а не тот который истинный...
Старый 15.12.2008, 18:57
akkolt

offline
Опыт: 13,826
Активность:
Цитата:
Какими путями можно определить текущий, общий(с надбавками), урон у юнита u? Даже если этот юнит является героем и унего есть артефакты и прочее что добовляет урон.

Цитата:
Как я знаю эта функция определяет полученный урон, именно полученный(сразу с "надбавками" и "убавками"), а не тот который истинный...

Ничего не понял... какой именно урон нужен?
Старый 15.12.2008, 19:15
agentex

offline
Опыт: 34,534
Активность:
атаку героя ему нужно узнать...
Старый 15.12.2008, 19:16
akkolt

offline
Опыт: 13,826
Активность:
Ну вообще можно при инициализации записать в массив доп дамаг каждого предмета, а потом складывать значения каждого из этих предметов (имеющихся у героя), и вычитать это значение из GetEventDamage.
Хотя гемор на пол дня )

akkolt добавил:
Можно сделать универсальней, но это будет изврат.

akkolt добавил:
К примеру создать даммика, при атаке героя копировать его предметы по очереди нашему дамми, обычную атаку помощника мы знаем, тоесть этим мы будем находить доп урон каждого предмета, а затем суммировать это число, и вычитать его из GetEventDamage.

akkolt добавил:
Хотя проще давать предметы не по очереди а сразу... =)

akkolt добавил:
Создам ка я систему считывания дамага =)
Старый 15.12.2008, 19:24
Ответ

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

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

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

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



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