18

» WarCraft 3 / Lua для чайников

Для того чтобы легко поддерживать хоть сколько то большой проект на lua необходимы подсказки типов. А те typechecker которые есть сейчас не имеют возможности описывать generic типы.
Из за того что стандартный тип table имеет разные порядок при обходе через pairs() на разных ПК, это критически требует создания собственных коллекций просто чтобы начать хранить данные, а без generic типов поддержка коллекций быстро превратится в ад
18

» WarCraft 3 / Триггер на стак предметов в инвентаре

Он имеет ввиду
  1. Либо отлаживать приказ smart когда кликаешь на предмет и когда подошел делать автосбор
  2. Либо дублировать предметы, бутылка-руна и бутылка предмет, поднимаешь всегда руну а дальше смотришь положить предмет в инвентарь или состакать заряд
18

» WarCraft 3 / Visual Studio Code: WarCode

а встроить один язык в другой ваш хвалёный LSP в вскоде умеет?
А почему нет?)

Только в 99% это хреновая затея так как ничего не гарантирует, разве что банальная подсветка ключевых слов
18

» WarCraft 3 / Visual Studio Code: WarCode

Давеча реализовал вложенные многострочные комментарии для vJASS. Ваша хвалёная вскода так умеет?
Такое умеет любой LSP сервер который может быть написан на любом языке и подключен к vscode)
18

» WarCraft 3 / Определение хоста карты

просто воспользоваться нативкой
Или подождать адептов мемхака...
Слишком просто...
18

» WarCraft 3 / Приоритеты атаки

Редактор Объектов -> Нужная боевая единица -> Характеристики - Приоритет (снизу)
18

» Quro / Quro

Попробовал я перейти на луа. Ну сложна. Вышел на моменте что в карту что-то запаковывать надо будет руками чуть ли не через mpq архивы. Ну неудобно. Сделайте встроенную визуальную поддержку луа в джнгп. Тогда на это можно будет переходить.
Для того чтобы удобно было разрабатывать карту на lua сейчас надо выполнить следующие действия:
  1. Положить в карту файл war3map.lua с одной строчкой
local my = require "my"
  1. Создать в папке файл Game\Warcraft 3 Frozen Throne\lua\my.lua
  2. Запустить игру с флагом -dev (режим разработчика)
С этого момента при запуске карты игра будет автоматически подгружать файл my.lua. Туда можно вносить изменения с помощью любой IDE.
Для того чтобы проверить изменения в my.lua даже не надо закрывать игру, достаточно нажать в меню перезапустить карту и новый my.lua подтянется автоматически.
Только когда надо релизить новую версию карты, тогда необходимо перенести изменения из my.lua в war3map.lua, чтобы код работал в обычном режиме.
18

» WarCraft 3 / Циклы и их лимиты (+ способы обхода лимитов)

каким образом можно писать что lua hrua cjass vjass ...{вставить ещё сотню языков} могут больше чем оригинал?
если они в конце компиляции тупо конвертят свой личный код в обычный жас
lua не конвертируется в jass, это отдельный язык со своей luaVM который интегрируется в игру и дергает нативки как сишные функции, оп-лимит это прикол исключительно jassVM
18

» WarCraft 3 / как создавать юнитов с уникальным HandleId ?

//StringHash((I2S((GetHandleId((O41904)))) )) сохраняется под значением StringHash и дополнительно под Хэндл
Почему просто не использовать GetHandleId(...) вместо StringHash(I2S(GetHandleId(...))) ?
18

» WarCraft 3 / Циклы и их лимиты (+ способы обхода лимитов)

вчера он аналогично не захотел обработать 50 строк длиннее 1000 символов - ну ладно, на тебе второй триггер
но нет же, сегодня во втором триггере заглох при обработке одной строки на 1400 символов (во время вызова доп функции) - пришлось делать триггер в триггере
итого 3 раза цикл из-за оплимита оборвался и не доработал, пока его на триггер не посадили
сидишь только и борешься с оплимитом в циклах сутками
Да понимаю что это сложно, поэтому рекомендуй уйти на lua где нет такого лимита и больше перфоманс. Если такой возможности нет то дели код на части и делай отложенные вычисления типа таймером на 0 сек и т.п.
18

» WarCraft 3 / как создавать юнитов с уникальным HandleId ?

от чего естественно летит вся ht,
При удалении юнита должны чистится все данные в ht которые с ним связаны, иначе это ведет к засорению памяти, лагам и крашу

или надо периодически обнулять всю ht и заполнять заново? (разве нет команды очищения ht? только через пересоздание?)
Инициировать хеш-таблицу (InitHashtable()) насколько мне известно можно только 255 раз. Чтобы работать с пересоздаваемыми хеш-таблицами на jass нужно писать свою систему, типа такой xgm.guru/p/wc3/hashtable8000
18

