Warcraft 3 что такое фиксация

Итак, тем кто не знает что такое фокус и как его юзать, посвящается. А так же, всячески одобряется всячиские дополнения. Фокус весьма полезная штука. Это запоминание дополнительной цели для последующего использования.

Отмечаем цель как фокус

Есть несколько вариантов как это сделать. Вот некоторые из них.

Забиндить кнопочку в «Назначение кнопок». Запомнить цель — это и есть отметить как фокус.

Для хилов актуально повесить фокус на бинд в хилботе.
Для бинда нужно ввести в поле focus

Можно повесить на макрос.
Создаёте макрос /focus

Есть еще много способов отметить цель как фокус, например правой кнопкой на юнитфрейм и запомнить цель, но мы это пропустим.

Юзаем фокус

Фокус я использую в основном для одной вещи, но она мега полезная. Это каст определенного заклинания на определенного перса. Т.к. чаще всего цель — босс, а переключене с босса на чела из пати и обратно — может критично сказаться на дпсе, хиле и прочем. Короче это не удобно.

ЭТО ЧТО, ТРОЛЛИНГ? Грязь и издевательства над врагом в Warcraft 3 Reforged

Но вешать «маленькие хитрости», например, или то же «подавление боли», «иннервейт», «майнд контрол» на инструкторе, например, и кучу разных заклинаний надо. Делаем это одной кнопкой, без переключения цели.

/cast [target=focus] подавление боли

Можно выставлять фокус в самом макросе, тогда наш фокус будет выглядеть так:

/focus [target=focus, noexists] [target=focus, dead]
/stopmacro [target=focus, noexists]
/cast [target=focus] подавление боли

Что делает этот макрос: он фокусируется на цели, если одно из условий верно: 1) фокус не выставлен, 2) фокус мертв. Останавливает макрос, если в фокус до сих пор никто не взят. Если фокус есть, то кастует на него подавление боли.

Таким образом, можно 1 раз выбрать в цель и установить фокус + использовать требуемую абилку, затем пока игрок в фокусе не умрет мы будет использовать эту абилку на него не выделяя его в цель.

Меняем фокус и цель местами

Иногда нужно поменять цель и фокус местами. Делается это так:

/cleartarget [target=target, dead]
/clearfocus [target=focus, dead]
/target focus
/cleartarget [target=focus, noexists]
/targetlasttarget
/focus target
/targetlasttarget

В этом макросе первые две комманды очищают фокус и цель, если они мертвы. Выбираем в цель фокус. Очищаем цель, если фокус оказался пустой или не верный. Затем выбираем предыдущую цель. Фокусируемся на ней.

Опять выбираем предыдущую цель.

Источник: wowjp.net

Warcraft 3 что такое фиксация

В данной статье я попытаюсь максимально подробно и точно рассказать о модификаторах атаки. Разумеется мы говорим не о триггерных эффектах, а о стандартном наборе.
————————
Итак начнём:
Перечень модификаторов атаки, классификация.
Баш — пассивная способность, дающая шанс оглушить противника при атаке и нанести ему дополнительный урон. Работает на иллюзиях.

Возможно, лучший матч 2021 года в Warcraft 3 Reforged: Grubby vs XlorD


