28

» WarCraft 3 / Проверка способности

Почему-то не работает все равно.
Скриншоты триггера, пожалуйста.
28

» WarCraft 3 / Можно ли уменьшить счётчик юнитов на экране статистики?

И просить что-то сделать даммика для нейтрального игрока через специальные нативки.
28

» WarCraft 3 / Можно ли уменьшить счётчик юнитов на экране статистики?

Принятый ответ
К сожалению, никак, можно воздействовать только на ресурсы и героев (удалением их или передачей нейтральному) на экране статистики.
28

» WarCraft 3 / Проверка способности

8gabriel8:
Так в первом триггере условие, что атакованный не должен быть в Poisoned_units.
А по поводу юнитов как-то задавал вопрос, мне сказали, что типа (Attacked unit) утекает и остальные тоже.
Тогда хорошо.
Они не утекают, эти функции возвращают юнитов сразу, они все являются константными нативками.
28

» WarCraft 3 / Проверка способности

8gabriel8, у тебя выходит, что каждый раз, когда юнит атакован, добавляется событие. Ты уже как-то описывал решение этой проблемы через группу.
(Picked unit), (Triggering unit), (Attacked unit)
Они не вызывают утечки, вызывают утечки точки и неудалённые группы.

В Poisoned units лучше добавлять во втором триггере.

Тут можно обойтись 1 группой Reduced Armor и проходить только по ней.
28

» WarCraft 3 / vJass + cJass

ScopteRectuS:
Всё, что есть в vJass есть и и в cJass. Не всё, что есть в cJass есть в vJass.
cJass даёт только оптимизацию скрипта, он не даёт новых больших фич без vJass, типа структур, .execute(), .evaluate() и прочее.

У меня из-за включённого cJass были некоторые проблемы с сохранением, потому отключил его. Начал я с прочтения оригинала мануала vJass, про cJass прочитал позже, когда бОльшая часть кода уже была написана, потому и не переходил на него.

А вообще, на сайте есть мануалы по cJass и vJass, читаешь их. Так-то их можно комбинировать, но осторожно.

А ещё почитай предложенные ответы от бота.
28

» WarCraft 3 / Проверка способности

Если есть возможность подождать вечера понедельника, то сделаю наработку с комментариями. Лучше мне в понедельник об это напомнить.
28

» WarCraft 3 / Группа или как правильно сделать pick

потому что тебе так или иначе нужна группа
Мне группы не нужны, потому я всё делаю в фильтре.
PT153:
Вместо GetTriggerUnit нужно поставить GetSpellUnit().
GetSpellEffectUnit()
Вот это никогда работать небудет, т.к все Get функции такого типа, работают только в потоке триггера который сработал на соответствующие событие, если их вызвать вне потока триггера - они вернут null.
Pashka5, вот это совершенно верно.
28

» WarCraft 3 / Способность "Пустить корни"

Всё проще. Убери способность. Глянь в модели, какой тег у закопанной анимации. Этот тег пропиши в требованиях к анимациям в Редакторе объектов дереву (как у рыцаря или ратуши эльфов).

Это также можно сделать триггерно.
28

» WarCraft 3 / Проверка способности

Событие: применения способности
У него пассивка.
Действие: отряд выбрать каждого юнита в зоне игровой карты с условием, если совпадающий юнит = юнит цель
А это зачем, ведь можно сразу к цели всё применить.
28

» WarCraft 3 / Группа или как правильно сделать pick

Нафиг это делать в фильтре?
А зачем добавлять что-то в группу, чтобы её потом чистить и прочее.
Замеры лича, которыми он делился на HIVE, говорят, что ForGroup() медленнее перебора цикла.

Вместо GetTriggerUnit нужно поставить GetSpellUnit().
28

» WarCraft 3 / Проверка способности

8gabriel8:
Вообще-то есть. Урон ещё не нанесён, но бафф уже висит.
Да? Значит всё ещё проще.
Он же учится.
Лучше сразу учиться делать правильно. Событие "Юнит атакован" нагружает игру, так как срабатывает очень часто, особенно если в действиях что-то тяжёлое. У меня из-за него моя тдшка лагала. Поставил условие, что для каждого юнита это событие срабатывает не чаще 2х раз в секунду, лаги исчезли.
28

