В качестве примера возьму 2 мода под 1.0004 патч amk1.4.1 и арсенал мод, прдполагается что папка bin у модов одна и таже
Создаем в корне игры текстовый документ с именем amk.bat и вписываем
Код
ren amk_gamedata gamedata
cd bin
XR_3DA.exe -nointro
cd..
ren gamedata amk_gamedata
Создаем текстовый документ с именем ars.bat и вписываем
Код
ren ars_gamedata gamedata
cd bin
XR_3DA.exe -nointro
cd..
ren gamedata ars_gamedata
Естественно что в папке amk_gamedata будет мод amk 1.4.1, а в
ars_gamedata будет арсенал мод.
Игру запускаем BAT файлом при этом сохранения в игре будут пересекаться, то-есть сохранился в арсенале, а в amk это сохранение вылетит. Тогда делаем так, берем файл fsgame.ltx и переименовываем в amk_fsgame.ltx, открываем блокнотом и изменяем путь до папки с сохранением
Код
$app_data_root$=true|false|C:\|Documents and Settings\All Users\Документы\STALKER-SHOC\
меняем на
Код
$app_data_root$=true|false|C:\|Documents and Settings\All Users\Документы\STALKER-amk\
делаем копию этого файла с именем ars_fsgame.ltx и меняем путь на
Код
$app_data_root$=true|false|C:\|Documents and Settings\All Users\Документы\STALKER-ars\
правим оба батника, добавляем 2 строки в каждый, должно получиться так
Код
ren ars_gamedata gamedata
ren ars_fsgame.ltx fsgame.ltx
cd bin
XR_3DA.exe -nointro
cd..
ren gamedata ars_gamedata
ren fsgame.ltx ars_fsgame.ltx
и так же во втором, amk.bat
Код
ren amk_gamedata gamedata
ren amk_fsgame.ltx fsgame.ltx
cd bin
XR_3DA.exe -nointro
cd..
ren gamedata amk_gamedata
ren fsgame.ltx amk_fsgame.ltx
Все, сохранения будут храниться в разных папках и не будут пересекаться.
Если патчи для модов разные, например 1.0003 и 1.0004, то можно сделать так, например у нас мод "скрытая аномалия" он под 1.0003 патч
и "арсенал мод" он под 1.0004 патч. Нам нужны папки bin с обоих
патчей и файлы gamedata.dbb. В 1.0003 патче он занимает 23.5 мегабайта, а в 1.0004 52.6 мегабайта, папку bin 3 патча переименовываем в sa_bin, а 4го в ars_bin. Файл gamedata.dbb 3-го патча (23.5mb) переименовываем в sa_gamedata.dbb, а файл gamedata.dbb 4-го патча (52.6mb) переименовываем в ars_gamedata.dbb.
Теперь изменяем батники, в ars.bat вгоняем
Код
ren ars_bin bin
ren ars_gamedata gamedata
ren ars_gamedata.dbb gamedata.dbb
ren ars_fsgame.ltx fsgame.ltx
cd bin
XR_3DA.exe -nointro
cd..
ren bin ars_bin
ren gamedata ars_gamedata
ren fsgame.ltx ars_fsgame.ltx
ren gamedata.dbb ars_gamedata.dbb
А в sa.bat пишем
Код
ren sa_bin bin
ren sa_gamedata gamedata
ren sa_fsgame.ltx fsgame.ltx
ren sa_gamedata.dbb gamedata.dbb
cd bin
XR_3DA.exe -nointro
cd..
ren bin sa_bin
ren gamedata sa_gamedata
ren fsgame.ltx sa_fsgame.ltx
ren gamedata.dbb sa_gamedata.dbb
При этом нужно создать этот sa_fsgame.ltx и изменить путь до папки с сохранениями на
Код
$app_data_root$=true|false|C:\|Documents and Settings\All Users\Документы\STALKER-sa\
В процесе игры заметил если свернуть игру и "случайно" закрыть окно
батника то запуск другого мода не произойдет, будет запущен первый мод. Что-бы такого не произошло я доработал батник, вписав в начало каждого бат файла эти строки
Код
if exist %SystemDrive%\WINDOWS\system32\cmdow.exe goto cool
copy cmdow.exe %SystemDrive%\WINDOWS\system32\
:cool
cmdow @ /hid
получилось так
Код
if exist %SystemDrive%\WINDOWS\system32\cmdow.exe goto cool
copy cmdow.exe %SystemDrive%\WINDOWS\system32\
:cool
cmdow @ /hid
ren ars_bin bin
ren ars_gamedata gamedata
ren ars_fsgame.ltx fsgame.ltx
ren ars_gamedata.dbb gamedata.dbb
cd bin
XR_3DA.exe -nointro
cd..
ren bin ars_bin
ren gamedata ars_gamedata
ren fsgame.ltx ars_fsgame.ltx
ren gamedata.dbb ars_gamedata.dbb
Для этого нужно скачать программу cmdow.exe (15kb) и поместить в корень игры. Добавленная команда просто скрывает окно работы бат файла от посторонних глаз.
Наверное у некоторых возникнет вопрос, что делает та или иная строка. На против каждой строчки я напишу действие которое она выполняет
Цитата
if exist %SystemDrive%\WINDOWS\system32\cmdow.exe goto cool -проверяет существует ли файл cmdow.exe, если да то переход к метке :cool
copy cmdow.exe %SystemDrive%\WINDOWS\system32\ -копирует файл cmdow.exe в систему
:cool -метка
cmdow @ /hid -команда "скрыть окно" для cmdow.exe
ren ars_bin bin -переименовывает папку из ars_bin в bin
ren ars_gamedata gamedata -переименовывает папку из ars_gamedata в gamedata
ren ars_fsgame.ltx fsgame.ltx -переименовывает файл из ars_fsgame.ltx в fsgame.ltx
ren ars_gamedata.dbb gamedata.dbb -переименовывает файл из ars_gamedata.dbb в gamedata.dbb
cd bin -переход в папку bin
XR_3DA.exe -nointro -запуск файла XR_3DA.exe с параметром -nointro
cd.. - переход назад в папку gamedata
ren bin ars_bin -переименовывает папку обратно в ars_bin
ren gamedata ars_gamedata -переименовывает папку обратно в ars_gamedata
ren fsgame.ltx ars_fsgame.ltx -переименовывает файл обратно в ars_fsgame.ltx
ren gamedata.dbb ars_gamedata.dbb -переименовывает файл обратно в ars_gamedata.dbb
Если у вас что-то не получается то можно в самом конце батника вписать команду "Pause" предварительно удалив команду "cmdow @ /hid" в окне можно увидеть лог работы и возможные ошибки
Спасибо за внимание.