0
28
2 months ago
Edited by PT153
0

» IntelliJASS / IntelliJASS

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

» WarCraft 3 / JNGP: ReBuild by Enobraed

SсRealm, увеличение текста есть в настройках TESH
0
28
2 months ago
Edited by PT153
0

» 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 кешируются, поэтому удалять его не нужно. Но я всегда их заношу в глобалки.
1
28
2 months ago
1

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

rsfghd, нет, приказ это число или строка.
1
28
2 months ago
1

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

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

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

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

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

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

Если вы на рефе, есть либа, которая исправит все утечки.
3
28
2 months ago
Edited by PT153
3

» 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
1
28
2 months ago
1

» WarCraft 3 / JNGP: ReBuild by Enobraed

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

» WarCraft 3 / JNGP: Rebuild от PT153

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

» 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
Тут рабочий движется к пехотинцу по воздуху. Из опорных точек можно установить только ту, что в воздухе, указав её высоту и расположение на линии между пехотинцем и рабочим.
1
28
2 months ago
Edited by PT153
1
0
28
2 months ago
Edited by PT153
0

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

Tony_North37, какой язык в редакторе в игре? Точнее, какой язык у самой карты стоит основным.
0
28
2 months ago
Edited by PT153
0

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

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

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

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

» Администрация XGM / Иконки

А можно ли указать стиль? Classic/sharp или solid/regular/light/duotone/thin?
1
28
2 months ago
1

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

Было бы неплохо сделать перенос заголовка, если нет описания.
Uploaded files
2
28
2 months ago
2

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

Оформил главную с помощью плиток.
0
28
2 months ago
0

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

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

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

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

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

Функция, как объект, имеет некоторые преимущества - метод evaluate позволяет совершать вызов функции из любого участка кода, даже если место вызова находится выше места объявления функции. Метод execute делает то же самое, но при этом порождает новый поток, однако, выполняется быстрее старого доброго ExecuteFunc.
И может так и было, когда JassHelper только создавался, но я сейчас сам протестировал на 1.26, TriggerEvaluate действительно создаёт свой поток. Тогда в execute() нет смысла кроме вейтов.
Забавный факт: execute() не возвращает значение, даже если оригинальная функция это делает. Почему? Vexorian решил, что это не нужно. 🤣

Не удивлюсь, если TriggerExecute на самом деле нифига не быстрее ExecuteFunc.
Uploaded files
0
28
2 months ago
0

» WarCraft 3 / Полярное смещение (скорость тригонометрических операций)

nazarpunk, кстати, в JASS это действительно так. Но есть нюанс.