» WarCraft 3 / Как изменить модели строительства зданий

MrFox987, можно, скрывать/перемещать оригинальное здание, ставить пустышку и проигрывать ей нужную анимацию, со всеми вытекающими нюансами
18

» WarCraft 3 / Программа для конвертации jass кода в lua

Они автоматически переименовываются?
Нет, потому что тогда бы пришлось гарантировать что отсутствуют конфликтов в области видимости имен
18

» WarCraft 3 / Visual Studio Code: WarCode

Потому "супер-секретные" или "гиганты" монетизации (тот же треклятый Denuvo) не Open-Source, ибо они тогда утеряют весь свой смысл
Интересно зачем сравнивать Denuvo с IDE так как это разные вещи, мы обсуждаем инструмент для работы
18

» WarCraft 3 / Visual Studio Code: WarCode

Я всё ещё не вижу пруфов, что в открытом коде нет бекдоров. А также, что вскода собранна именно из этого кода.
Открытый код не гарантирует что там нет бекдоров и т.п, но он хотя бы предоставляет возможность всем участникам это проверить, в том числе с использованием автоматизированных средств проверки, а собирать можно из исходников
18

» WarCraft 3 / Visual Studio Code: WarCode

"завтра что-то перестанет работать"
Может не только просто перестать работать, а даже нанести ущерб
PT153:
то бремя предоставления доказательств лежит на
лежит на утверждающем - без проблем
Исходный код закрыт поэтому нет возможности убедиться в отсутствии недокументированных возможностей. А даже если мы убедимся в этом для одной версии, то нет гарантий для будущих версий
18

» WarCraft 3 / Visual Studio Code: WarCode

Реальных случаев ... не было
Получается если чего то не было значит и не будет, это отличный аргумент

Смысл в том что вместо того чтобы пользоваться инструментами которые позволят переиспользовать продукт в любой IDE мы будем писать так, чтобы это работало только в одном месте, огромные благодарности
18

» WarCraft 3 / Visual Studio Code: WarCode

Ну это просто хохма. Изначальный разговор был о том, что Назару не нравится API вскода. В результате дискуссии Назар привёл пример с инжектом. Ты на него решил ответить и спустя пару сообщений заявить следующее:
Но говорить что IDE зиждиться на langiage injection это слишком громко
Эта хохма тут чтобы показать насколько нелепо приводить единственный обсуждаемый и по сути доказательный пример качества api IntelliJ и некачества api vscode, можно сравнить с другими редакторами nvim например

Насколько мне известно, пиратки есть. Также, если ты не продлишь подписку на Professional Edition, у тебя останется та версия, которая была доступна на момент истечения подписки, обновлений не будет.
То есть доказательств что внезапно что-то пойдет не так по сути нет

Есть какие то доказательства что VScode нельзя отключить удаленно или что оно через время не превратится в тыкву
Доказательства на гите

Идём к окулисту, лечим избирательную слепоту, читаем изначальный комментарий и разбиваем его по тезисам
Там написано, не хочу пользоваться js, не хочу пользоваться ts, не хочу пользоваться сборщиками - все говно. Какие тут нужны комментарии.
По поводу того что надо обязательно собирать дерево на стороне vscode, это точно так у всех плагинов? например у lua-language-server. Что то мне подсказывает что если lsp сервер собрал дерево, то vscode просто наводит визуал по нему
18

» WarCraft 3 / Visual Studio Code: WarCode

Не перестанут, для работы не требуется соединение к серверам JetBrains
Есть какие то доказательства что его нельзя отключить удаленно или что оно через время не превратится в тыкву, насколько известно это ПО работает через лицензию. Предлагаешь пиратить?

Господа, вы с каждым сообщением всё дальше от Бога изначальной темы, а именно, что API VS Code унылое.
Сервер проверки кода должен иметь минимум зависимостей от конкретной IDE
Во вторых кроме названных двух IDE есть еще консольные, которой некоторые сотрудники и в том числе лиды пользуются на работе

Если есть какие то претензии к API VSCode можно создать публичную дискуссию на гите которую можно лайкнуть. Но говорить что IDE зиждиться на langiage injection это слишком громко
18

» WarCraft 3 / Visual Studio Code: WarCode

Интересно, а кому принадлежит GitHub?
Есть аналог в виде GitLab + свой гит религией запрещено поднимать?)
18

» WarCraft 3 / Visual Studio Code: WarCode

Завтра продукты Microsoft перестанут работать и будут работяги сидеть у разбитого корыта.
VSCode можно форкнуть