Критический удар — пассивная способность, дающая шанс на нанесение усиленного урона при атаке. Работает на иллюзиях.
Отравленное оружие — Buff Placer , позволяющая замедлять противника при атаке и наносить ему урон каждую секунду.
Сила льда — Buff Placer , позволяющая замедлять противника при атаке, работает только у воинов дальнего боя. Работает на иллюзиях.
Вампиризм(Лайфстил) — Orb , позволяющий похищать здоровье у атакуемых при атаке. Количество восстановленного здоровья — % часть от нанесённого урона при атаке(НЕ путать с величиной атаки).
Предмет: замораживающая атака — Orb+Buff Placer , позволяющий замедлять врага холодом. Позволяет включить 2 атаку у героя.
Предмет: проклятие — Orb+Buff Placer , у атакуемого временно снижается защита на фиксированное число, если цель атакована несколькими разными юнитами с разными «Предмет: проклятие» — работать будет сильнейший показатель. Позволяет включить 2 атаку у героя.
Сожжение маны — Orb+Buff Placer , позволяет сжигать фиксированное число маны врага при атаке, нанося ему физический урон на величину сожжёной маны(если маны не осталось — 0). Работает на иллюзиях БЛИЖНЕГО боя. НО: если % атаки иллюзий = 0, то цели наносится урон, но не сжигается мана.
Сфера молний(новая)(сюда же и сфера замедления) — Orb , с % вероятностью выпускающий в атакованную цель указанное заклинание. Позволяет включить 2 атаку у героя.
Предмет: огненная атака — Orb+Buff Placer r, при атаке наносит близстоящим к цели врагам фиксированный урон, НЕ понижающийся защитой. Позволяет включить 2 атаку у героя.
Предмет: отравляющая атака, Ядовитое Жало — Orb+Buff Placer , неудобный эквивалент Отравленного оружия. Позволяет включить 2 атаку у героя. Ниже рассматриваться не будет.
Разгром — пассивная способность, дающая шанс на нанесение усиленного урона при атаке. Работает на иллюзиях. Совмещается НАПРЯМУЮ со своими клонами(другими способностями на основе «Разгром») и с Критическим ударом. Не работает с орбами. Работает с отравленным оружием ПРИ УСЛОВИИ, что способность разгром приобретена ПОСЛЕ отравленного оружия.

Мультиатака(Ракеты) — позволяет воинам дальнего боя атаковать несколько целей вокруг себя одновременно, не совместима с большинством орбов.
Сплеш(Демоническая сила) — пассивная способность, наносящая урон, равный %части от ВЕЛИЧИНЫ АТАКИ(не путать с нанесённым уроном при атаке) врагам, находящимся рядом и сзади от цели атаки. Основная цель не получает этого урона. Урон не снижается защитой. Совмещается НЕЗАВИСИМО. (1 способность на 35% — 35%,2 способности на 35% — 70%, 25%+35%=60%). С орбами/Буфплейсерами не конфликтует.
Сокрушение(Pulverization) — пассивная способность, наносящая ЧИСТЫЙ урон вокруг основной цели при атаке

Читайте также:  Нужно больше золота warcraft 2

Автокасты:
Сфера небытия — Orb , позволяет атаковать группу противников(сплеш для неближнего боя), врагам, поблизости от основной цели наносится урон в размере %часть от нанесённого урона главной цели. Данная способность работает только у воинов с типом атаки «Снаряд взрыв». Совмещается со способностью «сила льда». Более того — Сила льда замедляет всех врагов, попавших под удар сферой небытия.
Огненные стрелы — Orb , наносят дополнительный урон при атаке, снижается физической защитой. Совместимы со способностью «Сила льда». Действует одновременно и то и то.
Отравленные стрелы — Orb+Buff Placer , наносят дополнительный урон, замедляют врага и наносят урон каждую секунду, урон не понижается защитой.
Ледяные стрелы — Orb+Buff Placer , наносят дополнительный урон и замедляют врага.

Немного примечаний по буфплейсерам :
Замедление холодом не плюсуется между собой от разных способностей, специализированных на холодном эффекте. Конкретно: Сила льда, Замораживающая атака, ледяное дыхание, ледяная звезда, замедление от удара о ледяную броню и др.
Замедление холодом и отравление сохраняются даже если воин становится неуязвимым. Отравление не наносит урон неуязвимым, но если неуязвимость пройдёт, а баф всё ещё останется — продолжит наносить урон.

Более детально о критическом ударе и баше:
Если герой включит автокаст для способности (огненные стрелы/отравленные стрелы/ледяные стрелы), увеличивающей урон, то:
— если крит подобран/изучен раньше способности-автокаста, то работать будет только способность-автокаст;
— если способность-автокаст изучена(в 1 раз) раньше крита, то сработает только крит, но мана будет потрачена и начнется перезарядка способности-автокаста.
— способность-автокаст складывается независимо с башем.

