Добро пожаловать!

Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим участникам нашего сообщества.

Зарегистрироваться!
  • Если Вы желаете помогать развитию проекта, готовы заполнять раздел(-ы) и подсказывать другим пользователям на портале, есть возможность попасть в команду редакторов. Для этого следует обратиться в техническую поддержку
Статус
В этой теме нельзя размещать новые ответы.
Пользователь
Регистрация
9 Авг 2024
Сообщения
3
Сделал русские ники вместо их вот это вот код в моде
Pawn:
stock TranslateNick(playerid)
{
    f(global_str, sizeof global_str, "aetihoyq.beget.tech/translate.php?nickname=%s&v=1", PN(playerid));
    HTTP(playerid, HTTP_GET, global_str, "", "NickNameStock");
}
public: NickNameStock(index, response_code, data[])
{
    SQL("UPDATE `accounts` SET `RusName` = '%s' WHERE `ID` = '%d' LIMIT 1", data, PI[index][pID]);
    f(global_str, 100, "SELECT * FROM `accounts` WHERE `ID` = '%d' LIMIT 1", PI[index][pID]);
    mysql_tquery(mysql, global_str, "CheckNickName", "d", index);
} 
stock SetPlayerIdName(playerid, const name[], forplayerid)
{
    new BitStream:bs = BS_New();
    BS_WriteValue(bs,\
        PR_UINT16, forplayerid,\
        PR_UINT8, strlen(name),\
        PR_STRING, name,\
        PR_UINT8, 1);
    PR_SendRPC(bs, playerid, 11);
    return BS_Delete(bs);
}
1745153839296.png
 
Решение
Открой скрипт translate.php и 34 строку замени с
PHP:
echo translate("en", "ru", $nickname);
на
PHP:
echo mb_convert_encoding(translate("en", "ru", $nickname), 'Windows-1251', 'UTF-8');
и перезалей на хостинг.

После того, как заменил строку - перейди по ссылке aetihoyq.beget.tech/translate.php?nickname=Test_Test&v=1 и проверь в какой кодировке выдает строку скрипт.
Пользователь
Регистрация
3 Дек 2023
Сообщения
2
Будет работать или нет, не гарантирую, но попробуй проверить translate.php, действительно ли он переводит ники из UTF-8.



Pawn:
stock TranslateNick(playerid)
{
    new url[256];
    format(url, sizeof(url), "aetihoyq.beget.tech/translate.php?nickname=%s&v=1", PN(playerid));
    HTTP(playerid, HTTP_GET, url, "", "NickNameStock");
}

public NickNameStock(playerid, response_code, data[])
{
    if (response_code != 200 || strlen(data) == 0)
    {
        return 1;
    }
    
    SQL("UPDATE `accounts` SET `RusName` = '%s' WHERE `ID` = '%d' LIMIT 1", data, PI[playerid][pID]);

    for (new i = 0; i < MAX_PLAYERS; ++i)
    {
        if (IsPlayerConnected(i))
        {
            SetPlayerIdName(i, data, playerid);
        }
    }
    return 1;
}

stock SetPlayerIdName(playerid, const name[], forplayerid)
{
    new BitStream:bs = BS_New();
    BS_WriteValue(bs,
        PR_UINT16, forplayerid,
        PR_UINT8, strlen(name),
        PR_STRING, name,
        PR_UINT8, 1);
    PR_SendRPC(bs, playerid, 11);
    return BS_Delete(bs);
}
 
Создатель WayDev
Команда форума
Администратор
Регистрация
13 Мар 2022
Сообщения
976
Открой скрипт translate.php и 34 строку замени с
PHP:
echo translate("en", "ru", $nickname);
на
PHP:
echo mb_convert_encoding(translate("en", "ru", $nickname), 'Windows-1251', 'UTF-8');
и перезалей на хостинг.

После того, как заменил строку - перейди по ссылке aetihoyq.beget.tech/translate.php?nickname=Test_Test&v=1 и проверь в какой кодировке выдает строку скрипт.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху