Был опыт дебаггинга луа в других средах. В т.ч. Luajit, который в десятки/сотни раз быстрее обычного луа. Даже в нем дебаггинг чего-либо невозможен из-за особенностей виртуальной машины (дебаггер реализован посредством вызова коллбека на каждую пройденную строчку кода, поэтому цикл из 5 строк по 100 элементам делает 500 очень медленных вызовов). В большинстве случаев брейкпоинтов в дебаггере просто не дождаться.
В целом советую подумать о разборе типов переменных, система типов в жассе/вжасс очень банальная энивей и ничего принципиально сложного быть не должно.
Довольно бесполезно без поддержки структур и т.д. + реализация слишком базовая, нет никакой гарантии что код в итоге выйдет корректным (та же конкатенация строк).
Подбросить в срач, делал несколько карт на сжасс, в тредах этого не упоминал.
Какая-то да есть, но так не подскажу, из более менее легкого что в голову приходит - открыть MPQ и распарсить файл триггеров чтобы хотя бы понять в каких нужно что-либо отключать.
А что конкретно должно меняться внутри редактора? Правильный метод - копировать карту скриптом в другое место, подменять код в ней (я делаю с помощью MPQEditor.exe) и запускать ее.
Можете оставить этот юмор при себе? Или вы предлагаете для каждой функции вручную описывать замыкания? Эта наработка как раз избавляет от этого разработчика, делая всё в одну строку. Более того, замыкания в луа несколько иначе интерпретируются в jass, чем тут, стоило прежде обратить на это внимание.
Юмор? То, что ты реализовал - это блеклая копия замыканий. Что значит описывать вручную? Прошу экономить время. Я попросил прочитать внимательно, ты видимо прочитал невнимательно или твое понимание какое-то альтернативное от правильного.
По поводу парсера - это неюзабельно для невысококвалифицированной части аудитории
А твое решение расчитано на начинающих?
Я не собираюсь скидывать подробные мануалы по batch скриптам, их полно на первой странице гугла. Вся нужная информация для поиска есть в моем ответе.
Для людей, которые пытаются выглядеть особо умными и знающими, но по факту таковыми не являющимися и пишущими бред вроде "замыкания в луа несколько иначе интерпретируются в jass" (в jass замыканий нет, это высказывание де факто смысла не имеет), привожу пример НЕ требующий никаких библиотек, менеджмента ресурсов или запуска мусорных макросов (советую сравнить с примером в основном посте):
function test0()
print("test0")
end
function test6(a, b, c, d, e, f)
print(a,b)
print(c,d)
print(e);print(f)
print(test6)
end
function MyCode()
local save = function() test0() end
save()
save = function() test6(1.1, 2.1, 3, 4, "_5", "_6") end
save()
end
Подсветка луа есть в куче редакторов, я использую IntelliJ + EmmyLua, есть VSCode, ZeroBrane, SublimeText, да даже Notepad++.
Запускать можно множеством способов, начиная от копипастинга кода в редактор и запускания прямо оттуда, заканчивая билд системами, такими как github.com/ElusiveMori/ceres-wc3
Я использую обычный .bat скрипт, в котором одна строка копирует файл карты, другая вставляет в нее мой код (с помощью MPQEditor.exe), а третья запускает варкрафт с этой картой.
Многих может шокировать невероятно, но близзард и так уже конвертируют жасс в луа, поэтому такой парсер уже есть в стандартной поставке. Либо этот github.com/actboy168/jass2lua
Другой вариант - xgm.guru/p/wc3/jassnewgenpack-lua#lastpost
Сколько тут проектов подохло, которые делали целыми отрядами, а один сделать собрался
Но я уже сделал несколько вполне законченных проектов-модов, в т.ч. проект, который принес приличный доход и собрал игроков, больше чем у 99% инди игр. И все это один и в целом благодаря вк3 моддингу. Про детские фантазии не нужно мне тут заливать. Твоих игр я пока не вижу в стиме на верхних строчках. Недавно вон авточесс собрали миллионы долларов, но у тебя же тут пришло понимание реальной картины, мудрец.
Всё это баловство, которое больше подходит для пацанчиков лет 15. Те, кто пытается и хочет сделать что-то легендарное, только зря тратят время пытаясь делать мапу в варе
Называется хобби, зачем мне это трахание с игрой, я хочу один все сделать и чтобы было красиво. С игрой такое не прокатит.
Господь бог, после этой демки все рвали метали и ныли в голос как новорожденные что графика недостаточно яркая как в оригинале и вообще все слишком бледно (до сих пор так ноют между прочим), теперь наоборот?
Ред. Doc
» WarCraft 3 / Lua remote debugger
» WarCraft 3 / Lua remote debugger
Во-вторых отладка луа стандартными средствами почти бесполезна, слишком сильно проседает перформанс.
» WarCraft 3 / cJass2Lua(v1.12) - Преобразователь кода cJass и JASS в Lua
» WarCraft 3 / cJass2Lua(v1.12) - Преобразователь кода cJass и JASS в Lua
Подбросить в срач, делал несколько карт на сжасс, в тредах этого не упоминал.
» WarCraft 3 / Открыть карту в редакторе рефорджа
» WarCraft 3 / Открыть карту в редакторе рефорджа
» WarCraft 3 / Открыть карту в редакторе рефорджа
» WarCraft 3 / подменить war3map.lua на свой кастомный
Ред. Doc
» WarCraft 3 / подменить war3map.lua на свой кастомный
» WarCraft 3 / подменить war3map.lua на свой кастомный
» WarCraft 3 / подменить war3map.lua на свой кастомный
Ред. Doc
» WarCraft 3 / подменить war3map.lua на свой кастомный
» WarCraft 3 / подменить war3map.lua на свой кастомный
Ред. Doc
» WarCraft 3 / Сохранение функции со списком аргументов
Для людей, которые пытаются выглядеть особо умными и знающими, но по факту таковыми не являющимися и пишущими бред вроде "замыкания в луа несколько иначе интерпретируются в jass" (в jass замыканий нет, это высказывание де факто смысла не имеет), привожу пример НЕ требующий никаких библиотек, менеджмента ресурсов или запуска мусорных макросов (советую сравнить с примером в основном посте):
» WarCraft: Armies Of Azeroth / WarCraft: Armies Of Azeroth
Ред. Doc
» WarCraft 3 / Сохранение функции со списком аргументов
Запускать можно множеством способов, начиная от копипастинга кода в редактор и запускания прямо оттуда, заканчивая билд системами, такими как github.com/ElusiveMori/ceres-wc3
Я использую обычный .bat скрипт, в котором одна строка копирует файл карты, другая вставляет в нее мой код (с помощью MPQEditor.exe), а третья запускает варкрафт с этой картой.
Многих может шокировать невероятно, но близзард и так уже конвертируют жасс в луа, поэтому такой парсер уже есть в стандартной поставке. Либо этот github.com/actboy168/jass2lua
Другой вариант - xgm.guru/p/wc3/jassnewgenpack-lua#lastpost
» WarCraft 3 / Сохранение функции со списком аргументов
» WarCraft 3 / Сохранение функции со списком аргументов
» WarCraft 3 / Изменить интерфейс в карте 1.31+
» WarCraft 3 / Изменить интерфейс в карте 1.31+
» WarCraft 3 / Изменить интерфейс в карте 1.31+
» WarCraft 3 / Изменить интерфейс в карте 1.31+
» WarCraft 3 / Изменить интерфейс в карте 1.31+
» WarCraft 3 / Бета версия Warcraft III Reforged 1.32
» WarCraft 3 / Бета версия Warcraft III Reforged 1.32