Если герой имеет БОЛЕЕ 1 крит. способности/предмета на крит:
При выпадении нескольких разных критов на 1 удар срабатывает ПОСЛЕДНИЙ приобретённый.
При выпадении нескольких одинаковых критов на 1 удар урон будет как с 1 крита.

Разница в эффектах крита и баша для воинов ближнего и дальнего боя:
Ближний Бой
Дополнительный урон от баша является магическим.
При выпадении нескольких башей на один удар, преобладает более длительный, а урон от них складывается.
При выпадении на один удар баша и другого модификатора атаки, имеющего шанс (например: Сфера молний), работают оба.

Все модификаторы при атаке работают вместе с критом. Порядок приобретения предметов/способностей неважен.
Разгром складывается с критом НАПРЯМУЮ. Т.е. если у нас на 1 удар сработал разгром на 3Х урон и крит на 5х урон — итоговый урон будет 15х. НО: разгром несовместим с орб-эффектами, а чтобы разгром складывался с Буфплейсерами — мы должны поместить/изучить разгром ПОСЛЕ приобретения Буфплейсера.

Елси на удар выпал и крит и баш — то дополнительный урон от баша прибавляется к урону от крита после подсчета усиленного урона. (Урон от баша добавляется НЕЗАВИСИМО).

Дальний Бой
Дополнительный урон от баша является физическим.
При выпадении нескольких башей на один удар, срабатывает лишь более поздно приобретенный от купленного предмета или изученной способности.
При выпадении на один удар баша и другого модификатора атаки, имеющего шанс (Сфера Молний), работает только баш.

С критическим ударом у воинов дальнего боя работают только Вампиризм и Баш.
Примечание:Чтобы работало и Вампиризм и баш и крит — баш следует положить/изучить после крита. При этом урон будет усиленным и сработает баш, но циферки усиленного урона не всплывёт, если же положить/изучить крит после баша — баш работать НЕ будет. Разгром работает с критом и башем, НО обязательно после приобретения разгрома воин не должен приобретать орбы/буфплейсеры. Если приобрёл — удаляем разгром и приобретаем снова.
При выпадении на один удар крита и другого модификатора атаки, имеющего шанс (Сфера Молний), работает только крит.

Если крит предшествует башу, то дополнительный урон от баша наносится, но он прибавляется к урону от крита после подсчета усиленного урона.
Если баш предшествует криту, то дополнительный урон от баша не наносится, а наносится только усиленный урон от крита

Пару слов о мультиатаке:
Чтобы мультиатака совмещалась с отравлением — необходимо приобрести мультиатаку ПОСЛЕ приобретения отравления. Следует заметить, что морозная атака будет работать с мультиатакой в любом случае.
Мультиатака совместима с разгромом, но разгром должен быть приобретён ПОСЛЕ мультиатаки.

Ниже представлена таблица модификаторов атаки.

Источник: wc3-maps.ru

AI System GUI

Решил поделиться своим опытом для новичков и не только, многим известно что я использую GUI. Пошарив по сайту не нашел статью про ИИ систему.

Читайте также:  Элемент тд варкрафт 3 тактика

Навигация:

Фиксация приказов

Фиксация нам поможет оптимизировать проект и нашу работу, так же ИИ система не будет выполнять тот же приказ, который уже выполняет.

  • переменная с массивом (реал, целогика, логика)
  • несколько триггеров

Первое:
Я использовал переменную реал, вы можете взять целое число (целогика) или значение логики, разницы особой нет, главное что бы в массиве не было пересечений.

Второе:

В первом фиксируем приказ атаки, во втором фиксируем приказ использование способности через событие «Начиняет применять способность», в третьем обнуляем фиксацию приказа при событии «Завершает применять способность и Прерывает применение способности», так же после гибели обнуляем фиксацию приказа и если боевая единица не атакует обнуляем фиксацию приказа.

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

К бою готов!

Сразу же/или же после отчета стартового времени Вашего проекта нужно что бы ИИ система уже была готова к бою.
Вот мой пример:

