JNGP Lua Edition

Добавлен , опубликован
Программы
Предназначение:
Работа с редактором
Jass New Gen Pack - расширенный редактор карт для Warcraft 3.
Lua Edition основывается на JNGP 5g (последней версии) и собрана для работы на версии игры 1.31.

Компоненты
  • Grimoire 1.5 - вмонтированная в WorldEditor утилита, основа остальных плагинов
  • JassHelper 0.A.0.0 - препроцессор и компилятор vJass
  • GrimEx 1.0b - модифицирует интерфейс редактора
  • TESH 2.0 - встроенный текстовый редактор с подсветкой синтаксиса
  • UMSWE 5.0 - вмонтированная утилита, расширяющая возможности редактора

Установка

  • У вас должна быть старая версия игры, где еще есть файлы MPQs (подходящую версию 1.26 скачать можно отсюда)
  • Скачайте по ссылке и разархивируйте в любую директорию файлы (пароль архива: thw, т. к. антивирусы считают этот хак редактора вирусом)
  • Найдите файл findpath.lua и укажите пути к файлам MPQs и файлам с игрой последней версии 1.31 (отредактируйте его при помощи любого текстового редактора)
пример на картинке
- путь не должен содержать кириллицы
- внимательно следите за слешами в пути: в проводнике русской win 10 один / между директориями, поэтому замените их на \\
  • Запустите NewGen WE.exe

Как использовать Lua

  • Просто оберните код в теги //! lua и //! endlua
пример
//! lua
function Trig_Basic_Example_Actions()
    TimerStart(CreateTimer(), 1.00, true, function()
        print("Lua!")
    end)
end
//! endlua
  • Если хотите вызвать функцию Lua из JASS, используйте //# +nosemanticerror (для vJass аналогично)
пример
//! lua
function Trig_Basic_Example_Actions()
    TimerStart(CreateTimer(), 1.00, true, function()
        print("Lua!")
    end)
end
//! endlua

//# +nosemanticerror
function InitTrig_Basic_Example takes nothing returns nothing
    set gg_trg_Basic_Example = CreateTrigger(  )
    call TriggerRegisterTimerEventSingle( gg_trg_Basic_Example, 0.00 )
    call TriggerAddAction( gg_trg_Basic_Example, function Trig_Basic_Example_Actions )
endfunction
  • JassHelper иногда ругается на Lua, поэтому можно импортировать скрипт из папки luascripts, чтобы обойти парсер (можно использовать относительные или абсолютные пути)
//! luaimport "luascripts\test.lua"

Полезные ссылки



