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

Строй-bat


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

Если использовать только батник, известен такой способ.

 

start "" "bin\XR_3DA.exe" -fsltx fsgame.ltx -start server(название_сейва/single/alife)
end

Батник кинуть до папки bin, где геймдата.

load_last_save видимо только в запущенной игре пашет.

  • Нравится 1
Ссылка на комментарий

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

 

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. Сколько я не пробовал - даже не получается удалить все лишнее (пробелы, цифры, =). Может кто помочь?

Ссылка на комментарий

@Marafon6540, А что если bat будет создавать папки а не копировать файлы в уже имеющиеся? Иначе так сложнее, придётся искать папки.

ЯДиск папка с крутым схроном!

Ссылка на комментарий

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

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

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

 

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

Ссылка на комментарий

По копированию текстур вышла такая штука - https://yadi.sk/d/ynGRcfJmpxS7N

В папке с проектом декомпилированного уровня все статические объекты указаны в файле scene_object.part

Указываем к нему путь в переменной level_objects. А также from - откуда копировать, to - куда, sdk_root - путь к SDK.

Пробелы в пути поддерживаются, кириллица - нет.

Из файла scene_object.part выбираются имена файлов, из этих файлов вычитываются имена текстур, файлы текстур копируются сформированным батником в нужное место.

  • Спасибо 1
  • Полезно 3
Ссылка на комментарий

Ребята нужна помощь. Есть огромное количество файлов с расширением *.xls, которые находятся в текущей папке, а так же в подпапках.

В наличие есть небольшой VBS-скрипт, который "пересохраняет" эти в файлы в *.xlsx

Set app = CreateObject("Excel.Application")
Set fso = CreateObject("Scripting.FileSystemObject")
strPath = "."
strPath = "."
Set fld = fso.GetFolder(strPath)
For Each fil In fld.Files
    If Right(fil.Name, 3) = "xls" Then
        Set wbk = app.Workbooks.Open(fil)
            app.DisplayAlerts = False
            wbk.SaveAs fil & "x", 51
        wbk.Close False
    End If
Next
app.Quit

но он обрабатывает только файлы в корне папки. Что нужно подправить, чтобы он охватывал и подпапки?

P.S. запуск скрипт производится через батник.

Изменено пользователем Comador

Неважно – сколько у тебя друзей. Важно - сколько из них помогут тебе в трудную минуту и сколько вспомнят о тебе когда им хорошо.

"Худ" и "Умное выпадание частей монстров" для Народной солянки

Ссылка на комментарий

@Comador, создаешь функцию с обходом подкаталогов и рекурсивно её вызываешь:

Set app = CreateObject("Excel.Application")
Set fso = CreateObject("Scripting.FileSystemObject")
strPath = "."

Function f1(dir)
	Set fld = fso.GetFolder(dir)
	
	' файлы в текущем каталоге'
	For Each fil In fld.Files
		If Right(fil.Name, 3) = "xls" Then
			Set wbk = app.Workbooks.Open(fil)
				app.DisplayAlerts = False
				wbk.SaveAs fil & "x", 51
			wbk.Close False
		End If
	Next
	
	' обработка подкаталогов'
	For Each folder In fld.SubFolders
		f1(folder)
	Next
End Function

f1(strPath)
app.Quit

 

 

  • Спасибо 1
  • Полезно 1
Ссылка на комментарий

@editor46

 

 

Если использовать только батник, известен такой способ.

start "" "bin\XR_3DA.exe" -fsltx fsgame.ltx -start server(название_сейва/single/alife)
end

 

Просто пропиши вместо название_сейва 

имя_учётки_quicksave

например

start "" "bin\XR_3DA.exe" -fsltx fsgame.ltx -start server(user_quicksave/single/alife)

end

 

 

В жизни много плохих моментов. Пытайся избавляться от них !

Ссылка на комментарий

Подскажите, какой батник сможет сам найти в *\X-Ray_SDK\level_editor\gamedata\levels\ все файлы:

level.ai, level.graph, level.gct.raw

а затем скопировать их в *\gamedata\levels\ при этом самостоятельно создавая папки уровней с исходными именами.

Ссылка на комментарий

Существует ли какой-то способ запускать батник от имени администратора, кроме как через выбор в контекстном меню, кликнув по нему ПКМ?

 

А то запускаю сталкер в Steam через него часто: https://www.gameru.net/forum/index.php?s=&showtopic=69294&view=findpost&p=1623334

 

А оверлей стима не робит, если без прав запускать: https://www.gameru.net/forum/index.php?s=&showtopic=69294&view=findpost&p=1623458

Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB

Ссылка на комментарий

Как сделать батник для конвертации всех ogf в object с помощью конвертера от Бардака? Чтобы во вложенных папках тоже конвертировал. Т. е. чтобы батник можно было скопировать в gamedata\meshes\ и запустить, а он запустил бы конвертер для всех ogf во вложенных папках (например weapons\ak74\)

Ссылка на комментарий

@Pavel_Blend, на экзеху накинуть папку? Еще можно попробовать так: в верху окна поиск, набираешь .ogf, затем выделяешь все найденые огфки, и кидаешь их на экзеху.

Изменено пользователем Дизель

andreyholkin.gif

rod_cccp.gif

 

Ссылка на комментарий
if exist .\Gamedata\nul (echo.
echo "Gamedata" Exists !
echo.
set /p userinp=Continue ? [y/n] : 
set userinp=%userinp:~0,1%
if "%userinp%"=="y" goto continue
if "%userinp%"=="n" goto and)

 

Что-то не хочет в таком виде подтверждение работать (при наличии папки геймдата запрос выдает, но при введении любой буквы всё равно на нужное goto не проходит )
 

Ссылка на комментарий
On 6/28/2018 at 9:10 PM, Pavel_Blend said:

Как сделать батник для конвертации всех ogf в object с помощью конвертера от Бардака? Чтобы во вложенных папках тоже конвертировал. Т. е. чтобы батник можно было скопировать в gamedata\meshes\ и запустить, а он запустил бы конвертер для всех ogf во вложенных папках (например weapons\ak74\)

Позно отвечаю конечно. Но я писал такую прогу на плюсах.

  • Нравится 1
  • Полезно 1

ЯДиск папка с крутым схроном!

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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