Помогите пожалуйста, мне очень нужна ваша помощь. Всё перерыл, ни где нету достоверной информации, а если юзать jass то эта морокка, не совсем его понимаю

Кирилл4, на jass есть, вот пример
Для начала тебе хватит, есть более продвинутые системы.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
21
Событие: инициализация карты
Действие:
Цикл: выбрать всех юнитов в пределах игровой карты и для каждого совершите действие:
Действие в цикле: добавить в триггер [твой триггер] событие "выбранный юнит получил урон"
Ну а дальше в [твоем триггере] пишешь условия и действия. Но это не будет работать на саммонов и триггерно созданных юнитов, потому нужен еще один триггер:
Событие: юнит вошел в область игровой карты
Действие: добавить в триггер [твой триггер] событие "входящий юнит юнит получил урон"
21
PyCCKuu_4eJl, set u = null и внизу тогда лучше поставить
хотя, учитывая, что инициализация один раз, не так важно
2
PyCCKuu_4eJl, Спасибо за код, но вот казус. Когда я заменяю сет в локалке (local unit u = gg_unit_H000_0000) на (local unit u = GetAttackedUnitBJ() ) ничего не работает...
21
Кирилл4, а как бы оно, интересно, должно было работать
откуда триггер до регистрации события атакованного возьмет?
2
ClotPh:
Кирилл4, а как бы оно, интересно, должно было работать
откуда триггер до регистрации события атакованного возьмет?
Ну помоги плиз, если не в лом. Мне кажется, что я близок к истине.
32
Кирилл4, есть готовые системы на эту тему, гугл в помощь.
2
quq_CCCP:
Кирилл4, есть готовые системы на эту тему, гугл в помощь.
Имхо их много, но толкового ничего нету, гуи не хочется использовать..
quq_CCCP:
Мне просто срочно нужно это, так я хоть буду иметь большое и дальнейшей представление о том как он отлавливается, разжуйте мне пожалуйста
32
Кирилл4, на jass есть, вот пример
Для начала тебе хватит, есть более продвинутые системы.
Принятый ответ
21
Вот тебе простейший пример на GUI.
Загруженные файлы
32
~~
Мне просто срочно нужно это, так я хоть буду иметь большое и дальнейшей представление о том как он отлавливается, разжуйте мне пожалуйста
Что значит как? Это помойму разжевано везде, но блин в сотый раз...
Нельзя просто так узнать кто кого ударил, вот нету такой функции, о том что один юнит ударил руками другого мы можем узнать лишь косвенно (в коде), т.к у нас есть событие - юнит атакован, которое срабатывает когда юнит начал атаку, еще даже не махнул ручками а просто сагрился на цель - уже сработало событие, при этом неважно ударит он или промажет, или цель вовсе к тому моменту умрет...
Ну у нас еще есть событие - юнит получает урон, оно не так удобно - т.к требует конкретно указанного юнита в отличии от события "юнит атакован", которе можно повешать на всех юнитов игрока ( EVENT_PLAYER_UNIT_ATTACKED), что удобнее т.к такое событие будет работат на всех юнитов указанного игрока и существующих и созданных в процессе игры.... Ну вернемся к событию - "юнит получает урон", оно срабатывает на фрейм ранее от того момента как юнит потеряет хп от урона, срабатывает на любой урон полученный указанным юнитом, проверить приэтом мы можем лишь кол-во урона (функция GetEventDamage()), источник урона (GetEventDamageSource()) ну и тот кто получил урон (GetTriggerUnit()), понять прост так нельзя урон это от атаки, от спелла или от баффа (вредные баффы наносят 0 урона при появлении и потере).
Далее уже люди реализуют проверки на тип урона с помощью костылей, тот пример что я тебе дал использует оба событие, когда юнит атакован - включается событие юнит получает урон, если после события атаки сработает событие урона - считай был удар, но это слишком багано, т.к сущетсуют промахи и другие источники урона.
Еще есть способ отличить физический урон от магического - сделать его отрицательным, вручая тому у кого будем отлавливать физ атаки, суть - рунные браслеты с фактором сниженного урона 2, весь магический урон полученный юнитом будет отрецательным, а положительным будет только чистый и физический (чистый в стандартных способностях практически не втречается, как и физический) ну а далее все просто, лечение от маг урона уберается так же триггерно, сначала ждем таймером 0.00 сек, потом возвращаем юниту хп которое было до отрец урона и тут же наносим ему еще урон маг типа, забирая пассивку резиста и отключая триггер, таким образом мы вернем все наместо и юнит получит маг урон в полном размере, как и должен без лечения (т.е мы блокируем лечение от отрец урона), ну а далее снова вручаем пассивку и врубаем триггер, дейтсвуем поновой....
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.