28

» WarRaft / IntelliJASS

Unryze, да vJass в рефе можно просто в проводнике посмотреть.
Загруженные файлы
28

» WarRaft / IntelliJASS

nazarpunk, ладно, ты всё же прав.
Note: For senseless reasons: requires, needs and uses all work correctly and have the same function in the library syntax, but please use requires, the other ones may be gone one day...
В ZINC не нашёл упоминания других слов. Но раз уж они не исчезли из vJass, то считаю, что всё же стоит их добавить в грамматику плагина, дабы сделать её полной.
28

» WarRaft / IntelliJASS

nazarpunk:
Я оставил только requires. Ибо судя по статье только он каноничен.
Офигительный вывод. В статье даже слова "каноничный" нет. Не смотря на то, что это вольный перед GetLocalPlayer, который даже не все фичи языка перечислил в некоторых разделах. Рекомендую ссылаться на оригинал.
Смысл заявлять о поддержке vJass, когда на самом деле её нет?
Формат примитивный, проблема в том, что эти строки меняются как черти, например если создать апгрейд с 10-ю уровнями, порядок строк и описаний будут тасоваться в зависимости от того в каком порядке их править.
  1. Создаём улучшение/способность.
  2. Заполняем уровень 1.
  3. Просим автоматически заполнить остальные уровни.
  4. Все дальнейшие правки делаем только в .wts посредством карты-папки или через экспорт и импорт строк.
  5. Номера строк не меняются, идут в порядке уровней.
  6. ???
  7. PROFIT.
28

» WarCraft 3 / Утечки группы.

EugeAl, твой вариант тоже будет перебирать всех подряд, только ещё и группу очищать нужно. В моём варианте как раз наоборот нет лишней работы в виде чистки группы. А всё остальное идентично.
Твой вариант через очистку:
call GroupEnumUnitsOfPlayer(TempGroup, Player(0), null)
call ForGroup(TempGroup, function Actions)
call GroupClear(TempGroup)
Мой вариант через фильтр:
call GroupEnumUnitsOfPlayer(TempGroup, Player(0), Filter(function Actions))
В обоих случаях функция действия такая:
function Actions takes nothing returns nothing
    if /* делаем проверки над юнитом */ then
        /* делаем действия над юнитом */
    endif
endfunction

Фильтры в JASS кешируются, поэтому удалять его не нужно. Но я всегда их заношу в глобалки.
28

» WarCraft 3 / Чем можно заменить "TriggerRegisterTimerEventSingle"?

nazarpunk, этим можно пренебречь в контексте гуи. Сначала убираем валидные утечки, потом, если всё ещё есть проблемы, уже убираем из-за JASS.
28

» WarCraft 3 / Утечки группы.

EugeAl, если не нужно хранить коллекцию юнитов, можно вообще их даже в саму группу не добавлять. Просто в Enum передавать фильтр с нужными дейтсвиями, а самом фильтре либо возвращать false, либо ничего. Я такой способ уже давно практикую.
28

» WarCraft 3 / Чем можно заменить "TriggerRegisterTimerEventSingle"?

Хм, а как понять, что функция "вредна" и создаёт утечки?
Создают утечку не функции, а автор карты. Надо просто следить за созданием объектов и ненужные удалять.

Если вы на рефе, есть либа, которая исправит все утечки.
28

» WarCraft 3 / Чем можно заменить "TriggerRegisterTimerEventSingle"?

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

Ничем не заменять, абсолютно безвредная функция.
function TriggerRegisterTimerEventPeriodic takes trigger trig, real timeout returns event
    return TriggerRegisterTimerEvent(trig, timeout, true)
endfunction

function TriggerRegisterTimerEventSingle takes trigger trig, real timeout returns event
    return TriggerRegisterTimerEvent(trig, timeout, false)
endfunction
28

» WarCraft 3 / JNGP: ReBuild by Enobraed

Посмотрел vrJass, при беглом осмотре всё оттуда есть в ZINC. Ладно бы проект обновлялся, но последний релиз был в 2016.
28

» WarCraft 3 / JNGP: Rebuild от PT153

SсRealm, первый вариант есть, надо включить Colorizer. Но в моих настройках он офается, были с ним какие-то проблемы + я описания держал в таблице и раскрашивал скриптом по ключевым словам.
Что касается остального - моя сборка носит чисто косметический характер: дополнить Rebuild недостающими файлами и обновлениями. Есть, например, сборка от moyack, там куча дополнительных утилит. Или вот от Enobraed.
Загруженные файлы
28

» WarCraft 3 / Кривая Безье

В далёком 2021 делал для кого-то примеры того, как использовать Безье в варе.
Пример кубической Безье. xgm.guru/files/100/319649/comments/525358/Bezier_example_1.w3m
Тут рабочий просто "бежит" по кривой построенной на основе 4-х точек.
Пример квадратичной Безье. xgm.guru/files/100/319649/comments/525358/Bezier_example_2.w3m
Тут рабочий движется к пехотинцу по воздуху. Из опорных точек можно установить только ту, что в воздухе, указав её высоту и расположение на линии между пехотинцем и рабочим.
Загруженные файлы
28

» WarCraft 3 / Не отображается текст в WarCraft reforged

Tony_North37, какой язык в редакторе в игре? Точнее, какой язык у самой карты стоит основным.
28

» WarCraft 3 / Не отображается текст в WarCraft reforged

Давай так попробуем.
В {{Warcraft III\_retail_\fonts}} расположи файл. Папку fonts нужно будет создать.
Далее нужно будет активировать этот .reg файл (включает локальные файлы для игры).
Загруженные файлы
28

» Wisp TD / Скачать карту

konvan5, нет. Но дать возможность скачать без авторизации всё же стоит. Так-то карта выложена и на EpicWar, и на maps.reforged.com.
28

» Администрация XGM / Плитки навигации

Было бы неплохо сделать перенос заголовка, если нет описания.
Загруженные файлы
28

» WarCraft 3 / Не отображается текст в WarCraft reforged

Решается также, как и на обычном варике - через локальные файли и закидыванием шрифта с ру символами.
28

» WarCraft 3 / 16. Функция как объект

без нового потока смысл был бы нулевой в этой функции.
Абсолютно нет, это всё ещё вызов условий триггера и всё ещё вызов функции из любого места кода (о чём и говорится в цитате из этой статьи).
Я всегда считал, что TriggerEvaluate не создаёт свой поток, поэтому эта функция и быстрее TriggerExecute. И поэтому для создания потоков я использовал .execute(). А оно вон как на самом деле: TriggerExecute медленный из-за поддержки вейтов.
Показали бы конкретику - карту без этой фичи и с ней, и что она конкретно дает разрабу
Читаем статью, получаем ответ на вопрос.