Перейти к контенту

Строй-bat


Starter

Рекомендуемые сообщения

Уже довольно длительное время пользуюсь такой возможностью использования батников. Только немного доработал и сделал себе графический интерфейс. Выглядит вот так:

da332174ff2d46cc0865f819599e08cbd97642114070489.jpg

Как видно на одной установленной игре "сидит" у меня сразу 10 модов (и это, конечно же не предел). Причем 9 запускаются на 1.0004, а вот ОГСЕ - на 1.0005. Патч повышается и понижается также бат-файлом, переписываются папки BIN и нужные архивы gamedata.db*. Для каждого мода своя папка с сейвами и скриншотами, свой fsgame.ltx, свой bat-файл. Сразу же вывел возможность просмотреть файл лога. Единственное требование - в момент запуска не должны быть открыты файлы из запускаемого мода, иначе - просто "файл не найден" и запускается оригинал Сталкера.

Экономия места на диске - колоссальная (как и времени на установки\переустановки модов), и в любой момент можно перейти к нужному в данный момент моду.

Для примера - файл, запускающий мод ОГСЕ. Батник сразу при запуске проверяет, корректность завершения предыдущего запуска, если находит ошибку (файл ТХТ с названием ошибочно завершенного мода), то исправляет ее, и только после этого запускает нужный мод.

@echo off

if exist apocalipsis.txt goto clear_apoc

if exist poisk.txt goto clear_poisk

if exist dolg.txt goto clear_dolg

if exist koll.txt goto clear_koll

if exist kollmob.txt goto clear_kollmob

if exist poiskN.txt goto clear_poiskN

if exist logic.txt goto clear_logic

if exist reader.txt goto clear_reader

if exist messer.txt goto clear_messer

if exist ogse.txt goto clear_ogse

 

:start

del -y fsgame.ltx

ren gamedata_ogse gamedata

copy fsgame\fsgame_ogse.ltx fsgame.ltx

ren bin bin_4

ren bin_5 bin

@echo Start ogse>ogse.txt

rem OGSE_Configurator

cd bin

XR_3DA.exe -nointro -noprefetch

cd..

ren gamedata gamedata_ogse

ren bin bin_5

ren bin_4 bin

copy fsgame\fsgame_orig.ltx fsgame.ltx

del -y ogse.txt

goto konec

 

:clear_ogse

ren gamedata gamedata_ogse

ren bin bin_5

ren bin_4 bin

copy fsgame\fsgame_orig.ltx fsgame.ltx

del -y ogse.txt

goto start

 

:clear_messer

ren gamedata gamedata_messer

copy fsgame\fsgame_orig.ltx fsgame.ltx

del -y logic.txt

goto start

 

:clear_logic

ren gamedata gamedata_logic

copy fsgame\fsgame_orig.ltx fsgame.ltx

del -y logic.txt

goto start

 

:clear_reader

ren gamedata gamedata_reader

copy fsgame\fsgame_orig.ltx fsgame.ltx

del -y reader.txt

goto start

 

:clear_apoc

ren gamedata gamedata_apoc

copy fsgame\fsgame_orig.ltx fsgame.ltx

del -y apocalipsis.txt

goto start

 

:clear_poisk

ren gamedata gamedata_poisk

copy fsgame\fsgame_orig.ltx fsgame.ltx

del -y poisk.txt

goto start

 

:clear_dolg

ren gamedata gamedata_dolg

copy fsgame\fsgame_orig.ltx fsgame.ltx

del -y dolg.txt

goto start

 

:clear_koll

ren gamedata gamedata_koll

copy fsgame\fsgame_orig.ltx fsgame.ltx

del -y koll.txt

goto start

 

:clear_kollmob

ren gamedata gamedata_kollmob

copy fsgame\fsgame_orig.ltx fsgame.ltx

del -y kollmob.txt

goto start

 

:clear_poiskN

ren gamedata gamedata_poiskN

copy fsgame\fsgame_orig.ltx fsgame.ltx

del -y poiskN.txt

goto start

 

:konec

@echo Vipolneno

 

 

Поделиться этим сообщением


Ссылка на сообщение
Starter, не через батник, сторонняя прога - Multimedia Builder. Простая и надежная до опупения. Сделал меню с кнопками, при нажатии на кнопку - запускается либо нужный батник, либо блокнот с параметром загрузки нужного лога.

Поделиться этим сообщением


Ссылка на сообщение

Парни, нужна помощь.
Есть текстовый файл такого содержания:

 

snd_draw				= weapons\generic_draw 
snd_holster				= weapons\generic_holster 
snd_silncer_shot			= weapons\ak74\ak74_silent 
snd_shoot				= weapons\ak74\ak74_shoot 
snd_empty				= weapons\gen_empty, 0.5 
snd_reload				= weapons\ak74\aks74_reload, 0.7 
snd_shoot_grenade			= weapons\gen_grenshoot 
snd_reload_grenade			= weapons\gen_grenload, 1.0, 0.8 
snd_switch				= weapons\groza_switch, 1.0, 0.5 
snd_draw			= weapons\aks74u\aks74u_draw 
snd_holster			= weapons\generic_holster 
snd_shoot			= weapons\aks74u\aks74u_shoot 
snd_empty			= weapons\gen_empty, 0.5 
snd_reload			= weapons\aks74u\aks74u_reload 
snd_silncer_shot			= weapons\w_ak74_shot1  
snd_draw					= weapons\aps\aps_draw, 0.6 
snd_holster					= weapons\aps\aps_holster, 0.3 
snd_shoot					= weapons\aps\aps_shot, 1.5 
snd_shoot1					= weapons\aps\aps_shot1, 1.5 
snd_empty					= weapons\aps\aps_empty, 0.5 
snd_reload					= weapons\aps\aps_reload 
snd_close					= weapons\aps\aps_close, 0.6 
snd_silncer_shot			      	= weapons\aps\aps_shot_sil

 


Это список звуковых файлов, используемых моделями. Они находятся в одном месте, допустим в D:\sdk\gamedata\sounds. Нужно написать bat-файл, который бы прочитал этот файл и скопировал файлы звуков, указанных в этом файле, в другую папку, с сохранением всех путей, допустим, в D:\sounds. Сколько я не пробовал - даже не получается удалить все лишнее (пробелы, цифры, =). Может кто помочь?

Поделиться этим сообщением


Ссылка на сообщение

bat будет создавать папки а не копировать файлы в уже имеющиеся

Я, может быть, немного не правильно описал нужные мне действия. Мне и не хотелось бы предварительно создавать папки. В идеале хотелось бы, чтобы принцип работы был подобен тому же, что и в твоей замечательной утилите Dds_Seq - указал папки с моделями, текстурами, утилита скопировала используемые текстуры в папку с моделями с сохранением всех путей. Так и в моем случае со звуками - указал бы папку с нужными конфигами, папку, где находятся все звуки  - батник выбрал в конфигах строки с указанием звуков и скопировал их (звуки) в папку с конфигами с сохранением всех путей. Но, это в идеале. Своеобразный сборщик ресурсов, отсекающий все не нужное.

Спасибо камраду Charsi, он мне уже написал скрипт на Lua, выполняющий эти функции.

 

ЗЫ. В качестве мечтаний - было бы здорово иметь такой же функционал для сбора текстур игровых локаций. Указал папку object нужного левела - и скопировались все нужные для него текстуры. Видел подобый скрипт на Perl у камрада KD, но в силу своих малых познаний так и не смог его запустить.

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...