Всем привет.
Хочу подменить в мапе 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
Переменные теперь окружения интересуют)
Какие значения у %arguments% и %~dp0% ?
а %game% путь до exe варика
Doc:
Doc:
Отредактирован Doc