» WarCraft 3 / Проверка способности

Вместо "Юнит атакован" нужно использовать событие "Юнит получает урон" (нужно регистрировать каждого юнита) с условием (Получаемый урон больше 0 И Источник урона имеет способность Х).
При получении урона баффа ещё нет, потому добавляем в группу.ApplyPoison.
Другой триггер каждую долю секунды проходит по ApplyPoison, каждому снижает армор, удаляет из группы ApplyPoison, добавляет в группу Poisoned. Условие триггера: кол-во юнитов в ApplyPoison больше 0.
Третий триггер каждую долю секунду проверяет наличие баффа на юнитах в Poisoned. Если баффа нет, возвращаем армор, удаляем из группы. Условие триггера: кол-во юнитов в Poisoned больше 0.
Четвёртый триггер при смерти юнита удаляет его из групп ApplyPoison и Poisoned.
28

» WarCraft 3 / Группа или как правильно сделать pick

Принятый ответ
Первый вариант должен работать, если фильтр относится к группе.
IsUnitType() == false замени на not IsUnitType().
28

» WarCraft 3 / Не работает IsUnitIllusion

теме-то год...
Я знаю, просто её недавно кинуло в "Похожие вопросы", зацепила тем, что верный ответ не является таковым. Есть темы и постарше, где такая же ситуация.

Добавлю. Сам как-то столкнулся с тем, что IsUnitIllusion() типа не работает, поставил дебаг на имя, после этого всё разрешилось.
28

» WarCraft 3 / Увеличение значения целочисленной переменной на 1

Лол))

Запихнул обнуление своей переменной ВНИМАНИЕ! в триггер, который игрокам-компьютерам каждые 2 секунды обновляет ресурсы. А вместе с этим и обнуляет снова и снова мою переменную.
Для таких целей и есть F11, позволяет выяснить, где что используется.
28

» WarCraft 3 / Не работает IsUnitIllusion

А вообще, проще по-моему сделать свою игру, чем нормальную карту в варкрафте -_-
Стоит отметить, что конструкция if (condition) return true else return false в любом языке крайне бессмысленна, когда можно просто написать return condition. Аналогично и с if (condition == true). С такими знаниями (точнее, с их отсутствием) свою игру сделать будет проблематично. Лично я советую поучить булевую логику, её сдают на ЕГЭ по информатике.

По поводу же самого JASS крайне невыгодно добавлять в группу юнитов, чтобы просто сделать с ними что-то в ForGroup, все необходимые действия можно (а порой и нужно) сразу делать в фильтре, при этом никого в саму группу не добавляя. К тому же, последние замеры говорят, что ForGroup хуже вытаскивания юнитов из группы циклом.

Ну а теперь самый прикол, когда добавляю проверку на IsUnitIllusion == true, то оно тупо не находит иллюзии
Если ставлю IsUnitIllusion == false, то оно других юнитов считает как не иллюзии (ну это понятно), но и САМИ ИЛЛЮЗИИ ОПРЕДЕЛЯЛ КАК НЕ ИЛЛЮЗИИ!
Очень вероятно, что ошибка у Вас. Где дебаг на имя того, кто фильтруется и кто попал в саму группу?
28

» Администрация XGM / Глючит лента новостей при обновлении ресурса

Проблема действительно есть.
Первая картинка является скриншотом ленты комментариев. Обведённый вопрос пропал из ленты проектов (оставшиеся 2 картинки).
раскрыть
Загруженные файлы
28

» WarCraft 3 / Цикл не выполняется нужное кол-во раз

Переменная А может использоваться в триггере отлова урона. Выходит следующее: Стартует наш цикл с А = 1, выполняется триггер с отловом урона, где также используется А, А меняется, выполнение возвращается в наш цикл, доходит до конца, сравнивает А с конечным значением, а А уже больше. Цикл завершается.