Так в первом триггере условие, что атакованный не должен быть в Poisoned_units.
А по поводу юнитов как-то задавал вопрос, мне сказали, что типа (Attacked unit) утекает и остальные тоже.
Тогда хорошо.
Они не утекают, эти функции возвращают юнитов сразу, они все являются константными нативками.
Всё, что есть в vJass есть и и в cJass. Не всё, что есть в cJass есть в vJass.
cJass даёт только оптимизацию скрипта, он не даёт новых больших фич без vJass, типа структур, .execute(), .evaluate() и прочее.
У меня из-за включённого cJass были некоторые проблемы с сохранением, потому отключил его. Начал я с прочтения оригинала мануала vJass, про cJass прочитал позже, когда бОльшая часть кода уже была написана, потому и не переходил на него.
А вообще, на сайте есть мануалы по cJass и vJass, читаешь их. Так-то их можно комбинировать, но осторожно.
Вот это никогда работать небудет, т.к все Get функции такого типа, работают только в потоке триггера который сработал на соответствующие событие, если их вызвать вне потока триггера - они вернут null.
Всё проще. Убери способность. Глянь в модели, какой тег у закопанной анимации. Этот тег пропиши в требованиях к анимациям в Редакторе объектов дереву (как у рыцаря или ратуши эльфов).
А зачем добавлять что-то в группу, чтобы её потом чистить и прочее.
Замеры лича, которыми он делился на HIVE, говорят, что ForGroup() медленнее перебора цикла.
Вместо GetTriggerUnit нужно поставить GetSpellUnit().
Вообще-то есть. Урон ещё не нанесён, но бафф уже висит.
Да? Значит всё ещё проще.
Он же учится.
Лучше сразу учиться делать правильно. Событие "Юнит атакован" нагружает игру, так как срабатывает очень часто, особенно если в действиях что-то тяжёлое. У меня из-за него моя тдшка лагала. Поставил условие, что для каждого юнита это событие срабатывает не чаще 2х раз в секунду, лаги исчезли.
Вместо "Юнит атакован" нужно использовать событие "Юнит получает урон" (нужно регистрировать каждого юнита) с условием (Получаемый урон больше 0 И Источник урона имеет способность Х).
При получении урона баффа ещё нет, потому добавляем в группу.ApplyPoison.
Другой триггер каждую долю секунды проходит по ApplyPoison, каждому снижает армор, удаляет из группы ApplyPoison, добавляет в группу Poisoned. Условие триггера: кол-во юнитов в ApplyPoison больше 0.
Третий триггер каждую долю секунду проверяет наличие баффа на юнитах в Poisoned. Если баффа нет, возвращаем армор, удаляем из группы. Условие триггера: кол-во юнитов в Poisoned больше 0.
Четвёртый триггер при смерти юнита удаляет его из групп ApplyPoison и Poisoned.
Запихнул обнуление своей переменной ВНИМАНИЕ! в триггер, который игрокам-компьютерам каждые 2 секунды обновляет ресурсы. А вместе с этим и обнуляет снова и снова мою переменную.
Для таких целей и есть F11, позволяет выяснить, где что используется.
А вообще, проще по-моему сделать свою игру, чем нормальную карту в варкрафте -_-
Стоит отметить, что конструкция if (condition) return true else return false в любом языке крайне бессмысленна, когда можно просто написать return condition. Аналогично и с if (condition == true). С такими знаниями (точнее, с их отсутствием) свою игру сделать будет проблематично. Лично я советую поучить булевую логику, её сдают на ЕГЭ по информатике.
По поводу же самого JASS крайне невыгодно добавлять в группу юнитов, чтобы просто сделать с ними что-то в ForGroup, все необходимые действия можно (а порой и нужно) сразу делать в фильтре, при этом никого в саму группу не добавляя. К тому же, последние замеры говорят, что ForGroup хуже вытаскивания юнитов из группы циклом.
Ну а теперь самый прикол, когда добавляю проверку на IsUnitIllusion == true, то оно тупо не находит иллюзии
Если ставлю IsUnitIllusion == false, то оно других юнитов считает как не иллюзии (ну это понятно), но и САМИ ИЛЛЮЗИИ ОПРЕДЕЛЯЛ КАК НЕ ИЛЛЮЗИИ!
Очень вероятно, что ошибка у Вас. Где дебаг на имя того, кто фильтруется и кто попал в саму группу?
Проблема действительно есть.
Первая картинка является скриншотом ленты комментариев. Обведённый вопрос пропал из ленты проектов (оставшиеся 2 картинки).
Переменная А может использоваться в триггере отлова урона. Выходит следующее: Стартует наш цикл с А = 1, выполняется триггер с отловом урона, где также используется А, А меняется, выполнение возвращается в наш цикл, доходит до конца, сравнивает А с конечным значением, а А уже больше. Цикл завершается.
» WarCraft 3 / Проверка способности
Ред. PT153
» Администрация XGM / Глючит лента новостей при обновлении ресурса
» WarCraft 3 / Можно ли уменьшить счётчик юнитов на экране статистики?
Ред. PT153
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
» WarCraft 3 / Можно ли уменьшить счётчик юнитов на экране статистики?
» WarCraft 3 / Карта Троли против эльфов...
» WarCraft 3 / Проверка способности
Они не утекают, эти функции возвращают юнитов сразу, они все являются константными нативками.
Ред. PT153
» WarCraft 3 / Проверка способности
Ред. PT153
» WarCraft 3 / vJass + cJass
» WarCraft 3 / Возможно ли триггерно сделать недоступные апгрейды - доступными?
» WarCraft 3 / Вопрос по триггерам.
» WarCraft 3 / Проверка способности
» WarCraft 3 / Группа или как правильно сделать pick
PT153:
» WarCraft 3 / Способность "Пустить корни"
» WarCraft 3 / Проверка способности
» WarCraft 3 / Группа или как правильно сделать pick
Замеры лича, которыми он делился на HIVE, говорят, что ForGroup() медленнее перебора цикла.
» WarCraft 3 / Проверка способности
Ред. PT153
» WarCraft 3 / Проверка способности
При получении урона баффа ещё нет, потому добавляем в группу.ApplyPoison.
Другой триггер каждую долю секунды проходит по ApplyPoison, каждому снижает армор, удаляет из группы ApplyPoison, добавляет в группу Poisoned. Условие триггера: кол-во юнитов в ApplyPoison больше 0.
Третий триггер каждую долю секунду проверяет наличие баффа на юнитах в Poisoned. Если баффа нет, возвращаем армор, удаляем из группы. Условие триггера: кол-во юнитов в Poisoned больше 0.
Четвёртый триггер при смерти юнита удаляет его из групп ApplyPoison и Poisoned.
» WarCraft 3 / Группа или как правильно сделать pick
» WarCraft 3 / Не работает IsUnitIllusion
Ред. PT153
» WarCraft 3 / Увеличение значения целочисленной переменной на 1
Ред. PT153
» WarCraft 3 / Не работает IsUnitIllusion
Ред. PT153
» Администрация XGM / Глючит лента новостей при обновлении ресурса
Первая картинка является скриншотом ленты комментариев. Обведённый вопрос пропал из ленты проектов (оставшиеся 2 картинки).
» WarCraft 3 / Цикл не выполняется нужное кол-во раз
» WarCraft 3 / Путь для нестандартного шрифта у Warcraft 3...