SA-MP Forums

SA-MP Forums (https://forum.sa-mp.com/index.php)
-   Релизы/Releases (https://forum.sa-mp.com/forumdisplay.php?f=66)
-   -   [Plugin] rustext - русификация игрового текста для множества русификаторов (https://forum.sa-mp.com/showthread.php?t=617345)

ZiGGi 19/09/2016 08:59 PM

rustext - русификация игрового текста для множества русификаторов
 
rustext
GitHub

Описание
Плагин заменяет символы, передаваемые функциями для работы с TextDraw, Menu и GameText на те, что соответствуют русификатору. Русификатор по умолчанию - SanLtd, но вы можете каждому игроку установить собственный русификатор.

Использование
Просто скопируйте плагин в директорию plugins/ вашего сервера и добавьте rustext[.so] (в зависимости от платформы) к ключу plugins в ваш server.cfg. Если вы хотите получить дополнительный функционал, то скопируйте rustext.inc в вашу директорию с библиотеками и добавьте #include "rustext" в ваш скрипт.

Типы русификаторов
PHP Code:

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

Функции
PHP Code:

native SetPlayerRussifierType(playeridRussifierType:type);
native RussifierType:GetPlayerRussifierType(playerid);

native SetDefaultRussifierType(RussifierType:type);
native RussifierType:GetDefaultRussifierType(); 

Пример использования
Система настройки русификатора для игрока.
PHP Code:

#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 
iTEXT_RUSSIFIERS_COUNTi++) {
        
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.010.0);
    }
    return 
1;
}

public 
OnPlayerSpawn(playerid)
{
    for (new 
iTEXT_RUSSIFIERS_COUNTi++) {
        
SetPlayerRussifierType(playeridRussifierType:i);
        
TextDrawShowForPlayer(playeridText:TextRusTD[RussifierType:i]);
    }
    
SelectTextDraw(playerid0xAA3333FF);
    return 
1;
}

public 
OnPlayerClickTextDraw(playeridText:clickedid)
{
    for (new 
iTEXT_RUSSIFIERS_COUNTi++) {
        if (
TextRusTD[RussifierType:i] == _:clickedid) {
            
SetPlayerRussifierType(playeridRussifierType:i);
            
CancelSelectTextDraw(playerid);
        }
        
TextDrawHideForPlayer(playeridText:TextRusTD[RussifierType:i]);
    }
    return 
0;


Или вы можете использовать библиотеку russifier:

https://user-images.githubuserconten...0478d4b095.png

Русификаторы
  • Все поддерживаемые руссификаторы можно скачать здесь, названия файлов соответствуют названиям в плагине.

Скачать

Diman777 20/09/2016 02:13 AM

Re: rustext - русификация игрового текста для множества русификаторов
 
Ну ты крут, уже плагины научился писать, C++ стал изучать давно?

ZiGGi 20/09/2016 04:17 AM

Re: rustext - русификация игрового текста для множества русификаторов
 
Quote:

Originally Posted by Diman777 (Post 3769901)
Ну ты крут, уже плагины научился писать, C++ стал изучать давно?

Давно, но активным изучением не занимался, ибо мне этот язык не нравится.

ZiGGi 26/09/2016 10:23 AM

Re: rustext - русификация игрового текста для множества русификаторов
 
rustext v1.1.0

Поддержка двух новых русификаторов:
- От MG
- Народный

Mutha_X 26/09/2016 03:09 PM

Re: rustext - русификация игрового текста для множества русификаторов
 
А можешь прикрепить к каждому в списке поддерживаемых русификаторов провереный источник на них?

ZiGGi 26/09/2016 03:19 PM

Re: rustext - русификация игрового текста для множества русификаторов
 
Quote:

Originally Posted by Mutha_X (Post 3772796)
А можешь прикрепить к каждому в списке поддерживаемых русификаторов провереный источник на них?

Русификаторы я сохранил, но некоторые нужно ещё раз проверить, как проверю - опубликую ссылку.

ZiGGi 26/09/2016 04:09 PM

Re: rustext - русификация игрового текста для множества русификаторов
 
Quote:

Originally Posted by Mutha_X (Post 3772796)
А можешь прикрепить к каждому в списке поддерживаемых русификаторов провереный источник на них?

Русификаторы можно взять здесь: https://mega.nz/#F!tVhlhDCT!FK1xFcBalTA0ySY_JsryMg

P.S. Если у вас есть ещё какой-либо русификатор - отправляйте мне, я добавлю его в плагин.

ZiGGi 28/09/2016 01:39 PM

Re: rustext - русификация игрового текста для множества русификаторов
 
rustext v1.2.0

- Оптимизация (замена символов без поиска по массиву)
- Добавлена возможность отключить локализацию
- Добавлена поддержка украинской локализации

Art4D 04/10/2016 02:45 PM

Re: rustext - русификация игрового текста для множества русификаторов
 
Работает только на player текстдравах? Или можно как-то для каждого игрока выводить текст global текстдрава на своем руссификаторе?

ZiGGi 04/10/2016 02:53 PM

Re: rustext - русификация игрового текста для множества русификаторов
 
Quote:

Originally Posted by Art4D (Post 3776335)
Работает только на player текстдравах? Или можно как-то для каждого игрока выводить текст global текстдрава на своем руссификаторе?

Для глобальных TD используется русификатор по умолчанию, который задаётся с помощью SetDefaultRussifierType. И, естественно, глобальный TD для всех игроков одинаковый.


All times are GMT. The time now is 07:37 AM.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.