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

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

Закрытая тема
 
ShadoW DaemoN

offline
Опыт: 37,078
Активность:
Отлов пассивной способности
(Хмм, не знаю была ли такая тема раньше, по крайней мере ничего похожего не нашел)
Для чего нужно

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

Суть

Герой имеет "видимые" способности, выполняющие чисто интерфейсные функции (показ подсказки, иконки). Герою дается рабочая копия этой абилки с двумя уровнями. Первый с нулевым шансом, второй - 100 %. Затем, при определенном событии (обыкновенно, "юнит атакован"), вычисляется случайное число, от которого зависит, будет ли включена способность (уровень => 2) или нет. При следующей атаке способность отключается (уровень => 1).

Полезность

Можно сделать шанс, зависящий от какого-либо параметра. Например, чтобы способность уворота зависела от ловкости. (см. карту-пример Dexterity).
Прикрепленные файлы
Тип файла: w3x Dexterity (jass).w3x (16.8 Кбайт, 101 просмотров )
Тип файла: w3x PATrigDetect (jass).w3x (15.8 Кбайт, 104 просмотров )
Старый 16.06.2007, 19:50
Вандалыч

offline
Опыт: 1,047
Активность:
Щас гляну. Думаю полезная вещ.
Старый 16.06.2007, 20:06
EviLInside

offline
Опыт: 3,543
Активность:
Зачёд :):
Старый 17.06.2007, 14:52
J
expert
offline
Опыт: 48,447
Активность:
так себе... задумка конечно неплохая, но всеже есть некоторые ошибки:
  1. Как я понял из твоего кода периодические выполнение if-ов, т.е. при первом ударе устанавливает абилку, а при втором разе убирает, исключает возможность срабатвания абилки дважды подрят, т.е. фактический процент шанса удара уменьшается в два раза.
  1. Ненадо обнулять реальные и целочисленные переменые
переменые указатели нужно обнулять только те в которых содается новый обьект, имеено создается
И вообще, мало кому нужны регистр срабатывания пассивной абилки при начале атаки, т.к. болшее значение имеет улавливания ее срабатывания во время удара, вот если сможеш зделать во время удара (сразу предупрежу что это сложно), то это уже будет хорошо.
Старый 17.06.2007, 21:25
ShadoW DaemoN

offline
Опыт: 37,078
Активность:
Цитата:
Сообщение от Jon
2) Ненадо обнулять реальные и целочисленные переменые
переменые указатели нужно обнулять только те в которых содается новый обьект, имеено создается

привычка

Цитата:
Сообщение от Jon
И вообще, мало кому нужны регистр срабатывания пассивной абилки при начале атаки

т.к. юнит при атаке может промахнуться.

Цитата:
Сообщение от Jon
вот если сможеш зделать во время удара (сразу предупрежу что это сложно), то это уже будет хорошо.

Ты имеешь в виду через событие "a unit takes damage"?
Старый 18.06.2007, 14:11
J
expert
offline
Опыт: 48,447
Активность:
да
Старый 18.06.2007, 14:37
p01nTT

offline
Опыт: 11,160
Активность:
Цитата:
Сообщение от Jon
да

имхо если он найдет способ отследить пассивку от урона, то он найдет способ детектить атаку,а этих способов пока только 2, оба используют евент any unit takes any damage, который при большом количестве юнитов срабатывает очень много раз, и если уж на то пошло, что б использовать такую систему, то можно просто сделать триггерный критический удар, без абилок
Старый 18.06.2007, 15:21
FoK_KruGer
<3 Vocal Trance
offline
Опыт: 19,940
Активность:
Низачод ибо
Цитата:
т.е. при первом ударе устанавливает абилку, а при втором разе убирает, исключает возможность срабатвания абилки дважды подрят

--> если у тя шанс 99,9% то всеравно будет через 1 работать а это глупо например для уклонения.
p01nTT тоге прав.

Мона попробовать сделать шанс между
Цитата:
абилки с двумя уровнями
при начале атаки и убирать ее сразу после действия. Но имхо все же будет бред тк лагать будет страшно если (допустим при уклоне) тебя бьют 200 юнитов О_о

Отредактировано FoK_KruGer, 18.06.2007 в 16:09.
Старый 18.06.2007, 16:00
p01nTT

offline
Опыт: 11,160
Активность:
Цитата:
и иба p01nTT.

непонял
Старый 18.06.2007, 16:04
ShadoW DaemoN

offline
Опыт: 37,078
Активность:
p01nTT, дело в том, что кроме критики и уворота есть и другие шансовые пассивки.
FoK_KruGer, я так понял, ты предлагаешь после takes damage убирать.
Насчет 200 юнитов - ^_^, я в такую карту никогда не буду играть. максимум, сколько я видел - около 15 на 1.
Старый 18.06.2007, 16:49
p01nTT

offline
Опыт: 11,160
Активность:
Цитата:
Сообщение от ShadoW DaemoN
p01nTT, дело в том, что кроме критики и уворота есть и другие шансовые пассивки.

Любую пассивку можно сымитировать триггерно
Старый 18.06.2007, 21:35
FoK_KruGer
<3 Vocal Trance
offline
Опыт: 19,940
Активность:
Цитата:
takes damage убирать.

Но тут тож трабл - ПРи уклоне дамага то не будет
Цитата:
максимум, сколько я видел - около 15 на 1.

а игракоф 12 О_о
И юнитов может былть у них тоже по 100 (если не герою такую абилу дать) (Т.е. пик нагрузки при 12*100*15( И небудет глючить чтоль стока мувать ремувать раз ??)
Кароче бедет лагать всеравно даже при 100 действиях.
Старый 18.06.2007, 23:10
p01nTT

offline
Опыт: 11,160
Активность:
Короче вывод: система детекта атаки вызывает меньше нагрузки и работает правильней, чем система ShadoW DaemoN
Старый 19.06.2007, 08:58
ShadoW DaemoN

offline
Опыт: 37,078
Активность:
Цитата:
Сообщение от p01nTT
Любую пассивку можно сымитировать триггерно

Так-то оно так, но для "не очень" разбирающихся людей сделать будет сложно.

FoK_KruGer, хм, мысль у тебя уехала куда-то), вот прямо у всех будет эта абилка. Вообще я рассчитывал, что это будут юзать в РПГ.

У меня возникла идея насчет уворота: в событии "юнит атакован" сделать регистрацию на получение урона. При получении урона некая переменная N меняет свое значение (с 0 на 1 допустим). Отдельный таймер будет проверять, если N == 1, то сбросить на 0, если N == 0, то сказать "уворот". Для каждого юнита нужно создать свою переменную (или использовать CV, или game cache)
Старый 19.06.2007, 11:38
Закрытая тема

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

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

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

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



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