[CS:GO] Обходим ограничения символов в PrintToChat/PrintHintText

Rostu

Добрая душа
Сообщения
986
Реакции
623
Недавно я открыл для себя удивительную штуку, в CS GO, как мне кажется, еще с выходом панорама увеличили лимит на количество символов в чате + HintText. Путем некоторых тестов я выяснил, что новое ограничение в чате = 2024 символов, с этим есть и свои проблемы, если отправите ОЧЕНЬ много символов - у игрока забагается чат, и он -> Не будет видеть его, пока сам не откроет его :)

А вот с PrintHintText получается интереснее, новое ограничение там составляет ... 0xFFFF [65535] символов, думаю теперь вам хватит длинны, чтобы разукрасить каждый символ там:)
А выглядит это как-то так:
20191105180405_1.jpg

Так же я столкнулся с проблемой, чтобы изменить новую длину для стандартных stock SM -> PrintToChatAll/PrintHintTextToAll как минимум из-за того, что для создания char buffer [0xFFFF] нужно изменять #pragma dynamic и я надеюсь на ответ разработчиков, которые помогут определиться с этим. По этому был создан такой Pull Request для SM -> Raised limits for csgo HintText and SayText protobuffs by GAMMACASE · Pull Request #1118 · alliedmodders/sourcemod

Так же вы можете поиграться с этим. Код:

C-подобный:
stock void PrintToChat2(int iClient, const char[] sMsg)
{
    Protobuf pb = view_as<Protobuf>(StartMessageOne("SayText", iClient));
    pb.SetString("text", sMsg);
    EndMessage();
}
stock void PrintToChatAll2(const char[] sMsg) //2024
{
    Protobuf pb = view_as<Protobuf>(StartMessageAll("SayText"));
    pb.SetString("text", sMsg);
    EndMessage();
}
stock void PrintHintText2(int iClient, const char[] sMsg)
{
    Protobuf pb = view_as<Protobuf>(StartMessageOne("HintText", iClient));
    pb.SetString("text", sMsg);
    EndMessage();
}
stock void PrintHintTextToAll2(const char[] sMsg)
{
    Protobuf pb = view_as<Protobuf>(StartMessageAll("HintText"));
    pb.SetString("text", sMsg);
    EndMessage();
}
 

Rostu

Добрая душа
Сообщения
986
Реакции
623
Около 20-ти дней назад - эти изменения приняли в сам SM => Raised limits for csgo HintText and SayText protobuffs by GAMMACASE · Pull Request #1118 · alliedmodders/sourcemod
Но недавно - обнаружилось, что при использовании SayText - нельзя заблокировать звук, которые воспроизводится при написании в чат, по этому Pull Request - был возвращен => Revert "csgo: enable SayText + raise msg limits (#1118)" by asherkin · Pull Request #1209 · alliedmodders/sourcemod
2020-03-16_08-41-41.png

К чему это сообщение? - А к тому, что все способы, которые должны были разнообразить сервера сообщества - были убиты(Хотя в SayText - изначально нельзя было, вроде как, блочить звук) и это тема - стала бесполезной :)
(Можно юзать в Hint 0xFFFF символов - но там нету форматирование текста, можно юзать так же чат, но там используется, каждый раз, противный звук)
 
Последнее редактирование:
Сверху Снизу