Изменяем расположение папки User Files в gta_sa.exe
1. Введение
Итак, допустим вы играете в стандартную GTA San Andreas и еще в какой-нибудь глобальный мод, где совершенно другая карта и/или скрипты (main.scm). И в обоих играх, при загрузке/сохранении игры, вы видите одни и те же записи сохранений. Допустим, у вас есть 3 сохранения от обычной GTA SA, которые вы используете и 3 сохранения от какого-нибудь глобального мода или скриптовой модификации. В этом случае, в какую бы GTA вы ни играли, вы всегда будете видеть 3 ненужных сохранения (от другой копии игры), которые вы не должны перезаписывать или удалять, ведь они нужны вам в другой GTA. То же самое происходит и с папкой "Gallery" (GTA San Andreas User FilesGallery), в которой хранятся скриншоты, сделанные с помощью внутриигровой фотокамеры. Нащелкали вы "фоток" и как-нибудь, в один прекрасный день, решили заглянуть, чего же вы нафотографировали в игре, за столь немалое время. А там, то фотки и из обычного Сан Андреаса, и из какого-нибудь Unlimited Drift'а, а то и из Криминальной России, или неописуемые человеческим языком, гуманоиды из Андериуса. Какая-то каша получается. Та же ситуация и с папкой пользовательской музыки "User Tracks", в которую можно помещать свои аудио-файлы (любые mp3/wav/wma или ярлыки на файлы, например любимые песни) и слушать их в машине во время игры, включив радиостанцию USER TRACKS (Станция пользователя).
Хотели бы вы, чтобы во время загрузки игры или сохранения игры в, скажем, GTA UNITED, отображались только те сохранения, которые были сделаны в GTA UNITED? Хотели бы вы иметь разные папки для хранения сохранений, настроек, музыки и снимков для каждой отдельной GTA (глобальной модификации)? Хотели бы вы, например, играя в GTA Liberty City или Project Liberty настроить графику, управление аналогично GTA 4, при этом имея отдельную папку для хранения сохранений, настроек и т.п. специально для данного мода?
Да? Хорошо, прямо сейчас всему и научимся.
Нам понадобится:
1. Нам понадобится редактор бинарных файлов. Я использую Hex Editor Neo (Free Edition v4.97). Найти его вы без труда сможете через Google.
2. Файл gta_sa.exe из папки с вашей GTA. Брать сторонний файл не рекомендую, т.к. многие глобальные моды используют свой gta_sa.exe с измененными лимитами. Поэтому лучше использовать файл прямо из папки с GTA, для которой вы хотите изменить папку файлов пользователя (User Files).
3. Немного внимания и концентрации, чтобы все внимательно прочитать.
2. Пошаговый план действий
1. Первое и Самое главное - это проверить, что ваша GTA работает нормально, не вылетает при запуске. Иначе смысла начинать нет. Если игра работает стабильно, это будет гарантом того, что игра не могла быть причиной проблем в случае чего-либо после редактирования бинарника (gta_sa.exe).
2. Запускаем Hex Editor Neo. В нем Открываем наш gta_sa.exe (Ctrl+O).
У меня это выглядит так:
3. Далее нажимаем сочетание Ctrl+G, вводим 00472fa0 жмем ОК.
У меня это выглядит так:
4. После нажатия ОК мы перешли на строку 00472fa0. Там хранится информация об имени папки пользовательских файлов.
У меня это выглядит так:
5. Теперь надо определиться с именем папки.
Итак, как известно, GTA San Andreas для хранения файлов пользователя использует папку GTA San Andreas User Files. А нам к примеру нужно создать папку для сохранений и прочего под мод GTA SUN CITY.
Дело в том, что имя новой папки по количеству символов должно быть равно имени папки по умолчанию.
Имя папки по-умолчанию: GTA San Andreas User Files [26 символов]
Имя нашей папки должно состоять из 26 каких угодно символов. Но чтобы сохранить какой-то смысл в имени папки, давайте составим несколько вариантов и выберем лучший.
Итак, что можно придумать (первая строка приведена для примера):
Еще раз поясню, что необходимость в нижних подчеркиваниях возникает из-за обязаловки с 26 символами. Иначе говоря длина имени новой папки должна совпадать с длиной имени папки по-умолчанию, а это 26 символов (пробелы считаются за символ, но использование пробелов не обязательно).
Итак, я выбираю последний вариант имени папки, т.к.:
1. он состоит из 26 символов - главное условие выполнено
2. "sun cuty" и "user files" отделены более длинным "пробелом", что выглядит наиболее эстетично.
3. Имя состоит полностью из букв латинского алфавита и нижних подчеркиваний, исключая пробелы, что теоретически обеспечивает большую стабильность во взаимоотношениях игры с файловой системой ("а Бог его знает, пусть будет, на всякий пожарный").
6. Теперь непосредственно изменяем имя папки в коде gta_sa.exe через Hex Editor.
Делается это следующим образом:
В строке где написано "lery....GTA San Andreas User Files.Personal" тыкаем мышкой по букве G в слове GTA. И начинаем вводить имя новой папки (вручную, посимвольно). Все что вы вводите, становится красным. Это нормально. Так отображается замена. Завершая ввод вы должны остановится на последней букве s в слове, которое было Files. То есть на ".Personal" и все что далее вы залезать не должны, иначе испортите файл gta_sa.exe.
Чтобы этого избежать, давайте разберемся, что нам нужно ввести и запомним это.
GTA_SUN_CITY____User_Files - это GTA_SUN_CITY(тут 4 нижних подчеркивания)User_Files
Итак, самое главное - мы запомнили что после SUN_CITY нужно ввести 4 нижних подчеркивания, а затем User_Files, чтобы у нас все уложилось ровно в 26 символов.
Давайте же сделаем это.
Тыкаем на букву G в слове GTA и руками по клавиатуре, начинаем вводить.
У меня это выглядит так:
По завершению ввода мы должны получить следующее:
Теперь осталось сохранить результат - жмем Ctrl+S, вылезет диалоговое окно, в нем естественно выбираем Yes.
Все готово! Можете проверять!
Результат должен получиться таким:
3. Если игра вылетает...
Если вы все сделали правильно, игра при запуске gta_sa.exe НЕ должна вылетать и, как минимум, должна успешно производить загрузку, сохранение игры, сохранение снимков с фотоаппарата, чтение музыки из User Tracks внутри нашей новой папки (GTA_SUN_CITY____User_FilesUser Tracks), сохранение настроек управления и графики. Если игра вылетает сразу после запуска, когда вы еще не успели загрузить сохранение/начать игру, то скорее всего вы допустили ошибку во время редактирования файла. Проверьте и убедитесь, что имя вашей новой папки состоит именно из 26 символов и прописано точно поверх старого (GTA San Andreas User Files - от первой буквы "G" включительно до последней буквы "s" включительно, ни буквой раньше ни буквой позже).
Из предполагаемых причин могут быть следующие:
- Виноват кэш Windows. Произведите очистку папки Prefetch ("%systemroot%Prefetch" или по-простому "WindowsPrefetch") и перезагрузите машину.
- Возможно вы использовали лишние пробелы в имени файла (маловероятно, но все же). Попробуйте заменить их на нижние подчеркивания.
Если игра вылетает через несколько минут или большее время во время игры, то ищите причину в самой игре. Для проверки, протестируйте ваш измененный экзешник (gta_sa.exe) на стандартной GTA SA без модов.
P.S. С вами был ManCJsys, это моя первая статья-туториал. Если хотите, могу написать статью как изменять иконку у экзешника (значок gta_sa.exe), так чтобы игра не вылетала. Жду ваших комментариев.