Видно что когда ИИ выбрал героя, он появляется в области под названием «Baza» — и сразу же изучает способность. Изучение способностей можно сделать (даже так интересней будет так то да, костян! ) через случайный расчет (integer — random number (число) and (число) = 1) , скажем 1 к 3. Если у Вас при старте дается стартовая сумма ресурсов, можно произвести закупку первоначальных предметов.

Порядок действий

  1. области действий (или точки (область шириной(x) 1 высотой(y) 1) )
  2. триггеры
  3. переменная точки с массивом
  1. рисуем области/точки для базы, возле фонтана жизни, магазина и важные стратегические точки (если AOS, то получается, каждая база, фонтан, магазины не в области базы, точки направления движения линий, точки в центре направления)
  2. так же если имеются нейтральные боевые единицы понадобятся точки входа (скажем, позиция входа в лес =D)

Действия для второго условия:
Заранее фиксируем точку при загрузке карты:

Таким образом нам не нужно каждый раз фиксировать точки и удалять их. Утечка не увеличится, так как новый объект не создается. Фиксируем точку в центре нужной области, функция «set = point».

  • 1.1) событие = боевая единица входит в область (точка)
  • 1.2) условие =>
  • боевая единица под контролем компьютера
  • здоровье (манна) больше или равно количества подходящей для боя (скажем больше 20%)
  • 1.3) действие =>
  • боевая единица выполняет приказ движения/патруля/перейти нападая на противников в зафиксированную точку
  • Если боевая единица возле фонтана, то потребуется дополнительный триггер, с событием = «каждая секунда», условием = боевая единица под контролем компьютер и то что здоровье/манна = 100%, так же что боевая единица находится области возле фонтана, действие = движение в точку выхода из базы, и после через случайное число движение в одну из областей (отдельный триггер).

Третий триггер:

  • 2.1) Событие: Каждую секунду
  • 2.2) Действие цикл:
  • 2.2.1) Первое действие под условием:
  • 2.2.2) Второе действие под условием:
  • Если к примеру боевую единицу атаковала пушка (пример AOS), то атакованная боевая единица двигается в зафиксированную точку через функцию «offset» с радиусом атаки пушки или на нужное отрицательное значение, после нужно её удалить или же в близлежащую точку (заранее нарисованную область 1 на 1) возле точки.

  • После смерти, в триггере где идет воскрешение героя, обнуляем значение приказов у убийцы и у убитого.

Не забываем фиксировать точку прежде чем отдавать приказ, призы отдаем на зафиксированные точки, после их удаляем.

Закупка

Вариант 1

  1. предметы
  2. область (если нет)
  3. триггер — 1

Триггер (пример моя арена):

Что здесь у нас?
Боевая единица под контролем ИИ, входит в область базы (магазина или фонтана, как на примере), если имеет нужное количество золота, но при этом не имеет предмет, который будет получать и тип боевой единица подходящий, то он получает предмет и теряет количество золота равному стоимости предмета.

Крафтинг/Сборка артефактов:
Лучше всего если = боевая единица имеет золото равному общей сумме артефакта давать ему сразу артефакт, или же если имеет компоненты артефакта + количество золота для рецепта, удалять компоненты, давать артефакт, отнимать количество золота равному стоимости рецепта.

Вариант 2

  • И делаем вот такой замечательный триггер:

При покупке пустой боевой единицы (dummy) купившая боевая единица получает предмет, который визуализирован боевой единицей . Я добавил ему время жизни одну доли секунду, что бы особо не засорял ресурсную память игры.
за одно пробежался как можно закупаться при полном рюкзаке
Важно: не забывайте сделать отдельный триггер, когда умирает боевая единица (не герой) удалять его из игры, иначе объект будет вечно в памяти игры.

  • Дальше составляем приказ для ИИ:

