Здравствуйте хочу сделать аутокаст атаку на подобие "огненной стрелы" - но делающие свой эффект? Подскажите, пожалуйста, как лучше это сделать.
Например при попадании именно с использованием аутокастной атаки - наносить дополнительный магический триггерный урон.
Спасибо!
p.s. Впервые за 3 года зашел, пытаюсь все вспоминать.

Принятый ответ

Chosen2, источников урона огня может быть бесконечное множество. Крч, я решил, как писал выше, все сработало.

Событие EVENT_PLAYER_UNIT_DAMAGED - условия писать не буду. Крч ловлю получение урона, Проверяю баф "отравленной стрелы", удаляю бафф, наношу урон. Все шикарно отрабатывает с максимальной скоростью атаки в игре. Все происходит моментально, т.к. триггер ловит баф во время получения урона. Нет ни таймеров, ни задержек, ни переключений! Очень простой скрипт получился. Недочеты не приходят в голову, да их и не будет, ведь отрабатывает моментально!

Приложил скрин кода действий

Правда стрелы не "огненные стрелы" - они не оставляют бафа, а "отравленные стрелы", но с иконкой огненных в офиц. варике.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
18
2 года назад
Отредактирован EugeAl
0
Хм. Без мемхака можно попробовать что то типа
Триггер Юнит атакован
Если юнит атакующий имеет абилку огненная стрела
Определить количество маны у героя, сохранить его в переменную
Подождать 1 секунду
Опять Определить количество маны (если огненная стрела съедает ману, количество
маны будет меньше
Если кол-во маны 2 меньше чем кол-во маны 1 (детект использования огненной стрелы)
То сделать нужный эффект абилки, нанести доп урон, итд
Как то так попробуй примерно) Ну и отполируй, чтобы по таймингам синхронно было.
0
16
2 года назад
0
EugeAl, спасибо за вариант, но это не слишком криво. Я думал мб как-то через damagesource можно, да и функция мб какая есть, там очень много функций появилось в новой версии, только вот списка я в инете не нашел.

Нашел что-то вроде "Для этого есть событие получения урона, получил урон + есть бафф от стрелы", если баф вешается до урона - то можно сделать действия и стереть баф. Только вот, как я говорил, не помню, как работает, попробую так.
0
27
2 года назад
0
TeX13, кастомную атаку либо мемхак
0
16
2 года назад
0
rsfghd, напомни мне, пожалуйста, что такое мемхак, мне как-то скидывали функцию для отлова значения брони, говорили, что он мемхак, если что работаю с официального варика. Кастомную атаку не знаю, как сделать четко с ренжом. Но меня интересует, что такое мемхак.
0
18
2 года назад
0
TeX13, А, ну в новой версии может быть и есть функция отлова урона на любого юнита, я то писал для старой версии.
0
27
2 года назад
0
TeX13, ты должен быть прошаренным чтобы отловить стрелу (даже я не умею чв), мемхак вот xgm.guru/p/wc3/memoryhackapi
я бы сделал кастомной атакой, мне так проще да и рикошетики там всякие можно делать, прямо в полёте менять модель и т.д. и т.п.

отловить броню можно кстати и без мемхака xgm.guru/p/wc3/get-unit-armor

мемхак дарует тебе новый функционал в обмен на исключение старших патчей и небольшую потерю аудитории (мемхака боятся а так же например на айкапе (вроде) чтобы хостить карту с ним нужно повыеживаться)
1
16
2 года назад
1
EugeAl, так это и в старой можно было делать через jass. Можно отловить тип урона стрелы; цель, наносящую урон; баф получающего урона; разницу маны источника урон; - но это все не исключает маловероятные события, а мне нужен идеальный скрипт. Если я не ошибаюсь, на моей памяти в событиях получения урон (их 2) есть свои фишки с моментальным применением. Одно срабатывает до урона, другое после. Вроде как одно из них в момент урона накидывает баф так, что если сделать действие - все пройзойдет единаразово без исключений согласно условиям, в противном случае можно поколдовать с этими двумя событиями в одном скрипте. Я отпишу, как протестирую.
0
10
2 года назад
0
Рекомендую damage engine использовать, в нем можно просто добавить событие "юнит получает урон" и фильтрануть по источнику и типу урона, в твоем случае "огонь"
0
16
2 года назад
Отредактирован TeX13
0
Chosen2, источников урона огня может быть бесконечное множество. Крч, я решил, как писал выше, все сработало.

Событие EVENT_PLAYER_UNIT_DAMAGED - условия писать не буду. Крч ловлю получение урона, Проверяю баф "отравленной стрелы", удаляю бафф, наношу урон. Все шикарно отрабатывает с максимальной скоростью атаки в игре. Все происходит моментально, т.к. триггер ловит баф во время получения урона. Нет ни таймеров, ни задержек, ни переключений! Очень простой скрипт получился. Недочеты не приходят в голову, да их и не будет, ведь отрабатывает моментально!

Приложил скрин кода действий

Правда стрелы не "огненные стрелы" - они не оставляют бафа, а "отравленные стрелы", но с иконкой огненных в офиц. варике.
Загруженные файлы
Принятый ответ
2
18
2 года назад
2
TeX13, а зачем ты использовал эти функции BJ? Они же фальшивые, только работу замедляет (посмотри на них в function list).
0
16
2 года назад
0
EugeAl, бро, я не знаю альтернативные(((
3
27
2 года назад
3
TeX13, подсветку нужно юзать, теш
альтернативы можно посмотреть в blizzard.j, оттуда и вызываются нативки, к примеру RemoveBuff (или как оно там), это UnitRemoveAbility (нативка), но без подсветки нет смысла париться, если ты конечно по памяти уже не запомнил какие у нативок аргументы и что они возвращают
4
18
2 года назад
4
TeX13, это не альтернативные, это оболочки, состоящие из нормальных функций. 90% из оболочек - бестолковые буквально. Как написал тебе rsfghd, их можно в common.j , blizzard.j глянуть. А по поводу подсветки - скачай старый компилятор JassCraft и запихни туда common.j , blizzard.j и будет норм подсветка, настраиваемая через запуск программы от имени администратора.
3
16
2 года назад
3
rsfghd, EugeAl, спасибо, ребята! Обязательно гляну.
0
26
2 года назад
Отредактирован Extremator
0
TeX13, ну на сколько знаю (из моего скромного опыта), это самый путёвый вариант на первых парах, если тебя полностью устраивает то что стрелы являются орб/бафф плейсером.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.