Koladik, в статье говорится про утечку локальных переменных: о баге, свойственному только JASS2. Если нет локальных переменных, то утекать нечему. Ну а если создать объект и потом его не удалить, то это уже утечка объекта, что к теме данной статьи не имеет никакого отношения.
В твоём примере объект создаётся и сразу возвращается. Никакой переменной он присваивается. Поэтому и никаких проблем с локальными переменными тут не может быть.
Брандмауэр может работать и с выключенным защитником. Тем не менее, это дефолтное окно, которое ни о каких вирусах не говорит. С вирусами другое окошко.
EugeAl, на скрине именно брандмауэр, а не Windows Defender. Такое же окошко для любой игры с интернетом будет появляться.
А если мне нужно скопировать файлы на другой диск или удалить файл, то где мне их искать?
Опять же, читаем гайд, что я скинул:
If you installed IntelliJ IDEA via the Toolbox App, you can find the installation directory in the app: open the settings of the IDE instance in the Toolbox App, expand Configuration, and look for the Install location field.
Там же, полагаю, меняется и папка установки. А ниже в гайде сказано про отельный установщик именно IntelliJ, в котором ты сразу можешь выбрать, куда ставить. В AppData всё равно будут хранится настройки для юзера, но это не критично.
Как сам думаешь, это всё удобно или нет?
Мне удобно в редакторе с тешем писать. А любой новый проект (если у меня будет интерес) я писать либо на Lua, либо на языке, что который можно конвертировать в Lua.
Что касается IDE - нужна практика. У меня стоит и IntelliJ для Scala, и PyCharm для Python. Я использую продукты JetBrains с 2017 года, поэтому у меня с ними проблем нет.
Основная причина, почему IntelliJ так много жрёт - написано на Java. Но в общем и целом ты обмениваешь скорость разработки на потребление ОЗУ. Нужно ли это для JASS, не знаю.
Ты в первый раз программу с требованием Интернет-соединения запускаешь? Это вообще-то окошко брандмауэра, которое всплывает для любого приложения, что использует Интернет.
Далее, у тебя 4 ГБ ОЗУ, интересно, как у тебя вообще что-то работает. У меня Win10 чуть старее, но с включённым хромом, дискордом и слаком потребляется 6 ГБ ОЗУ. IntelliJ сама по себе потребляет 1.5-2 ГБ ОЗУ, поэтому лаги на пк с 4 ГБ ОЗУ закономерны.
Ты также поставил Ultimate Edition, которая платная. Если нет лицензии, нужно ставить Community Edition. И Назар тебе сразу сказал ставить Community Edition. Я не использую Toolbox, без Toolbox можно установить куда хочешь, но часть данных всё равно будет на системном диске в AppData юзера.
Вишенкой на торте является тот факт, что ты даже плагин, который представлен в этой теме, не поставил, а просто поставил IDE. Неудивительно, что у тебя никакой подсветки нет.
Пытаемся сохранить файл. Папка для сохранения отсутствует. Файл сохранить не удалось
Файлы сохраняются автоматически, а ты пытаешься вообще какую-то ерунду сделать, а именно сохранить файл как шаблон.
Открываем Installation Guide и читаем. Там написано и про платные/бесплатные версии, и про минимальные системные требования (а именно 2 ГБ свободной ОЗУ), и про смену расположения приложения в Toolbox.
На следующей странице гайда рассказано про первый запуск приложения и настройку.
Если вся карта на гуи, то просто отключи JassHelper, сохрани и запуски карту. Если запустится нормально, то где-то в JassHepler баг. Иначе ищи ошибку в гуи
То, я что ожидаю от функции GetHeroExperienceNeeded:
Значение level <= 1 - возвращает 0.
level = 2 - возвращает 200 или другое значение из таблицы в константах.
level = 3 - 500 или другое значение по формуле/из таблицы.
level = 4 - 900 или другое значение по формуле/из таблицы.
И так далее.
Тесты показали, что возвращает exp_required, тогда передачу юнита можно убрать, от героя к герою эти значения не меняются.
Также, GetHeroExperienceNeeded возвращает неверные значения. Так, для уровня 1 будет возвращено 200, хотя все герои изначально имеют уровень 1, то есть верный ответ 0. Для уровня 0 и негативных значений также возвращается 200. Для уровня 2 вернётся 500, хотя для достижения второго уровня нужно 200. И так далее, как будто внутри функция увеличивает переданный уровень на единицу.
Unryze, то, что Blizzard не создавала доку по жассу, не оправдывает отсутствие документации в этом проекте. Тем более, что jass изначально и не создавался для широкой публики (хотя и в этом случае отсутствие документации осуждаю). А вот в гуи документация +/- имеется.
Я могу посоветовать следующее: при создании новых функций сразу писать документацию к ним, а к старым постепенно добавлять.
Disable script optimization - отключает оптимизацию кода. Оптимизатор написан ногами, так что лучше его отключить.
Как раз наоборот, включать эту опцию не стоит примерно никогда. Оптимизатор написан нормально. Только если используется мемхак её стоит включать.
Режим отладки её автоматом включает, но режим отладки должен быть включён только во время разработки.
Глобалку DEBUG_MODE стоит использовать со статичными условиями, а не обычными.
ScorpioT1000, из всех приставок только DIS используется игрой. В контексте скринов лучше оставить как есть, потому что экономный импорт подразумевает одинаковые имена, но разные пути, что невозможно сделать в одной папке. Так-то после импорта в редакторе путь и имя можно поменять.
Я вот заметил, что в той статье все картинки пропали.
Отредактирован PT153
» WarCraft 3 / Утекают ли не обнулённые переменные типа handle
В твоём примере объект создаётся и сразу возвращается. Никакой переменной он присваивается. Поэтому и никаких проблем с локальными переменными тут не может быть.
» WarCraft 3 / Утекают ли не обнулённые переменные типа handle
Отредактирован PT153
» WarCraft 3 / PgUP и PgDn не действуют на декорации
» StarCraft 2 / Azeroth Reborn
» StarCraft 2 / Azeroth Reborn
» IntelliJASS / IntelliJASS
Отредактирован PT153
» IntelliJASS / IntelliJASS
Основная причина, почему IntelliJ так много жрёт - написано на Java. Но в общем и целом ты обмениваешь скорость разработки на потребление ОЗУ. Нужно ли это для JASS, не знаю.
» IntelliJASS / IntelliJASS
На следующей странице гайда рассказано про первый запуск приложения и настройку.
» Прочее / Сэмми Дидье вкатился в Stormgate
» WarCraft 3 / Too many nested ifs
» Unryze Jass API / UjAPI
Отредактирован PT153
» Unryze Jass API / UjAPI
Значение level <= 1 - возвращает 0.
level = 2 - возвращает 200 или другое значение из таблицы в константах.
level = 3 - 500 или другое значение по формуле/из таблицы.
level = 4 - 900 или другое значение по формуле/из таблицы.
И так далее.
» Unryze Jass API / UjAPI
» Unryze Jass API / UjAPI
» Unryze Jass API / UjAPI
» IntelliJASS / VJASS
» IntelliJASS / VJASS
» IntelliJASS / VJASS
» WarCraft 3 / Парсер реплеев
https://github.com/jblanchette/wc3v
https://w3rep.sourceforge.net
https://github.com/PBug90/w3gjs
https://replaytool.warcraft3.org/en:home
https://pypi.org/project/w3g
» IntelliJASS / VJASS
Отредактирован PT153
» IntelliJASS / VJASS
Режим отладки её автоматом включает, но режим отладки должен быть включён только во время разработки.
» WarCraft 3 / Порядок выполнения операций
Отредактирован PT153
» WarCraft 3 / Порядок выполнения операций
» WarCraft 3 / Порядок выполнения операций
Отредактирован PT153
» WarCraft 3 / Создание иконок с XGM - это легко!