На примере ставим условие что герой не имеет предмета, который он хочет приобрести, и то что он жив но имеет нужное количество ресурсов для этого (если предмет требует ресурс и древесины и золота, то в условиях выставляем функцию «всё (all)», и выдаем приказ на приобретения боевой единицы (dummy), таким образом у нас визуализация что ИИ реально покупает предмет.

Читайте также:  Ладдер варкрафт 3 что это

Изучение способностей

  1. триггер — 1
  2. герои у которых есть способности

И так, составляем триггер:

Поясняю:
При повышении уровня, добавляем условие нужного героя, что бы выставить правильно способности, и то что он является компьютером. Через целое число (цикл) которое равняется 1 к функции «Неиспользованное число способностей (Unspent skill points)» зафиксированного героя и через функцию «Learn (изучить)» выбираем нужную способность. Так же убираем ненужные уровни, так как четверная способность изучается у всех на разных уровнях, будьте внимательны. Так же можно рассчитать уровень изучения последней способности, за исключением 4 способности, и повышать после этого уровня способность «Повышение характеристик».

Использования способностей

Нестандартная способность создается на базе стандартных способностях, соответственно имеется функция приказа на её использование (функции: Боевая единица — Order (приказ)), они как известно отдаются на точку (point), цель (target) и без цели (no target). В каждом приказе имеются различные команды от атаки, до использовании способности.

  • триггер с действиями и условиями, что действие проходит на ИИ (компьютер), к примеру:

Далее выдаем действие, по примеру:
Атакована единица — отдает приказ (базовая способность)
Пример способности на точку:

Возьму за основу «Темная стая». Ваш зоркий глаз увидел, что я взял ещё две функции: «set = point» и «remove point», так как способность используется на точку, в памяти игры эта точка останется, и по этому нам нужно сначала зафиксировать точку (позиция атакующего), потом отдать приказ на точку, затем её удалить.

Пример способности на цель:

Взята «Цепь молний», она как известно используется на цель, фиксация не обязательная.
Пример способности без цель:

Ну тут всё просто. Фиксация не обязательная , её можно произвести на атакованного или же атакующего.

Так же стоит напомнить что есть такие способности как «Стадо ящериц» он называется в списке приказа «Пастуший рог». Если не знаем как называется базовая способность, то придется прописывать jass функцию или же прописывать строку способности. Ссылка на jass будет ниже, а строка находится в «Редакторе объектов», в вкладке «Способности» под строкой «Текст — порядок строк: включен»:

Вам потребуется «Jass New Gen Pack» для исправной работы, так как в приказа в стандартном WE нет такой функции, как «Отдать приказ (строка)». А нам она потребуется, и выглядит так:

Таким образом можно облегчить себе работу, что бы не искать базу вашей способности, можно просто прописать строку. В Jass New Gen Pack любую строку можно применить на любую цель, но как правило или фиксируется точка единицы применения или же вовсе не работает, так что запоминайте какая берется цель применения, точка или же единица.

Активнопассивные способности, под тэгом иконки ATT:

можно активировать приказом без цели:

только с приказом на вашу базовую способность. Или строкой ((строка)onoff):

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

Что получается:
Нам нужны способности и триггер с условиями действия на ИИ и что они будут использовать. Можно сделать по системе случайного числа (random number/переменная с массивом (что бы не было пересечений в рандоме)), как будет на примере болванки, или же на условие, если мало здоровья у единицы, то отдаем приказ. В новой версии болванки стоит дополнительное условие на фиксацию приказа. Эта фиксация не даст использовать другую способность при использовании другой способности.

Жизнь после паузы

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

Пример, та же арена. На примере конечно ошибка, с утечкой отряда, его нужно ставить после цикла или же использовать группу игроков.
Через определенное время все ИИ игроки будут выполнять нужное действие. У меня каждый участок действия зафиксирован областью, то есть если ИИ не атакует/атакован, не использует способность или же не выполняет приказ он выполняет приказ с переходом на атаку в зафиксированную точку участка, после зафиксированная точка удаляется, так же если он не имеет нужное количество здоровья и манны для боя, то он переходит на базу/в область источника жизни. Через порядок действий он не будет патрулировать между точками/областями, так как везде выставлено нужное количество здоровья и манны.

Конечно не всегда ИИ игрок будет двигаться после использования способности или же он не до конца исполнит способность и продолжит свой порядок действий. Что бы этого избежать фиксируем игрока ИИ, который использует способность переменной (массив) и в условии рестарта выставляем — не равно зафиксированный ИИ игрок.

Источник: xgm.guru