Всем привет.
Хочу подменить в мапе war3map.lua на свой кастомный.
Изначальная идея - реализовать hot redeploy скриптов во время работы в редакторе.
Но как только я подменяю war3map.lua, ниче не меняется. Ни в случае с открытым World Editor, ни с закрытым.
Жалуется, что не может сохранить war3map.w3i.
Хочу подменить в мапе war3map.lua на свой кастомный.
Изначальная идея - реализовать hot redeploy скриптов во время работы в редакторе.
Но как только я подменяю war3map.lua, ниче не меняется. Ни в случае с открытым World Editor, ни с закрытым.
Жалуется, что не может сохранить war3map.w3i.
Тут в принципе не важно jass или lua. Вопрос именно в том, как технически правильно подменять скрипты ?
Принятый ответ
правда в идеале хотелось бы иметь хот редеплой.
Имеется в виду в самой игре или что?
и по-хорошему, чтобы не затирались скрипты после пересохранения карты в предакторе
Для этого придется сначала вытаскивать скрипт из оригинальной карты, затем собирать твои скрипты + этот в один и пихать обратно. Это не сильно сложно.
setlocal EnableDelayedExpansion
if exist pid.txt (
set /P pid=<pid.txt
echo !pid!
taskkill /F /PID !pid!
)
set map=output\map.w3x
mkdir output
xcopy ..\test_stuff_map.w3x %map%* /Y
"tools\MPQEditor.exe" add "%map%" "war3map.lua" "war3map.lua"
"tools\MPQEditor.exe" add "%map%" "testdialog.fdf" "TestDialog.fdf"
"tools\MPQEditor.exe" add "%map%" "ui_list.toc" "ui_list.toc"
set game=E:\games\Warcraft III Public Test\x86_64\Warcraft III.exe
start "" "%game%" -loadfile "%~dp0%map%" -windowmode windowedfullscreen %arguments%
for /F "TOKENS=2,3,*" %%a in ('tasklist /FI "IMAGENAME eq Warcraft III.exe"') do set MyPID=%%b
echo %MyPID% > pid.txt
Мой скрипт. Большая часть кода здесь отвечает за автоматический перезапуск игры.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован theSTORM
При запуске карты скрипты просто не появляются.
Doc: Если речь про MPQ формат, то MPQEditor.exe не может подменить скрипт, т.к. процесс занят редактором, если с закрытым редактором делать, то скрипт подменит, но результат я не вижу
Отредактирован Doc
К примеру если карта сохранялась в JASS-моде, то нельзя будет вместо war3map.j подсунуть war3map.lua и наоборот
И после подмены скрипта важно не сохранять карту в редакторе - иначе всё сводится к бесполезности
но пока не нашел никакого способа.
Отредактирован theSTORM
Переменные теперь окружения интересуют)
Какие значения у %arguments% и %~dp0% ?
а %game% путь до exe варика
Doc:
Doc:
Отредактирован Doc