Доступ к готовым решениям

Переход в группу "Пользователь"

300.00
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Замена шрифта SA-MP

OKStyle

Адвокат по делам семейным
Administrator
Wiki Team
Регистрация
4 Мар 2011
Сообщения
7,092
Лучшие ответы
226
Репутация
2,455
Награды
11
Как вы можете узнать из сегодняшней темы, существует 2 способа заменить шрифт в SA-MP. Я имею в виду шрифт интерфейса внутри самой игры. Для удобства разделим способы на несколько шагов.

funkyimg.com/i/2P6aa.jpg​

Способ 1. Он же самый простой. Однако, работает только начиная с версии SA-MP 0.3.7 RC1.

Шаг 1: Определите местонахождение конфигурационного файла sa-mp.cfg. Обычно он находится по пути: C:\Users\User_Name\Documents\GTA San Andreas User Files\SAMP

User_Name - имя Вашей учётной записи (User, Admin etc.)
Documents - имя папки "Мои документы" (в Windows 10. В других версиях Windows эта папка будет называться "My Documents").

Если файла cfg вы не нашли, создайте его. Углу***ться в подробности не буду: можете скопировать любой cfg, очистить его и переименовать, а можете создать текстовый документ, открыть и выбрать "Сохранить как", выбрать тип файла "Все файлы" и набрать имя вместе с расширением.

Этот конфигурационный файл содержит в себе перечень настроек, подробнее про которые вы сможете найти в других статьях.

Шаг 2: Нам нужно выбрать шрифт (обязательно с поддержкой кириллицы, иначе половина текста на русскоязычных серверах будет квадратиками или пустым местом).

Я остановился на CP Mono. Сделал его некий TinoMeinert в 2009 году. Случайным образом ко мне попала версия с поддержкой русских букв, но найти источник я так и не смог. Если подскажете автора доделки - добавлю его в кредиты. Единственное упоминание - это Cactus с gta-gaming. Шрифт весьма популярный у некоторых игроков, и иногда гуляет под именем renko. Почему так - узнаете во втором способе.

funkyimg.com/p/2P61q.png

Файл называется CPMonoRus_Bold_4.ttf gta-gaming.ru/load/gta_san_andreas/shrifty/shrift_cactus_dlja_chata_samp_0_3z/30-1-0-512 (не реклама)

Шаг 3: Теперь установим шрифт в операционную систему. Сделать это можно тоже 2-мя способами. 1й: открыть файл и нажать "Установить". На системах постарее необходимо закинуть файл в директорию:

Панель управления\Все элементы панели управления\Шрифты

или

C:\Windows\Fonts

Шаг 4: В sa-mp.cfg пишем строчку (или меняет имя шрифта в строке, если она уже есть):

fontface="CPMonoRus_Bold_4"

Теперь идём тестировать. Поскольку данный шрифт имеет только жирное начертание (bold-гарнитуру), то менять параметр fontweight не имеет смысла (скрин 1 - жирный, скрин 2 - обычный). fontsize менять можете, но так меньше текста на экран влезет. На 3 скрине размер 1.

funkyimg.com/p/2P62m.png
funkyimg.com/p/2P62k.png
funkyimg.com/p/2P62n.png

Способ 2. Тут понадобится немного поработать с 16-ричными данными.

Шаг 1: Сейчас нужно обзавестись программой, которая сможет изменить название шрифта (именно самого шрифта, а не файла, его содержащего).

Я буду использовать Typograf, который можно скачать с официального сайта: neuber.com/typograph/ (открываем шрифт, выбираем "properties", указываем в поле Name нужное имя, сохраняем.
Можно также использовать альтернативный софт FontCreator, который можно скачать с официального сайта: high-logic.com/font-editor/fontcreator
Free Font Renamer не смог увидеть custom-шрифт, поэтому про него ничего не говорю. Не советую.

Шаг 2: Нужно переименовать шрифт, используя 5 латинских букв. Пускай это будет sagta, как в приложенном файле.

Шаг 3: Ищем стандартный шрифт в коде dll-файла. Для редактирования библиотеки samp.dll потребуется hex-редактор. Я в основном использую программу XVI32. Скачать её можно с официального сайта: chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm После установки и запуска нажимаем Ctrl + F, ставим radio-кнопку в поле "Text string" и вводим "Arial" без кавычек. Можно написать и с маленькой буквы, но нужно убрать radio-галочку в настройке поиска "Case senstive". Меняем на sagta. Нельзя пользоваться кнопкой backspace, т.к. она удалит биты и позиции, что приведёт к повреждению библиотеки. Безболезненное переименование должно происходить в рамках длины стандартной строки. Поскольку в "arial" 5 символов, то и шрифт надо называть 5-ю символами. Я нашёл упоминание на строке 11C47F и заменил. За что отвечает этот адрес я так сразу и не разобрался.

funkyimg.com/p/2P69Z.png

Ещё есть упоминание на строке 155496. Оно отвечает как раз за интерфейс... Меняем на "sagta" (без кавычек), нажимаем Ctrl + S (или иконку "Сохранить") и идём тестировать.

funkyimg.com/p/2P69V.png

Шрифт поменялся. Теоретически второй способ должен сработать на версиях старше 0.3.7 RC1, поэтому не забывайте делать резервную копию samp.dll перед экспериментами.

P.S. Проверял на версии 0.3DL R1. Есть вариант чуть проще, но затронет ВСЕ приложения, использующие шрифт "Arial": нужно найти файл win.ini (C:\Windows) и секцию [FontSubstitutes]. В ней написать renko=CPMonoRus_Bold_4 и сохранить. После перезагрузки SA-MP должен использовать скаченный и установленный шрифт. В Windows 10 этот файл не используется для данной цели, поэтому не содержит алиасов шрифтов.
 
Сверху Снизу