Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 5 из 5
  1. #1
    Аватар для koberman
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.03.2017
    Адрес
    Новосибирск
    Сообщений
    49
    Репутация:
    4 ±

    Русификатор Textdraw's для 4 русификторов[Доработка на MYSQL R41-2]

    Всем привет. Это доработка, а точнее, перевод на MYSQL с сохранением системы, которую я нашел на просторах интернета.

    Автор:leonid767
    Доработка: Koberman(Justin Buffalo)

    Итак, ко всем new
    PHP код:
    new Text:TDright[5];
    new 
    Text:testtd
    Если нет таких #define, то добавляем
    PHP код:
    #define     COLOR_YELLOW            0xF7FF00FF
    #define     SCM             SendClientMessage 
    В enum игрока добавляем
    PHP код:
    TDRUS
    Cоответственно в базе данных делаем тоже самое. Поле: tdrus, тип: int, длина: 1, по умолчанию: Как опредлено, 1
    В OnGameModeInit вставляем наши Textdraw's
    PHP код:
    TDright[0] = TextDrawCreate(217.862594166.833587"Click here if nothing is correct");
        
    TextDrawLetterSize(TDright[0], 0.3712881.652501);
        
    TextDrawTextSize(TDright[0], 500.45387610.583290);
        
    TextDrawAlignment(TDright[0], 3);
        
    TextDrawColor(TDright[0], -5963521);
        
    TextDrawUseBox(TDright[0], true);
        
    TextDrawBoxColor(TDright[0], -2139062017);
        
    TextDrawSetShadow(TDright[0], 0);
        
    TextDrawSetOutline(TDright[0], 1);
        
    TextDrawFont(TDright[0], 1);
        
    TextDrawSetProportional(TDright[0], 1);
        
    TextDrawSetSelectable(TDright[0], true);

        
    TDright[1] = TextDrawCreate(100192"ЊPA‹…‡’HO");
        
    TextDrawLetterSize(TDright[1], 0.5432342.055000);
        
    TextDrawTextSize(TDright[1], 20.453876105.583290);
        
    TextDrawAlignment(TDright[1], 2);
        
    TextDrawColor(TDright[1], -5963521);
        
    TextDrawUseBox(TDright[1], true);
        
    TextDrawBoxColor(TDright[1], 376926741);
        
    TextDrawSetShadow(TDright[1], 0);
        
    TextDrawSetOutline(TDright[1], 1);
        
    TextDrawBackgroundColor(TDright[1], 51);
        
    TextDrawFont(TDright[1], 1);
        
    TextDrawSetProportional(TDright[1], 1);
        
    TextDrawSetSelectable(TDright[1], true);

        
    TDright[2] = TextDrawCreate(100219"ZPABNLJHO");
        
    TextDrawLetterSize(TDright[2], 0.5432342.055000);
        
    TextDrawTextSize(TDright[2], 20.453876105.583290);
        
    TextDrawAlignment(TDright[2], 2);
        
    TextDrawColor(TDright[2], -5963521);
        
    TextDrawUseBox(TDright[2], true);
        
    TextDrawBoxColor(TDright[2], 376926741);
        
    TextDrawSetShadow(TDright[2], 0);
        
    TextDrawSetOutline(TDright[2], 1);
        
    TextDrawBackgroundColor(TDright[2], 51);
        
    TextDrawFont(TDright[2], 1);
        
    TextDrawSetProportional(TDright[2], 1);
        
    TextDrawSetSelectable(TDright[2], true);

        
    TDright[3] = TextDrawCreate(100246"–PAЃ‹„‘HO");
        
    TextDrawLetterSize(TDright[3], 0.4499992.055000);
        
    TextDrawTextSize(TDright[3], 20.453876105.583290);
        
    TextDrawAlignment(TDright[3], 2);
        
    TextDrawColor(TDright[3], -5963521);
        
    TextDrawUseBox(TDright[3], true);
        
    TextDrawBoxColor(TDright[3], 376926741);
        
    TextDrawSetShadow(TDright[3], 0);
        
    TextDrawSetOutline(TDright[3], 1);
        
    TextDrawBackgroundColor(TDright[3], 51);
        
    TextDrawFont(TDright[3], 1);
        
    TextDrawSetProportional(TDright[3], 1);
        
    TextDrawSetSelectable(TDright[3], true);

        
    TDright[4] = TextDrawCreate(100273"ЈPA‹…ћ’HO");
        
    TextDrawLetterSize(TDright[4], 0.4499992.055000);
        
    TextDrawTextSize(TDright[4], 20.453876105.583290);
        
    TextDrawAlignment(TDright[4], 2);
        
    TextDrawColor(TDright[4], -5963521);
        
    TextDrawUseBox(TDright[4], true);
        
    TextDrawBoxColor(TDright[4], 376926741);
        
    TextDrawSetShadow(TDright[4], 0);
        
    TextDrawSetOutline(TDright[4], 1);
        
    TextDrawBackgroundColor(TDright[4], 51);
        
    TextDrawFont(TDright[4], 1);
        
    TextDrawSetProportional(TDright[4], 1);
        
    TextDrawSetSelectable(TDright[4], true);

         
    testtd TextDrawCreate(324244"Let's show");
        
    TextDrawLetterSize(testtd0.4499991.600000);
        
    TextDrawAlignment(testtd 1);
        
    TextDrawColor(testtd , -16776961);
        
    TextDrawSetShadow(testtd0);
        
    TextDrawSetOutline(testtd1);
        
    TextDrawBackgroundColor(testtd41215);
        
    TextDrawFont(testtd1);
        
    TextDrawSetProportional(testtd1); 
    В OnPlayerClickTextDraw добавим
    PHP код:
            if(clickedid == TDright[0])
        {
            
    player_info[playerid][TDRUS] = 0;
            static const 
    fmt_query[] = "UPDATE `accounts` SET `tdrus` = 0 WHERE `id` = '%d'";
            new 
    query[sizeof(fmt_query)+(-2+8)];
            
    format(querysizeof(query), fmt_queryplayer_info[playerid][ID]);
            
    mysql_query(dbHandlequery);
              for(new 
    x5x++)
            {
                
    TextDrawHideForPlayer(playeridTDright[x]);
            }
            
    CancelSelectTextDraw(playerid);
            
    SCM(playeridCOLOR_YELLOW"Textdraw's будут показываться на английском языке!"); 
        }
        else if(
    clickedid == TDright[1])
        {
            
    player_info[playerid][TDRUS] = 1;
            static const 
    fmt_query[] = "UPDATE `accounts` SET `tdrus` = 1 WHERE `id` = '%d'";
            new 
    query[sizeof(fmt_query)+(-2+8)];
            
    format(querysizeof(query), fmt_queryplayer_info[playerid][ID]);
            
    mysql_query(dbHandlequery);
            for(new 
    x5x++)
            {
                
    TextDrawHideForPlayer(playeridTDright[x]);
            }
            
    CancelSelectTextDraw(playerid);
            
    SCM(playeridCOLOR_YELLOW"Textdraw's будут показываться на русском языке!"); 
        }
         else if(
    clickedid == TDright[2])
        {
            
    player_info[playerid][TDRUS] = 2;
            static const 
    fmt_query[] = "UPDATE `accounts` SET `tdrus` = 2 WHERE `id` = '%d'";
            new 
    query[sizeof(fmt_query)+(-2+8)];
            
    format(querysizeof(query), fmt_queryplayer_info[playerid][ID]);
            
    mysql_query(dbHandlequery);
            for(new 
    x5x++)
            {
                
    TextDrawHideForPlayer(playeridTDright[x]);
            }
            
    CancelSelectTextDraw(playerid);
            
    SCM(playeridCOLOR_YELLOW"Textdraw's будут показываться на русском языке!"); 
        }
         else if(
    clickedid == TDright[3])
        {
            
    player_info[playerid][TDRUS] = 3;
            static const 
    fmt_query[] = "UPDATE `accounts` SET `tdrus` = 3 WHERE `id` = '%d'";
            new 
    query[sizeof(fmt_query)+(-2+8)];
            
    format(querysizeof(query), fmt_queryplayer_info[playerid][ID]);
            
    mysql_query(dbHandlequery);
            for(new 
    x5x++)
            {
                
    TextDrawHideForPlayer(playeridTDright[x]);
            }
            
    CancelSelectTextDraw(playerid);
            
    SCM(playeridCOLOR_YELLOW"Textdraw's будут показываться на русском языке!"); 
        }
          else if(
    clickedid == TDright[4])
        {
            
    player_info[playerid][TDRUS] = 4;
            static const 
    fmt_query[] = "UPDATE `accounts` SET `tdrus` = 4 WHERE `id` = '%d'";
            new 
    query[sizeof(fmt_query)+(-2+8)];
            
    format(querysizeof(query), fmt_queryplayer_info[playerid][ID]);
            
    mysql_query(dbHandlequery);
            for(new 
    x5x++)
            {
                
    TextDrawHideForPlayer(playeridTDright[x]);
            }
            
    CancelSelectTextDraw(playerid);
             
    SCM(playeridCOLOR_YELLOW"Textdraw's будут показываться на русском языке!"); 
        }
        return 
    1;

    Чтобы проверить, мы переходим к командам, создаете любые команды и вставляете туда
    PHP код:
    {
    for(new 
    xx5x++) TextDrawShowForPlayer(playeridTDright[x]);
    SelectTextDraw(playerid0x99FFA1FF);
    return 
    1;

    Далее создадим команду для проверки и в следующих показах действуйте точно так же
    PHP код:
    {
        if(
    player_info[playerid][TDRUS] != 0)
        {
            
    TextDrawSetString(Text:testtdRus(playerid"нукась покажись"));
        }
            
    TextDrawShowForPlayer(playeridtesttd);
    return 
    1;

    Но стоп... Кажется мы что то забыли? Конечно же нет! Переходим к stock и добавляем самое главное
    PHP код:
    stock Rus(playeridstring[])
    {
        new 
    iresult[254];
        while(
    <= strlen(string))
        {
            switch(
    string[i])
            {
                case 
    'а''А':result[i] = 'A';
                case 
    'б''Б':
                {
                      switch(
    player_info[playerid][TDRUS])
                       {
                        case 
    1: {    result[i] = 'Ђ'; }
                        case 
    2: {      result[i] = '6'; }
                        case 
    3: {      result[i] = 'Ђ'; }
                        case 
    4: {      result[i] = '—'; }
                      }
                }
                   case 
    'в''В':
                  {
                      switch(
    player_info[playerid][TDRUS])
                       {
                        case 
    1: {      result[i] = '‹'; }
                        case 
    2: {      result[i] = 'B'; }
                        case 
    3: {      result[i] = 'Ѓ'; }
                        case 
    4: {      result[i] = '‹'; }
                    }
                }
                case 
    'г''Г':
                {
                         switch(
    player_info[playerid][TDRUS])
                       {
                        case 
    1: {   result[i] = '‚'; }
                        case 
    2: {     result[i] = 'F'; }
                        case 
    3: {   result[i] = '‚'; }
                        case 
    4: {   result[i] = '™'; }
                    }
                }
                case 
    'д''Д':
                {
                         switch(
    player_info[playerid][TDRUS])
                       {
                        case 
    1: {   result[i] = 'ѓ'; }
                        case 
    2: {     result[i] = 'D'; }
                        case 
    3: {   result[i] = 'ѓ'; }
                        case 
    4: {   result[i] = 'љ'; }
                    }
                }
                    case 
    'е''Е''ё''Ё':result[i] = 'E';
                case 
    'ж''Ж':
                {
                         switch(
    player_info[playerid][TDRUS])
                       {
                        case 
    1: {   result[i] = '„'; }
                        case 
    2: {     result[i] = 'G'; }
                        case 
    3: {   result[i] = '•'; }
                        case 
    4: {   result[i] = '›'; }
                    }
                }
                    case 
    'з''З':result[i] = '3';
                case 
    'и''И':
                {
                    switch(
    player_info[playerid][TDRUS])
                       {
                        case 
    1: {   result[i] = '…'; }
                        case 
    2: {      result[i] = 'N'; }
                        case 
    3: {   result[i] = '‹'; }
                        case 
    4: {   result[i] = '…'; }
                    }
                }
                case 
    'й''Й':
                {
                    switch(
    player_info[playerid][TDRUS])
                       {
                        case 
    1: {   result[i] = '†'; }
                        case 
    2: {   result[i] = 'N'; }
                        case 
    3: {   result[i] = 'Њ'; }
                        case 
    4: {   result[i] = 'ќ'; }
                    }
                }
                case 
    'к''К':result[i] = 'K';
                case 
    'л''Л':
                {
                    switch(
    player_info[playerid][TDRUS])
                       {
                        case 
    1: {   result[i] = '‡'; }
                        case 
    2: {   result[i] = 'L'; }
                        case 
    3: {   result[i] = '„'; }
                        case 
    4: {   result[i] = 'ћ'; }
                    }
                }
                case 
    'м''М'result[i] = 'M';
                case 
    'н''Н':result[i] = 'H';
                case 
    'о''О':result[i] = 'O';
                 case 
    'п''П':
                {
                    switch(
    player_info[playerid][TDRUS])
                       {
                        case 
    1: {   result[i] = 'Њ'; }
                        case 
    2: {      result[i] = 'Z'; }
                        case 
    3: {   result[i] = '–'; }
                        case 
    4: {   result[i] = 'Ј'; }
                    }
                }
                case 
    'р''Р':result[i] = 'P';
                case 
    'с''С':result[i] = 'C';
                case 
    'т''Т'result[i] = 'T';
                case 
    'у''У':result[i] = 'Y';
                case 
    'ф''Ф':
                {
                    switch(
    player_info[playerid][TDRUS])
                       {
                        case 
    1: {   result[i] = 'Ѓ'; }
                        case 
    2: {   result[i] = 'V'; }
                        case 
    3: {   result[i] = 'Ћ'; }
                        case 
    4: {   result[i] = 'Ѓ'; }
                    }
                }
                case 
    'х''Х':result[i] = 'X';
                case 
    'ц''Ц':
                {
                    switch(
    player_info[playerid][TDRUS])
                       {
                        case 
    1: {   result[i] = '‰'; }
                        case 
    2: {   result[i] = 'Q'; }
                        case 
    3: {   result[i] = '†'; }
                        case 
    4: {   result[i] = '‰'; }
                    }
                }
                    case 
    'ч''Ч':
                {
                    switch(
    player_info[playerid][TDRUS])
                       {
                        case 
    1: {   result[i] = '¤'; }
                        case 
    2: {     result[i] = '4'; }
                        case 
    3: {   result[i] = '‡'; }
                        case 
    4: {   result[i] = 'Ќ'; }
                    }
                }
                case 
    'ш''Ш':
                {
                    switch(
    player_info[playerid][TDRUS])
                       {
                        case 
    1: {   result[i] = 'Ћ'; }
                        case 
    2: {   result[i] = 'W'; }
                        case 
    3: {     result[i] = 'Ќ'; }
                        case 
    4: {   result[i] = 'Ћ'; }
                    }
                }
                case 
    'щ''Щ':
                {
                    switch(
    player_info[playerid][TDRUS])
                       {
                        case 
    1: {   result[i] = 'Љ'; }
                        case 
    2: {   result[i] = 'W'; }
                        case 
    3: {   result[i] = '€'; }
                        case 
    4: {   result[i] = 'Љ'; }
                    }
                }
                 case 
    'ь''Ь':
                {
                    switch(
    player_info[playerid][TDRUS])
                       {
                        case 
    1: {   result[i] = '’'; }
                        case 
    2: {     result[i] = 'J'; }
                        case 
    3: {   result[i] = '‘'; }
                        case 
    4: {   result[i] = '’'; }
                    }
                }
                case 
    'ъ''Ъ':
                {
                    switch(
    player_info[playerid][TDRUS])
                       {
                        case 
    1: {   result[i] = 'ђ'; }
                        case 
    2: {   result[i] = 'J'; }
                        case 
    3: {   result[i] = 'Џ'; }
                        case 
    4: {   result[i] = 'ђ'; }
                    }
                }
                case 
    'ы''Ы':
                {
                    switch(
    player_info[playerid][TDRUS])
                       {
                        case 
    1: {   result[i] = '‘'; }
                        case 
    2: {   result[i] = 'S'; }
                        case 
    3: {   result[i] = 'ђ'; }
                        case 
    4: {   result[i] = '‘'; }
                    }
                }
                case 
    'э''Э':
                {
                    switch(
    player_info[playerid][TDRUS])
                       {
                        case 
    1: {   result[i] = '“'; }
                        case 
    2: {   result[i] = 'E'; }
                        case 
    3: {   result[i] = '’'; }
                        case 
    4: {   result[i] = 'Є'; }
                    }
                }
                case 
    'ю''Ю':
                {
                    switch(
    player_info[playerid][TDRUS])
                       {
                        case 
    1: {   result[i] = '«'; }
                        case 
    2: {   result[i] = 'U'; }
                        case 
    3: {   result[i] = '“'; }
                        case 
    4: {   result[i] = '«'; }
                    }
                }
                 case 
    'я''Я':
                {
                    switch(
    player_info[playerid][TDRUS])
                       {
                        case 
    1: {   result[i] = '•'; }
                        case 
    2: {   result[i] = 'R'; }
                        case 
    3: {   result[i] = '”'; }
                        case 
    4: {   result[i] = '¬'; }
                    }
                }
            default:
    result[i]=string[i];
            }
            
    ++;
        }
        return 
    result;

    Скриншоты








    И да, не забудьте в запросе вставить свои переменные
    ps буквы "ю" и "ч" в некоторых случаях могут иметь маленький регистр, в то время, как все остальные будут иметь большой. Имейте это ввиду
    pss а еще тут табуляция полетела, поправить не получается

  2. #2
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Вот это костыли. Есть плагин для такого дела: rustext
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  3. #3
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Зачем вид шрифта TD хранить у игрока в переменной?
    По сути шрифт устанавливает от сервера) да и вообще он больше как временный или локальный в функции должен устанавливаться))
    Так чисто по моей логике.
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

  4. #4
    Аватар для wAx
    ¯\_(ツ)_/¯

    Статус
    Оффлайн
    Регистрация
    13.12.2013
    Сообщений
    377
    Репутация:
    146 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    Зачем вид шрифта TD хранить у игрока в переменной?
    По сути шрифт устанавливает от сервера) да и вообще он больше как временный или локальный в функции должен устанавливаться))
    Так чисто по моей логике.
    в переменной не шрифт, а тип подходящего для игрока руссификатора, это персональный параметр.

  5. #5
    Аватар для koberman
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.03.2017
    Адрес
    Новосибирск
    Сообщений
    49
    Репутация:
    4 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    Вот это костыли. Есть плагин для такого дела: rustext
    Возможно данный скрипт и легче. На момент ознакомления с оригинальной темой и переводом на мускул, я не знал о данном скрипте.

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •