19.09.2016, 20:59
(
Последний раз редактировалось ZiGGi; 01.07.2018 в 07:03.
)
rustext
GitHub
ОписаниеGitHub
Плагин заменяет символы, передаваемые функциями для работы с TextDraw, Menu и GameText на те, что соответствуют русификатору. Русификатор по умолчанию - SanLtd, но вы можете каждому игроку установить собственный русификатор.
Использование
Просто скопируйте плагин в директорию plugins/ вашего сервера и добавьте rustext[.so] (в зависимости от платформы) к ключу plugins в ваш server.cfg. Если вы хотите получить дополнительный функционал, то скопируйте rustext.inc в вашу директорию с библиотеками и добавьте #include "rustext" в ваш скрипт.
Типы русификаторов
PHP код:
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,
}
Примеры
Здесь показана работа с русификатором SanLtd:
Здесь показана работа с украинской локализацией:
Функции
PHP код:
native SetPlayerRussifierType(playerid, RussifierType:type);
native RussifierType:GetPlayerRussifierType(playerid);
native SetDefaultRussifierType(RussifierType:type);
native RussifierType:GetDefaultRussifierType();
Система настройки русификатора для игрока.
PHP код:
#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
public OnGameModeInit()
{
for (new i; i < TEXT_RUSSIFIERS_COUNT; i++) {
TextRusTD[RussifierType:i] = _:TextDrawCreate(TEXT_BASE_X,
TEXT_BASE_Y + 15.0 * i,
"Я могу прочитать этот текст, это мой русификатор");
TextDrawSetSelectable(Text:TextRusTD[RussifierType:i], 1);
TextDrawTextSize(Text:TextRusTD[RussifierType:i], 600.0, 10.0);
}
return 1;
}
public OnPlayerSpawn(playerid)
{
for (new i; i < TEXT_RUSSIFIERS_COUNT; i++) {
SetPlayerRussifierType(playerid, RussifierType:i);
TextDrawShowForPlayer(playerid, Text:TextRusTD[RussifierType:i]);
}
SelectTextDraw(playerid, 0xAA3333FF);
return 1;
}
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
for (new i; i < TEXT_RUSSIFIERS_COUNT; i++) {
if (TextRusTD[RussifierType:i] == _:clickedid) {
SetPlayerRussifierType(playerid, RussifierType:i);
CancelSelectTextDraw(playerid);
}
TextDrawHideForPlayer(playerid, Text:TextRusTD[RussifierType:i]);
}
return 0;
}
Русификаторы
- Все поддерживаемые руссификаторы можно скачать здесь, названия файлов соответствуют названиям в плагине.
- Последнюю версию вы всегда можете найти на странице релизов GitHub.