Добавлен ivanbakavan,
опубликован
Программы
Предназначение:
Работа с редактором
Jass New Gen Pack - расширенный редактор карт для Warcraft 3.
Lua Edition основывается на JNGP 5g (последней версии) и собрана для работы на версии игры 1.31.
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 - вмонтированная утилита, расширяющая возможности редактора
Здесь нет AdicHelper (препроцессора cJass от ADOLF) и соответственно нет ScEcp (сборщика кампаний от ScorpioT1000).
Установка
- У вас должна быть старая версия игры, где еще есть файлы MPQs (подходящую версию 1.26 скачать можно отсюда)
- Скачайте по ссылке и разархивируйте в любую директорию файлы (пароль архива: thw, т. к. антивирусы считают этот хак редактора вирусом)
- Найдите файл findpath.lua и укажите пути к файлам MPQs и файлам с игрой последней версии 1.31 (отредактируйте его при помощи любого текстового редактора)
пример на картинке
- Запустите 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"
Полезные ссылки
- JNGP Lua Edition на Hiveworkshop.com
- Подсветка lua в Visual Studio Code или в IntelliJ IDEA
- Как реализовать поддержку .lua в Windows (на английском)
- Warcraft 3 Lua Package Manager - вносит менеджмент пакетов и es6-подобные Lua модули в проект карты
- Сборка и препроцессор для WC3 Lua карт вне редактора (на английском)
Другие версии
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован ScorpioT1000
DopaMine: Вот так выглядит у меня
DopaMine: Всё, нашёл! Не знаю, как удалить сообщение(
Короч, сбандлил war3map.lua поместил его в папку с картой, открыл карту в WE, итог: в редакторе триггеров структура файлов и каталогов конечно же не создалась, что вполне очевидно, и при сохранении карты файл war3map.lua перезаписывается на стандарный (почти пустой) скрипт (когда в редакторе триггеров ничего нет).
Как это обойти? Можно ли как-то импортировать все файлы в WE?
Ручками не варик - с ума сойдешь.
Т.е. код генерируемый WE используется как часть бандла и обратно war3map.lua не импортируется, вместо этого вместе с бандлом собирается отдельная карта, которая не открывается в WE, а только запускается в игре.
Из минусов - проверка карты из редактора запускает карту без внешнего кода. Естественно, запуск карты на тестирование автоматизируется, чтобы можно было сделать это одним нажатием кнопки в среде разработки, а не вручную, но всеравно приходится сохранять карту в WE, потом переключаться во внешнюю среду разработки и запускать проверку карты оттуда.
Более того, есть готовые решения и для сборки кода и для сборки карты.
Отредактирован ChugunovRoman
И можно подробнее про готовые решения? :)
Ну код я собираю через WLPM, А вот как карту сохранить одним файлом со своими скриптами - я хз
Где можно найти какие-нибудь наработки на Lua или различные примеры кода?