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

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

Ответ
 
Sebra

offline
Опыт: 5,603
Активность:
Как отличить способности, данные юниту, изученные им и предметные?
Ставлю перехват EVENT_PLAYER_UNIT_SPELL_ENDCAST и EVENT_PLAYER_UNIT_USE_ITEM.
Покупаю у гоблина посох телепортации, использую, получаю интересную вещь:
Использован предмет "Посох телепортации"...
Использована способность "Посох телепортации" уровня 1.
У героя такой способности нет, но GetUnitAbilityLevel(u,s) даёт 1.

Внимание вопрос :)

Как различить?

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

Пост ДаркЛорда про приказы был здесь, но сплыл :(

Sebra добавил:
То есть, если последний приказ был "использовать предмет", то это предмет.
Если всё, что угодно остальное - собственный скилл.

Так предлагаешь?
Старый 24.08.2008, 19:22
adic3x

offline
Опыт: 108,439
Активность:
надо смотреть как потоки пересекаются... чиорт, давно хочу накатать статью про потоки в варе, но времени катострафически нету (а когда есть я не в состоянии)

вполне возможно вопрос решается одной булькой)

ADOLF добавил:
Цитата:
Предложения "знать, какие способности у предметов, а какие у юнитов" не нужны

хм, если тока из любопытства? хз, как раз может быть самым простым вариантом...

таки делаешь перезарядку?)
Старый 24.08.2008, 22:15
Sebra

offline
Опыт: 5,603
Активность:
Цитата:
надо смотреть как потоки пересекаются... чиорт, давно хочу накатать статью про потоки в варе,
Давно хочу прочитать такую статью, но её нету.
Но при чём здесь потоки?

Цитата:
таки делаешь перезарядку?)
Думаю, пытаюсь, что можешь подсказать?
Старый 24.08.2008, 22:29
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
Давно хочу прочитать такую статью, но её нету.

потому что я ее еще не написал) ну в принципе там ничего сложного нету, но многое надо оттестить=/

Цитата:
Но при чём здесь потоки?

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

Цитата:
Думаю, пытаюсь, что можешь подсказать?

использовать разные равкоды для абилок, к примеру 'A***' и 'C***', при касте спела тупо сравнивать если спелл больше 0x41ffffff то значит сработала Цешная абилка
Старый 24.08.2008, 22:55
Sebra

offline
Опыт: 5,603
Активность:
Цитата:
тогдка как я писал все решается одним булеаном
Где писал, может думал?
Я вот предположил на каждого юнита запоминать последний приказ, тогда потоки ни при чём.

Цитата:
использовать разные равкоды для абилок
Это вариант базы данных - не об этом вопрос.
Старый 24.08.2008, 23:17
Vadim

offline
Опыт: 603
Активность:
В мануале проги ConvOrder:
Когда ты используеш предмет у юнита, юниту отдается приказ. Етот приказ должен быть в диапазоне 852008 + (номер слота заюзаного предмета - 1). Т. е. проверяй GetIssuedOrderId() <= 852013 and GetIssuedOrderId() >= 852008. Для отслежки ставь собития отдачи приказа в точку, в цель, без цели - все три вместе.
Старый 25.08.2008, 02:04
adic3x

offline
Опыт: 108,439
Активность:
кстате, а не пробывал при дропе итема рекриатить его? тогда на новом итеме дб пустой кулдаун + если что то аттачи на хандле перенести не такая уж проблема)

Цитата:
Где писал, может думал?


Цитата:
Сообщение от пост#2
вполне возможно вопрос решается одной булькой)
Старый 25.08.2008, 16:40
Sebra

offline
Опыт: 5,603
Активность:
Цитата:
В мануале проги ConvOrder:

Спасибо, конечно. Я про эту програмку забыл. Да и не смотрел её.
Про приказы я ещё в самом начале написал.
А там в мануале не сказано, как при использовании предметов вызываются абилы?
Цитата:
одной булькой)
Я подумал ...пива :)
Цитата:
на новом итеме дб пустой кулдаун
Это да, но надо ещё и с героя как то сбросить.
Старый 25.08.2008, 18:11
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
Это да, но надо ещё и с героя как то сбросить.

ну а у героя же идет обычный кулдаун абилы? или ты хочешь так:

скастовал, начался кулдаун, ты дропнул и поднял и у героя кулдаун сбилсо?
Старый 26.08.2008, 15:05
Sebra

offline
Опыт: 5,603
Активность:
А какой смысл сбивать кулдаун только у предмета?
Если герой на кулдауне, стоит поннять предмет, и предмет тоже на кулдауне.
Даже если его передать другому.
Я хочу:
  1. Понять, как это работает.
  2. Иметь возможность убрать кулдаун (триггерно) у любого (заранее неизвестного) предмета.
  3. Также иметь возможность сбросить кулдаун у любой абилы, но для этого ещё надо много разных проблем решить.
Вот что им стоило кроме UnitResetCooldown сделать UnitResetAbilityCooldown и ItemResetCooldown?
Старый 27.08.2008, 23:01
adic3x

offline
Опыт: 108,439
Активность:
  1. можно же вроде ремовить и добавлять абилу, это же снимет кулдаун? а для героев тогда делать тригерное изучение абил через спелл бук (хантер или кто то даже делал, где то лежит)
Старый 27.08.2008, 23:50
Sebra

offline
Опыт: 5,603
Активность:
Цитата:
ну а у героя же идет обычный кулдаун абилы?

С обычным можно справиться
Цитата:
можно же вроде ремовить и добавлять абилу, это же снимет кулдаун

А вот предметный кулдаун на герое мне не поддаётся.
Я пробовал удалять сработавшую абилу, даже давать и удалять её, не помогает. :(
Старый 28.08.2008, 23:01
Ответ

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

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

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

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



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