Бэкапер сейвов для готики

Тема в разделе "Возвращение - Гильдии 1.5", создана пользователем Stoplayer, 26 ноя 2017.

  1. Stoplayer

    Stoplayer
    Active Member
    Регистрация:
    22 апр 2017
    Сообщения:
    441
    Баллы:
    43
    Лучших ответов:
    0
    Описание программы:
    Через пять секунд после сохранения в первый слот программа делает копию этого сохранения в один из слотов от 10 до 19 (по очереди). Таким образом становится относительно безопасно сохраняться только в первый слот.
    Установка:
    0. Делаем бекап всех сейвов (просто на всякий случай)
    1. Копируем файл GothicSaver.exe в папку Gothic II.
    2. Если не установлен, то установить .Net 3.5. Скачать можно с официального сайта Microsoft.
    3. Для удобства создаём файл Run.bat в папке Gothic II со следующим содержимым.
    Для Гильдий:
    Для Возвращения 2.0:
    4. Также можно создать ярлык для Run.bat на рабочем столе (помните, рабочая папка для ярлыка - Gothic II, а не System).
    Особенности работы:
    • Готика считает, что только она управляет сейвами, из-за этого любая информация (кроме скриншотов) об автоматических сейвах недоступна без перезапуска игры
    • Если в момент запуски готики, в каком-то слоте не было сохранения, то она не даст загрузиться из этого слота, даже если туда было сделано автоматическое сохранение
    • Программа изредка создаёт битые бэкапы (из-за отказов на запись файловой системы)
    • Если во время работы программы произойдёт непредвиденная ошибка, то она молча вылетит, оставив файл GothicSaver.log с техническими подробностями о возникновении ошибки.
    Во в вложениях сам экзешник и исходники на языке C#
    Посмотреть вложение GothicSaver.exe
    Посмотреть вложение GothicSaver.rar
     
    • Like Like x 6
  2. Alex1

    Alex1
    Well-Known Member
    Регистрация:
    22 янв 2014
    Сообщения:
    7.020
    Баллы:
    113
    Лучших ответов:
    0
    А можно как-то перенастроить, чтобы перезапись происходила с 15 по 19 слоты, или с 21 по 100?
    По времени создания папки с сейвом примерно понятно, когда был сейв.
    Проще переименовать какой-то 58 в 8, чем потерять сейв цикличной перезаписью.
     
  3. Stoplayer

    Автор
    Автор
    Stoplayer
    Active Member
    Регистрация:
    22 апр 2017
    Сообщения:
    441
    Баллы:
    43
    Лучших ответов:
    0
    Ну, надо код подредактировать, чтобы можно было задавать это как аргументы командной строки. Сейчас займусь.
     
  4. Alex1

    Alex1
    Well-Known Member
    Регистрация:
    22 янв 2014
    Сообщения:
    7.020
    Баллы:
    113
    Лучших ответов:
    0
    Если возможно, задавать настройки (цикл. перезапись, продолжить далее нумерацию, диапазон нумераций) в ини.файле или в батнике.

    Когда-то пробовал переделывать меню игры, чтобы показывались 40 сейвов вместо 20. Там неудобство в последовательном выборе. Нужно прокрутить колесиком мышки половину строчек (от 1 вниз или от 40 вверх), чтобы добраться до 21й.
    Если перезапись после 10й будет бекапером, снимется вопрос выбора строчки сохранки.
    Правда, запускать все равно неудобно.
     
  5. Stoplayer

    Автор
    Автор
    Stoplayer
    Active Member
    Регистрация:
    22 апр 2017
    Сообщения:
    441
    Баллы:
    43
    Лучших ответов:
    0
    Теперь бэкапер принимает следующие аргументы: папка с сохранениями (по умолчанию Saves), минимальный слот (по ум. 10), максимальный слот (по ум. 19). Например:
    start GothicSaver saves_guilds_1.5 21 100
    или
    start GothicSaver saves_guilds_1.5 100 1000000
    Посмотреть вложение GothicSaver.exe
     
    • Like Like x 1
  6. GeorG

    GeorG
    Команда форума
    Чародей божьего бага
    Регистрация:
    31 мар 2010
    Сообщения:
    15.473
    Баллы:
    113
    Лучших ответов:
    8
    @Stoplayer, бекапер для любого мода подходит, или только для Возвращения 2.0 и Гильдий?

    Не понял, а если мне нужно для игры несколько сохранений (своих собственных), не автоматических, такие делать уже опасно с данным бекапером?
     
  7. Stoplayer

    Автор
    Автор
    Stoplayer
    Active Member
    Регистрация:
    22 апр 2017
    Сообщения:
    441
    Баллы:
    43
    Лучших ответов:
    0
    Ну я тестировал только на них, а так ему пофиг куда сохранять. Главное с нужными параметрами его запустить, чтобы он знал, как папка с сейвами называется.
    Нет не опасно, бэкапер пишет в определённый диапазон слотов (по умолчанию с 10-го по 19-й), если там ваших сейвов нет, то он ничего вам не повредит.
    Еще следует отметить, что эту программу никто кроме меня не тестировал, то есть я не знаю достоверно как она себя будет вести на других машинах: вдруг есть какие-нибудь причуды файловой системы или всяких антивирусов. Самое худшее, что может быть - он не будет работать, или будет генерировать повреждённые сохранения. Когда я играл в возвращение, он у меня лишь иногда делал повреждённый бекап, а так всё норм работало. В общем, протестируйте сами и отпишитесь.
    --- Добавлено: 26 ноя 2017 ---

    Грубо говоря, слоты 2-9 бекапер по умолчанию вообще никак не трогает, так что туда сохраняетесь как обычно.
     
    • Like Like x 2
    Последнее редактирование модератором: 7 авг 2018
  8. GeorG

    GeorG
    Команда форума
    Чародей божьего бага
    Регистрация:
    31 мар 2010
    Сообщения:
    15.473
    Баллы:
    113
    Лучших ответов:
    8
    Здорово :thumbsup:

    В разделе Возвращения создал тему ссылку на эту, чтобы люди узнали про прогу - Возвращение 2.0: Бекапер сейвов, в других популярных разделах можно сделать тоже самое ;)
     
    Последнее редактирование: 8 авг 2018
  9. Stoplayer

    Автор
    Автор
    Stoplayer
    Active Member
    Регистрация:
    22 апр 2017
    Сообщения:
    441
    Баллы:
    43
    Лучших ответов:
    0
    Обновил программку. Изменения:
    1. После неудачного бэкапа производится ещё один бэкап в следующий слот. В случае повторной неудачи программа издаст глухой звук.
    2. При вылете (например, из-за удаления пользователем папки gamesave1) программа издаёт протяжный высокий звук.
    3. Программа быстрее запускается при задании огромного диапазона слотов
    4. Если имя сохранения будет начинаться на 'bug', то оно будет скопировано в отдельную папку Bugs. Например, сохранение с именем bugHildaSaysShit будет забэкаплено в папку Bugs\HildaSaysShit.

    Посмотреть вложение GothicSaver.exe
     
    • Like Like x 5

Поделиться этой страницей