Gothic 1 Classic

Gothic 1 Classic

78 ratings
Сохраняем скриншоты в Steam, если не работает оверлей
By dimamatik
Если вы запускаете чистую версию игры из Steam - поздравляю! У вас игра работает с оверлеем и это руководство не для вас. Однако, если вы хотите узнать, как добавлять скриншоты к играм, в которых Steam вообще не интегрирован - прошу ниже
   
Award
Favorite
Favorited
Unfavorite
Подготовка к работе
Для начала следует определиться, как будут делаться скриншоты. Если в игру не интегрирован Steam - она либо слишком старая, либо сделана на чем-то типа Flash, либо разработчики просто лентяи. Иногда все же в игре присутствует встроенная функция снятия скриншотов по горячей клавише. В противном случае следует установить одну из программ-скриншотеров (тот же Fraps). Запускаем игру, делаем пару тестовых скриншотов и ищем папку, куда они сохраняются.

К примеру, я в игре Gothic использую DirectX модификацию, в которой настроено сохранение скриншотов на Numpad7 в папку system\Screenshots

Итого, полный путь до папки со скриншотами выглядит примерно так:
C:\Steam\steamapps\common\Gothic\system\Screenshots

Далее, следует узнать идентификатор игры, в которую собираемся загружать скриншоты. К примеру, для Gothic это:
65540
Как это сделать? Открываем любой браузер, идем в магазин Steam по ссылке http://steamproxy.net/steamstore/, ищем игру и открываем ее страничку. В адресной строке браузера будет что-то типа
http:// steamproxy.net/steamstore /app/65540/?l=russian
- числа и есть требуемый идентификатор (для корректного отображения в руководстве в текст ссылки были добавлены пробелы). Если в клиенте Steam включена адресная строка, то нужный идентификатор можно узнать из нее.

Последнее, что потребуется - папка, куда Steam сохраняет скриншоты. Для каждого пользователя она своя. Заходим в клиент Steam, в меню выбираем Вид\Скриншоты, выбираем любую игру, в которой делали скриншоты ранее и нажимаем кнопку Показать на диске. Поднимаемся на уровень вверх два раза и запоминаем путь. Это будет что-то типа:
C:\Steam\userdata\166841772\760\remote
Создаем необходимые папки
Итак, мы узнали, где Steam хранит контент для пользователя. Создаем в папке с контентом новую, в качестве имени указываем идентификатор игры. Заходим внутрь, создаем еще одну папку - screenshots, заходим внутрь, создаем последнюю папку - thumbnails.
Имеем - папка, куда будут копироваться скриншоты для игры:
C:\Steam\userdata\166841772\760\remote\323910\screenshots
Папка, куда будут складываться превью скриншотов:
C:\Steam\userdata\166841772\760\remote\323910\screenshots\thumbnails
(В зависимости от игры, пользователя и папки Steam на диске - адреса могут различаться)

Создаем где-нибудь папку, в которой будет лежать скрипт, добавляющий скриншоты в Steam. Его задача - скопировать скриншоты из папки игры (или того места, куда они были сохранены), сконвертировать их в нужный формат и создать превьюшки. После чего удалить оригиналы. Пользователю нужно будет просто запустить скрипт, дождаться его выполнения и перезапустить клиент Steam. После этого зайти в раздел скриншотов и загрузить их на всеобщее обозрение.
К примеру, моя папка выглядит как:
C:\Games\SteamScreenshot
Скачиваем ImageMagick
Для автоматического конвертирования скриншотов в нужный формат и создания превьюшек нужна сторонняя программа. Она бесплатна, скачивается на странице http://www.imagemagick.org/script/download.php

Для 64-битной Windows выбираем
ImageMagick-6.9.3-5-portable-Q16-x64.zip
Для 32-битной Windows выбираем
ImageMagick-6.9.3-5-portable-Q16-x86.zip
Названия пакетов могут отличаться с выходом новой версии!

Возвращаемся в папку, которую выделили для хранения скриптов и необходимых ресурсов, создаем новую папку im и копируем туда содержимое скачанного архива. Примерный путь, который получился:
C:\Games\SteamScreenshot\im
Пишем скрипт для автоматизации
Открываем Блокнот, в него вставляем примерно следующее содержимое:
@echo off SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION SET CONV=im\convert.exe SET DIRIN=C:\Steam\steamapps\common\Gothic\system\Screenshots SET DIROUT=C:\Steam\userdata\166841772\760\remote\65540\screenshots SET DIRTH=C:\Steam\userdata\166841772\760\remote\65540\screenshots\thumbnails SET RES=200 SET EXT=.jpg SET VREXT=_vr.jpg SET NAMER=%date:~6,4%%date:~0,2%%date:~3,2%%time:~0,2%%time:~3,2%%time:~6,2% SET /A COUNTER=1 FOR /f "tokens=*" %%a IN ('DIR /b %DIRIN%') DO ( %CONV% "%DIRIN%\%%a" "%DIROUT%\%NAMER%_!COUNTER!%EXT%" %CONV% "%DIRIN%\%%a" "%DIROUT%\%NAMER%_!COUNTER!%VREXT%" %CONV% -resize %RES% "%DIRIN%\%%a" "%DIRTH%\%NAMER%_!COUNTER!%EXT%" echo "File '%%a' converted successfully" SET /A COUNTER+=1 ) FOR /f "tokens=*" %%a IN ('DIR /b %DIRIN%') DO DEL "%DIRIN%\%%a" pause

