У меня кстати такая же проблема. Сделал нестандартный бафф, выставил его в абилке (где заклинания), а в статусе все равно стандартная иконка и описание.
Бафф должен быть основан на стандартном баффе способности.
У меня бафф сделан на основе стандартного баффа абилки.
У меня кстати такая же проблема. Сделал нестандартный бафф, выставил его в абилке (где заклинания), а в статусе все равно стандартная иконка и описание.
В тестмапе герои 10го уровня, враги Нейтрально-врждебные, а настройки по умолчанию. Так конечно опыта не будет, поставьте горою 1й уровень и будет опыт.
А, лол, все верно. Просто я поменял в игровых константах макс. уровень, а коэффициент для крипов поменять забыл.
Добавлю небольшой комментарий про баффы - бафф "яд (не буферизуется)" используется в случае ближнего боя атакующего юнита, а бафф "яд (буферизуется)" - в случае дальнобойной атаки юнита.
Отряд - Pick every unit in Poisoned_units and do (Actions)
.Цикл - Действия
..Multiple Functions If (All Conditions are True) then do (Then Actions) else do (Else Actions)
...Если - Условия
....((Picked unit) has buff Яд (не буферизуется) (паук1)) равно Нет
....((Picked unit) is in Reduced_armor) равно (==) Да
...То - Действия
....Set Armor of (Picked unit) to ((Armor of (Triggering unit)) + 6.00))
....Отряд - Remove (Picked unit) from Reduced_armor
...Иначе - Действия
....Multiple Functions If (All Conditions are True) then do (Then Actions) else do (Else Actions)
.....Если - Условия
......((Picked unit) is alive) равно (==) Нет
......((Picked unit) is in Reduced_armor) равно (==) Да
.....То - Действия
......Отряд - Remove (Picked unit) from Reduced_armor
......If (((Picked unit) is Герой) равно (==) Нет) then do Отряд - Remove (Picked unit) from Poisoned_units else do (Боевая единица - Set Armor of (Picked unit) to ((Armor of (Picked unit)) + 6.00))
.....Иначе - Действия
Тут есть проблема, что очищение группы регистрации происходит в случаях: когда юнита нет в группе с низким армором, когда у юнита есть бафф, когда присутствуют сразу первые два случая. Но прикол в том, что мы вновь проверяем наличие в группе с низким армором, а если юнит мёртв, то и баффа у него нет. То есть очищение не происходит. В своей реализации я исправил. EHP_Sequence, видел мою реализацию тут (там есть ссылка на слове "это")? Глянь её, она точно без ошибок.
Второй триггер можно сделать проще: проверку на отсутствие в группе поставить в условия триггера.
Ошибка в третьем триггере: первое условие, (Picked Unit has buff рано Нет) должно быть.
Не знаю, как в 1.30, но в 1.26 Воскрешение не поднимает тех же юнитов, а создаёт на их месте таких же новых. Лишь герои могут быть нормально воскрешены, поэтому их и нельзя удалять из Poisoned_units. EHP_Sequence, так наоборот заменить надо было. (Triggering unit) реагирует на юнита в событии, но там такого нет, там время. (Picked unit) реагирует на юнита в группе, которую перебираешь.
Поменял на пикнутого юнита, а также проверил бафф (там ведь еще разница с буферизующимся ядом есть, которую, кстати, я не понял). Теперь происходит следующее -- при атаке паука армор снижается на милисекунду, а затем сразу же возвращается обратно к исходному значению.
А, не так, еще веселее - армор скачет со значения d-4 до d каждую долю секунды.
И он еще не возвращается в обычное значение по истечении действия яда. Короче, что-то не работает как надо.
Спасибо, Габриэль и PT. Надо будет обдумать это. То есть, вкратце, нужно просто создать третью группу "Reduced armor" куда попали уже юниты с уменьшенным во втором триггере армором, и если юнит в этой группе, то вывести его из группы "Poisoned"?
Если есть возможность подождать вечера понедельника, то сделаю наработку с комментариями. Лучше мне в понедельник об это напомнить.
Думаю, нет необходимости, но мне кажется, я близок достаточно. У меня такая идея -- сначала создать переменную "Initial armor", в которую возвращать исходный армор отравленного юнита, а затем уже применять триггерное снижение армора (в тригере 2).
Всем большое спасибо за ответы, особенно Габриэлю. Но я все же пытаюсь отредактировать триггер. Сейчас снижение армора началось, но уменьшается каждый раз когда действует яд. Не очень понимаю, как остановить снижение каждую секунду.
А, понял, PT153 об этом и написал в третьем триггере.
Так, пока еще победы нет. Теперь отравленный юнит не теряет защиту каждую секунду действия яда, зато теряет лишний раз защиту при атаке паука (2 атаки - 12 армора, 3 атаки -18 и т.д.). Думаю над этим. PT153:
Вообще-то есть. Урон ещё не нанесён, но бафф уже висит.
Да? Значит всё ещё проще.
Он же учится.
Лучше сразу учиться делать правильно. Событие "Юнит атакован" нагружает игру, так как срабатывает очень часто, особенно если в действиях что-то тяжёлое. У меня из-за него моя тдшка лагала. Поставил условие, что для каждого юнита это событие срабатывает не чаще 2х раз в секунду, лаги исчезли.
К сожалению, я так и не понял, как вместо "юнит атакован" сделать "юнит получил урон" или "юнит потерял здоровье".
Corruption attack
События
Боевая единица - A unit Атакован
Условия
(Level of Яд (паук) for (Attacking unit)) больше или равно 1
Действия
Отряд - Add (Attacked unit) to Poisoned_units
Второй:
Corruption attack 2
События
Время - Every 1.00 seconds of game time
Условия
(Number of units in Poisoned_units) больше или равно 1
Действия
If (((Picked unit) has buff Яд (не буферизуется) (паук1)) равно Да) then do (Боевая единица - Set Armor of (Picked unit) to ((Armor of (Picked unit)) - 6.00)) else do (Do nothing)
If (((Picked unit) has buff Яд (буферизуется) (паук1)) равно Да) then do (Боевая единица - Set Armor of (Picked unit) to ((Armor of (Picked unit)) - 6.00)) else do (Do nothing)
Третий:
Corruption attack 3
События
Боевая единица - A unit Умирает
Условия
((Dying unit) is in Poisoned_units) равно Да
Действия
Отряд - Remove (Dying unit) from Poisoned_units
И почему-то все равно не работает :(. Баффы нестандартные, но они выставлены в способности Яд.
Третий триггер
Событие: Generic unit Умирает
Условие: (Dying unit) in group poisoned равно Да
Действие: Убрать (Dying unit) из poisoned Hate:
понижать броню на 6 каждую секунду конечно мощно
Ах да, во втором триггере, если баффа нет, то делать стандартную броню.
Спасибо, так попробую. Правильно ли я понимаю, что это нужно прописать для каждого юнита, при атаке которого хотим понижать защиту? А привязать к способности не получится?
Ну ты же сам знаешь, что делают способности. Просто проверяй использованную способность. Т.е. если ледяная звезда, то снизить броню.
Я сделал, но не работает почему-то.
Приложу карту, на всякий
Вот сам триггер:
Corruption attack
События
Боевая единица - A unit Приводит способность в действие
Условия
(Ability being cast) равно Яд (паук)
Действия
Боевая единица - Set Armor of (Targeted unit) to ((Armor of (Targeted unit)) - 6.00)
И армор на 6 не снижается в итоге, почему-то.
Забыл сказать -- указанная способность Х - пассивная (яд). Возможно, поэтому нельзя отследить "приведение в действие" для нее.
Теперь пропала классификация предметов типа "имеющие заряды"
Куда она пропала-то, у меня есть в РО.
Увы, это не помогает сделать предметы уровня выше 10.
А через шифт пробовал? В кисти предметов само собой все предметы больше 10, будут находится в 10.
В РО не пропала, а в таблицах предметов всяких пропала, там где можно выставить конкретный тип выпадающего предмета. Мне нужно было именно чтобы уровень предмета был выше десяти, т.е. чтобы можно было крипам поставить "выпадающие предметы уровень 100500".
Есть же предметы 10-го уровня.
У предметов есть 2 уровня: классифицированный и неклассифицированный. Тебе нужен некласиффицированный, а в настройках карты (Сценарий -> Опции карты) снять галку с "Использовать систему классификации предметов", как-то так.
Увы, это не помогает сделать предметы уровня выше 10. Теперь пропала классификация предметов типа "имеющие заряды" и подобное, макс. уровень повысился до 10, но это все.
Вынужден поднять вопрос. Шифтом-то можно написать в уровне предмета любое число, но если число больше 8, то предмет все равно считается 8 лвл. Неужели никак нельзя сделать выше 8?
» WarCraft 3 / Ауры в статусе
» WarCraft 3 / Ауры в статусе
» WarCraft 3 / Ограничение уровня для печати преисподней
» WarCraft 3 / ZinC: Гнев Деревьев AOE
» WarCraft 3 / ZinC: Гнев Деревьев AOE
» WarCraft 3 / Проверка способности
» WarCraft 3 / Проверка способности
» WarCraft 3 / Проверка способности
Сейчас посмотрю другую реализацию, предложенную PT.
» WarCraft 3 / Проверка способности
» WarCraft 3 / Проверка способности
» WarCraft 3 / Проверка способности
А, не так, еще веселее - армор скачет со значения d-4 до d каждую долю секунды.
И он еще не возвращается в обычное значение по истечении действия яда. Короче, что-то не работает как надо.
» WarCraft 3 / Проверка способности
Ред. EHP_Sequence
» WarCraft 3 / Проверка способности
» WarCraft 3 / Проверка способности
» WarCraft 3 / Проверка способности
» WarCraft 3 / Проверка способности
» WarCraft 3 / Проверка способности
PT153: Думаю, нет необходимости, но мне кажется, я близок достаточно. У меня такая идея -- сначала создать переменную "Initial armor", в которую возвращать исходный армор отравленного юнита, а затем уже применять триггерное снижение армора (в тригере 2).
» WarCraft 3 / Проверка способности
А, понял, PT153 об этом и написал в третьем триггере.
Так, пока еще победы нет. Теперь отравленный юнит не теряет защиту каждую секунду действия яда, зато теряет лишний раз защиту при атаке паука (2 атаки - 12 армора, 3 атаки -18 и т.д.). Думаю над этим.
PT153: К сожалению, я так и не понял, как вместо "юнит атакован" сделать "юнит получил урон" или "юнит потерял здоровье".
» WarCraft 3 / Проверка способности
сделал вроде так:
Первый триггер:
События
Боевая единица - A unit Атакован
Условия
(Level of Яд (паук) for (Attacking unit)) больше или равно 1
Действия
Отряд - Add (Attacked unit) to Poisoned_units
События
Время - Every 1.00 seconds of game time
Условия
(Number of units in Poisoned_units) больше или равно 1
Действия
If (((Picked unit) has buff Яд (не буферизуется) (паук1)) равно Да) then do (Боевая единица - Set Armor of (Picked unit) to ((Armor of (Picked unit)) - 6.00)) else do (Do nothing)
If (((Picked unit) has buff Яд (буферизуется) (паук1)) равно Да) then do (Боевая единица - Set Armor of (Picked unit) to ((Armor of (Picked unit)) - 6.00)) else do (Do nothing)
События
Боевая единица - A unit Умирает
Условия
((Dying unit) is in Poisoned_units) равно Да
Действия
Отряд - Remove (Dying unit) from Poisoned_units
» WarCraft 3 / Проверка способности
Ред. EHP_Sequence
» WarCraft 3 / Проверка способности
Приложу карту, на всякий
Вот сам триггер:
События
Боевая единица - A unit Приводит способность в действие
Условия
(Ability being cast) равно Яд (паук)
Действия
Боевая единица - Set Armor of (Targeted unit) to ((Armor of (Targeted unit)) - 6.00)
И армор на 6 не снижается в итоге, почему-то.
Забыл сказать -- указанная способность Х - пассивная (яд). Возможно, поэтому нельзя отследить "приведение в действие" для нее.
» WarCraft 3 / Уровень предмета
» WarCraft 3 / Уровень предмета
» WarCraft 3 / Уровень предмета
» WarCraft 3 / Уровень предмета