01 АВГ |
ivanbakavan
JNGP Lua Edition» опубликован |
» Предназначение: Работа с редактором
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 (отредактируйте его при помощи любого текстового редактора)
» пример на картинке
- путь не должен содержать кириллицы
- внимательно следите за слешами в пути: в проводнике русской win 10 один / между директориями, поэтому замените их на \\
- внимательно следите за слешами в пути: в проводнике русской 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"
Полезные ссылки
- JNGP Lua Edition на Hiveworkshop.com
- Подсветка lua в Visual Studio Code или в IntelliJ IDEA
- Как реализовать поддержку .lua в Windows (на английском)
- Warcraft 3 Lua Package Manager - вносит менеджмент пакетов и es6-подобные Lua модули в проект карты
- Сборка и препроцессор для WC3 Lua карт вне редактора (на английском)
» Другие версии
Просмотров: 2 271
Мне нравится +12
- 0
Блог
Проекты:
ТТМФ
Музыка
WarCraft 3
World of WarCraft
Проекты:
XGM Staff
WarCraft 3
Гильдия «Черамор»
Проекты:
XGM Staff
WarCraft 3
Гильдия «Черамор»
Блог
Проекты:
Minecraft
Oasis and Desert: Reborn
XGM Staff
Game Observer
Terraria
The Kingdom of Kaliron
Dota 2
Starbound
Игры
WarCraft: Armies Of Azeroth
Проекты:
XGM Staff
WarCraft 3
Гильдия «Черамор»
Блог
Проекты:
ТТМФ
Музыка
WarCraft 3
World of WarCraft
Блог
Блог
Проекты:
Minecraft
Oasis and Desert: Reborn
XGM Staff
Game Observer
Terraria
The Kingdom of Kaliron
Dota 2
Starbound
Игры
WarCraft: Armies Of Azeroth
DopaMine: Вот так выглядит у меня
DopaMine: Всё, нашёл! Не знаю, как удалить сообщение(
Короч, сбандлил war3map.lua поместил его в папку с картой, открыл карту в WE, итог: в редакторе триггеров структура файлов и каталогов конечно же не создалась, что вполне очевидно, и при сохранении карты файл war3map.lua перезаписывается на стандарный (почти пустой) скрипт (когда в редакторе триггеров ничего нет).
Как это обойти? Можно ли как-то импортировать все файлы в WE?
Ручками не варик - с ума сойдешь.
Блог
Проекты:
StarCraft 2
Т.е. код генерируемый WE используется как часть бандла и обратно war3map.lua не импортируется, вместо этого вместе с бандлом собирается отдельная карта, которая не открывается в WE, а только запускается в игре.
Из минусов - проверка карты из редактора запускает карту без внешнего кода. Естественно, запуск карты на тестирование автоматизируется, чтобы можно было сделать это одним нажатием кнопки в среде разработки, а не вручную, но всеравно приходится сохранять карту в WE, потом переключаться во внешнюю среду разработки и запускать проверку карты оттуда.
Более того, есть готовые решения и для сборки кода и для сборки карты.
И можно подробнее про готовые решения? :)
Ну код я собираю через WLPM, А вот как карту сохранить одним файлом со своими скриптами - я хз
Где можно найти какие-нибудь наработки на Lua или различные примеры кода?
Блог
Проекты:
StarCraft 2
По факту - карта просто пакуется внешним mpq-упаковщиком после сборки кода и потом отправляется в игру через параметр командной строки.
prog, В общем, поставил я warcraft-vscode и вроде пока все норм. Спасибо)
Блог
Проекты:
StarCraft 2
На данный момент проект состоит из трех частей:
prog, А есть какие-нибудь сборщики для JASS'а и его диалектов? По типу как WLPM?
Блог
Проекты:
StarCraft 2
Блог
Проекты:
StarCraft 2
Блог
Проекты:
Tank Battle!
Dune: Raiders of Arrakis
Серия игр Stronghold
Ведьмак
Knights and Merchants: Remake
Fantasy Pirates
Железная эпоха
Мой косяк или?
Еще при включенном Lua выдает ошибку "Failed to execute script luahelper", вообщем луа не работает и писать на нем не могу.
Дырявая сборка, не работает. Директивы не работают. То не может запуститься, то запускается, но ничего нет. Все сделано слишком криво, через жопу. Не нужна такая сборка, надо переделывать.
Проекты:
Wisp TD
Да и в принципе зачем для редактора использовать сборки ICCUP?