И сохраняем с расширением .bat в папку. Полный путь до файла будет выглядеть примерно так:
C:\Games\SteamScreenshot\gothic.bat

В начале скрипта идет пара строчек для нормальной работы циклов.

Далее - идет блок объявления переменных:
  • Первая строка содержит относительный путь до тулзы, которая будет конвертировать скриншоты.
  • Вторая - папку с готовыми скриншотам, третья - папку для скриншотов в Steam, четвертая - папку для превьюшек. Изменяем вторую, третью и четвертую строки под свои настройки.
  • Следующие строки содержат размер превью по горизонтали и разрешение, в котором следует сохранять скриншоты.

Отдельной строкой запоминаем текущие дату и время для использования в качестве имени выходных файлов (Steam принимает только в таком формате скрины).

Следующие строки копируют и конвертируют скриншоты, создают превью и удаляют оригиналы. Если не требуется удалять исходники - удаляем строчку FOR перед pause.

Можно запускать .bat файл и пробовать!
Если папка Steam расположена в Program Files...
Или в Program Files (x86) или в любом другом месте, где нужно обладать правами администратора, чтобы копировать туда скриншоты. Что нужно изменить:

Для начала заменяем строчку в начале, прописывая полный путь до тулзы, которая конвертит картинки. К примеру, так:

SET CONV=C:\Games\SteamScreenshot\im\convert.exe

Далее, сохраняем .bat файл и делаем рядом его ярлык. В свойствах ярлыка переходим на вкладку Ярлык и нажимаем кнопку Дополнительно. Выставляем галочку Запуск от имени администратора. Готово! (Запуск скрипта производится через ярлык)
Примечания
Важно! Для начала следует проверить на тестовых скриншотах! Можно для тестов не прописывать в скрипте последнюю строчку с FOR, чтобы исходные скриншоты не удалялись.
Важно! Не стоит копировать бездумно скрипт! Как написано выше, его следует изменить под свою игру, своего пользователя и расположение папок на компьютере.
Важно! Для того, чтобы клиент Steam подцепил скриншоты, его необходимо перезагрузить.
И печенька на последок:
http://steamproxy.net/sharedfiles/filedetails/?id=632308956

Информация о способе загрузке (но не автоматизированном) была взята из этого источника:
https://steamproxy.net/sharedfiles/filedetails/?id=518072312

Аналогичный гайд, но на английском, может быть найден тут:
http://steamproxy.net/sharedfiles/filedetails/?id=1280701368
Благодарности
Спасибо Der namenlose Held, что протестировал и обнаружил несколько ошибок
Спасибо Ryu Hayabusa, что обнаружил ошибку в загрузке, благодаря чему руководсто было обновлено
Спасибо Dimonas , что вовремя просигнализировал об изменении формата имен скриншотов, после чего руководство было изменено
34 Comments
L'écrevisse 25 Feb, 2021 @ 8:23am 
Чтобы приписка _vr не была помехой, можно редактировать пару строчек в файле screenshots.vdf по пути Steam\userdata\<id>\760\

Там, с помощью notepad++, ищем id игры. Внутри этого цикла, будут подциклы обозначаемые цифрами - это и есть наши скрины. В каждом таком подцикле изменяем строку vrfilename. Во вторых кавычках должно быть пусто: "vrfilename" "". Сохраняем, перезапускаем стим и спокойно загружаем скрины в облако.

(Это если вы вручную закидывали скрины и делали превьюхи)
dimamatik  [author] 19 Apr, 2020 @ 12:56pm 
Возможно формат изменили. Будет время - обновлю
andrey.dragin 19 Apr, 2020 @ 10:16am 
А, всё. Разобрался, получилось. Для Готики 2 там по особенному надо файлы именовать _vr в конце добавлять.
andrey.dragin 19 Apr, 2020 @ 10:02am 
Вручную накидал. Без всяких скриптов.
andrey.dragin 19 Apr, 2020 @ 10:01am 
Этот способ еще рабочий для Готики 2?
Накидал скринов \Steam\userdata\<id>\760\remote\39510\screenshots\"
У меня в стиме они появились, но когда пытаюсь загрузить в облако. выдает ошибку.
dimamatik  [author] 24 Dec, 2019 @ 10:51pm 
Гуд, спасибо что написали, что еще работает :D
Lowless 24 Dec, 2019 @ 3:16pm 
Ан нет, теперь оно всё появилось. Ещё раз спасибо огромнейшее, с новым годом!
Lowless 24 Dec, 2019 @ 3:14pm 
Спасибо большое за руководство! Скрипт работает как надо, всё сохраняется в те папки, но вот в самом стиме скриншоты не отображаются. Перечитал руководство, вроде всё сделал верно, клиент перезагрузил, но всё так же пусто
Van Der Hooi 1 Feb, 2019 @ 5:05am 
Короче уже сам разобрался, в пути к скриншотам не должно быть пробелов, тогда все работает.
Van Der Hooi 1 Feb, 2019 @ 4:25am 
С первой Готикой все получилось, за это отдельное спасибо, а вот с Готикой 2 не выходит пишет следующее: "Не удается найти указаный файл. нажмите любую кнопку для продолжения" все пути под Готику 2 поменял, а в чем проблема не пойму, неужели этот скрипт только под Готику 1 подходит? З.Ы. Скрины делал через Фрапс, дату для каждого скрина ставить не пришлось, Стим их и так все схавал.