rustext - русификация игрового текста для множества русификаторов
Описание
Плагин заменяет символы, передаваемые функциями для работы с TextDraw, Menu и GameText на те, что соответствуют русификатору. Русификатор по умолчанию - SanLtd, но вы можете каждому игроку установить собственный русификатор.
Использование
Просто скопируйте плагин в директорию plugins/ вашего сервера и добавьте rustext[.so] (в зависимости от платформы) к ключу plugins в ваш server.cfg. Если вы хотите получить дополнительный функционал, то скопируйте rustext.inc в вашу директорию с библиотеками и добавьте #include "rustext" в ваш скрипт.
Типы русификаторов
enum RussifierType {
RussifierType_Disabled = -1,
RussifierType_SanLtd = 0,
RussifierType_OneC,
RussifierType_Rush,
RussifierType_Unknown1,
RussifierType_Unknown2,
RussifierType_Unknown3,
RussifierType_MG,
RussifierType_Community,
RussifierType_Ukrainian,
RussifierType_Hungarian,
}
Версии Unknown - это русификаторы в стиле "ПОТРАЧЕНО", просто мне не удалось определить их автора или названия (один из них от Фаргуса, но непонятно какой).
Примеры
Здесь показана работа с русификатором SanLtd:
https://cloud.githubusercontent.com/...3cfd24fb99.png
Здесь показана работа с украинской локализацией:
https://cloud.githubusercontent.com/...e5cc05bc72.png
Функции
native SetPlayerRussifierType(playerid, RussifierType:type);
native RussifierType:GetPlayerRussifierType(playerid);
native SetDefaultRussifierType(RussifierType:type);
native RussifierType:GetDefaultRussifierType();
Пример использования
Система настройки русификатора для игрока.
#include <a_samp>
#include <rustext>
static
TextRusTD[RussifierType];
const
Float:TEXT_BASE_X = 150.0,
Float:TEXT_BASE_Y = 150.0,
TEXT_RUSSIFIERS_COUNT = 7; // only Russian localizations
{
for (new i; i < TEXT_RUSSIFIERS_COUNT; i++) {
TEXT_BASE_Y + 15.0 * i,
"Я могу прочитать этот текст, это мой русификатор");
}
return 1;
}
{
for (new i; i < TEXT_RUSSIFIERS_COUNT; i++) {
SetPlayerRussifierType(playerid, RussifierType:i);
}
return 1;
}
{
for (new i; i < TEXT_RUSSIFIERS_COUNT; i++) {
if (TextRusTD[RussifierType:i] == _:clickedid) {
SetPlayerRussifierType(playerid, RussifierType:i);
}
}
return 0;
}
Или вы можете использовать библиотеку russifier:
https://user-images.githubuserconten...0478d4b095.png
Русификаторы
- Все поддерживаемые руссификаторы можно скачать здесь, названия файлов соответствуют названиям в плагине.
Скачать