Хочу сделать ультимейт по типу высасывания жизни, но при этом врага кидало в сон. Ну вы поняли совместить две способности в одну. Расспишите подробно в триггерах как создать: Событие, Условие и Действие.

А в чем проблема, т.к сон сбивается при уроне, то стандартные способности не подойдут, берешь обычное высасывание жизни, и создаешь триггер событием которого будет - юнит приводит способность в действие, условие - примененная способность == твоё сосание жизни, ну и действие:
Применяем на жертву PauseUnit, вручаем жертве способность на основе кольца защиты с нулевым бонусом и прекрепленным эффектом сна, далее создаем новый триггер, с событиями - юнит получает урон, юнит умирает, время вышло, кастер отдел приказ, цель точка, цель обьект, без указания цели. Ну и добавляем триггеру новое условие, в котором будем делать действия. Сохраняем в хештаблицу юнита цель и нашего кастера. Выгружаем в условии вновь созданного нами триггера, проверяем от чего сработал триггер, если триггер сработал от смерти, или урона, или от приказа не равного - приказу похищения жизни, триггер отключаем, у юнита удаляем паузу и абилку пустышку для визуального эффекта. Если цель получила урон не от кастера, и урон выше 0 - то паузим кастера и тут же сбиваем паузу, попутно так же выключая триггер и снимая с жертвы паузу и спецэффект. Ну и не забываем обнулять все локальные переменные и удалять триггер в конце.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
1
quq_CCCP:
а что тебе не понятно?
Действие, условие второго триггера, хэш-таблица, время, способности на основе кольца с нулевым значением и эффектом сна. Короче проще скрин самих триггеров отправить, так будет понятнее намного.
32
код приложен под катом, бери и правь.
Хештаблица - ну банальное прикрепление данных к обьекту, в данном случае к триггеру юнита, call SaveUnitHandle( хештаблица, id триггера, ключ, юнит), SaveUnitHandle( HashData, id, 0, targ ). Насет абилки кольца защиты, есть такой предмет - кольцо защиты, и есть у него способность, которая повышает защиту, копируюем её, бонус защиты на ноль настраиваем, а в полях Граффика маг, спецэффект. Это нужно чтобы прекрепить спецэффект к юниту, который не пропадет при морфе, сокрытии или других действиях. Просто пустышка для визуального эффекта, можно использовать и другие способности, но абилка бонуса защиты не имеет иконки и не багут\мешает другим способностям, работают у всех юнитов (бонус атрибутов фатальнет у не героев).
1
quq_CCCP:
код приложен под катом, бери и правь.
Хештаблица - ну банальное прикрепление данных к обьекту, в данном случае к триггеру юнита, call SaveUnitHandle( хештаблица, id триггера, ключ, юнит), SaveUnitHandle( HashData, id, 0, targ ). Насет абилки кольца защиты, есть такой предмет - кольцо защиты, и есть у него способность, которая повышает защиту, копируюем её, бонус защиты на ноль настраиваем, а в полях Граффика маг, спецэффект. Это нужно чтобы прекрепить спецэффект к юниту, который не пропадет при морфе, сокрытии или других действиях. Просто пустышка для визуального эффекта, можно использовать и другие способности, но абилка бонуса защиты не имеет иконки и не багут\мешает другим способностям, работают у всех юнитов (бонус атрибутов фатальнет у не героев).
Всё равно не понятно, лучше скринами прислать, так проще будет
32
Anariys3333, какими скринами если там текст, который будет не виден нехрена. Потом если ты думаешь что ты себе скопируешь, я тебя разочарую - нефига, это так не работает, все время за тебя кто то твои хотелки делать не будет.
Я не юзаю GUI триггеры и пишу исключительно на jass, и достаточно подробно обьяснил как делается такая способность, если ты вовсе ни разу редактор триггеров не открывал, увы. Такие способности с нулевыми познаниями не сделать, информации много, берем и пробуем. Пишем что конкретно непонятно или не работает?
26
Anariys3333, да возьми ты канал, занеси юнита в группу и каждые пол секунды наноси урон юниту. При получении юнитом урона - кидай на него бесконечный сон, так он будет обновляться. В конце каста - выгони цель из группы и сними сон (или урон нанеси). Какова роль группы? - пока юнит в ней на нём будет обновляться сон, иначе - нет.
Для всего этого тебе понадобится группа, таймер, и переменная куда запишешь кастера (ну мб и таргета, если надо MUI).
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.