Недавно я открыл для себя удивительную штуку, в CS GO, как мне кажется, еще с выходом панорама увеличили лимит на количество символов в чате + HintText. Путем некоторых тестов я выяснил, что новое ограничение в чате = 2024 символов, с этим есть и свои проблемы, если отправите ОЧЕНЬ много символов - у игрока забагается чат, и он -> Не будет видеть его, пока сам не откроет его :)
А вот с PrintHintText получается интереснее, новое ограничение там составляет ... 0xFFFF [65535] символов, думаю теперь вам хватит длинны, чтобы разукрасить каждый символ там:)
А выглядит это как-то так:
Так же я столкнулся с проблемой, чтобы изменить новую длину для стандартных 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
Так же вы можете поиграться с этим. Код:
А вот с PrintHintText получается интереснее, новое ограничение там составляет ... 0xFFFF [65535] символов, думаю теперь вам хватит длинны, чтобы разукрасить каждый символ там:)
А выглядит это как-то так:
Так же я столкнулся с проблемой, чтобы изменить новую длину для стандартных 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();
}