`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
1
24
5 лет назад
Отредактирован prog
1
Паковать через MPQEditor можно?
Не пробовал, но скорее всего можно, если там есть поддержка запаковки из командной строки. Я честно спионерил внешний mpq-упаковщик у автора warcraft-vscode, одна из его особенностей в том, что ему можно передать файл со списком файлов которые надо запаковать, что очень удобно когда файлов много и не все файлы из папки надо паковать.
Свой сборщик Lua? Есть репа на гитхабе? Скинешь ссыль? может помогу
Репы на гитхабе пока нет, будет после первого релиза. Тогда и поговорим о помощи, если еще будет желание.
На данный момент проект состоит из трех частей:
  • внешний mpq-упаковщик, пока берется оригинальный из warcraft-vscode.
  • плагин изначально запиленый на основе warcraft-vscode, но без лишнего функционала, фактически это обертка внутри вскода над внешними сборщиками, также выполняет отправку карты на тестирование в игру. Требует значительной доработки и вполне может быть заменен чем-то другим.
  • псевдо-компилятор на c++, который выполняет две задачи - сборку исходников в один файл и препроцессинг кода для добавления небольших, но приятных фич вроде макроса RAW('A000'), в результате парсинга которого в итоговый код попадет числовое значение равкода (для сравнения, сейчас в луа версии карты используется функция FourCC, которая конвертирует строку равкода в число на этапе выполнения кода, автоматической конверсии равкода в число нет, в отличии от того как это работало в JASS).
По поводу поделиться системой сборки в текущем состоянии - там еще слишком много багов для этого, иначе я бы уже выложил первую версию в релиз.

В общем, поставил я warcraft-vscode и вроде пока все норм.
Все норм, если не смотреть на тот ужас, который он делает с кодом в итоговой карте.
0
1
5 лет назад
0
prog, Ну код можно выкладывать на любой стадии разработки ПО. Все желающие смогут подтянуться к разработке.
Все норм, если не смотреть на тот ужас, который он делает с кодом в итоговой карте.
Ну я глянул... и чет да, там какое-то мракобесие
prog, А есть какие-нибудь сборщики для JASS'а и его диалектов? По типу как WLPM?
1
24
5 лет назад
Отредактирован prog
1
А есть какие-нибудь сборщики для JASS'а и его диалектов? По типу как WLPM?
Понятия не имею, если честно - когда я с жассом работал мне хватало того что умеет жассхелпер. Но, например, тот же warcraft-vscode собирает код скриптом внутри плагина к вскоду - запилить свой форк и научить его собирать жасс в теории не очень сложно. Хотя я уверен что есть готовые плагины к вскоду рассчитанные именно на сборку карты в жасс версии.

Ну я глянул... и чет да, там какое-то мракобесие
Самый треш там в отладочном режиме. В "релизном" чуть по лучше, но для релизного надо явно указывать все связи между файлами или заносить их в список, чтобы он включил их в сборку.

Ну код можно выкладывать на любой стадии разработки ПО. Все желающие смогут подтянуться к разработке.
Я до первого релиза код не выкладываю, если проект изначально не начинался с расчетом на совместную разработку.
0
1
5 лет назад
0
но для релизного надо явно указывать все связи между файлами или заносить их в список, чтобы он включил их в сборку
Т.е. этот плагин может и не все файлы подтянуть?
1
24
5 лет назад
1
ChugunovRoman, на момент когда я последний раз трогал оригинал руками - в зависимости от выбраного режима. В отладочном режиме творится муть с заворачиванием кода в строки и всякое такое, но он подтягивает все файлы какие найдет. В релизном выполняется минификация кода и вроде нет заворачивания в строки, но нужно явно указывать что подтягивать.
0
1
5 лет назад
0
prog, Спасибо за разъяснения :)
0
23
4 года назад
0
и собрана для работы на версии игры 1.31.
Сделал все по инструкции, архив скачал, пути проставил. Жнгп открывается, но нифига не 1.31 версии: новые функции отсутствуют и карты 126+ не открывает.
Мой косяк или?
0
1
4 года назад
Отредактирован Раскольник
0
Запускается редактор, который называется "...Unlimited 1.20". Нет новых функций от 1.31, похож на 1.26а редактор, причем все на английском языке, а я на русском привык. И еще ошибки Trigger Database выскакивают. Качать " iccup_war3.." архивы 1.26 не хочется, свои есть.
Еще при включенном Lua выдает ошибку "Failed to execute script luahelper", вообщем луа не работает и писать на нем не могу.
Поставил ссылку на iccup_war3_en. Перестало выдавать ошибки триггеров, но с Lua все та же проблема.
Дырявая сборка, не работает. Директивы не работают. То не может запуститься, то запускается, но ничего нет. Все сделано слишком криво, через жопу. Не нужна такая сборка, надо переделывать.
3 пункта от Msey: 1.1 (ненормативная лексика) Что мешает предложить автору сотрудничество и сделать полноценный редактор?
2
28
4 года назад
Отредактирован PT153
2
Lua Edition основывается на JNGP 5g (последней версии) и собрана для работы на версии игры 1.31.
WriteCoin:
Поставил ссылку на iccup_war3_en
Айкап работает на 1.26, а не на 1.31, так что вина не на авторе.
Да и в принципе зачем для редактора использовать сборки ICCUP?
0
1
4 года назад
0
Привет, я скачала версию 1.26, разархивировала архив, но так и не нашла там файл findpath.lua
0
30
4 года назад
0
Наташа Дубайлова:
Привет, я скачала версию 1.26, разархивировала архив, но так и не нашла там файл findpath.lua
Эта сборка уже неактуальна. Скачайте последнюю версию игры 1.32.7.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.