Я получал клантег во время OnPlayerSpawnНемного не по теме, а немного и по теме плагина. Знает ли кто-нибудь, в какой момент сервер получает ник игрока?
(вроде как в OnClientPostAdminCheck получить ещё не удаётся, CS_GetClientClanTag даёт пустую строку)
Ну так оно будет вызываться каждый спаун, а надо бы один раз.Я получал клантег во время OnPlayerSpawn
У автора есть видео в вк, ему там уже года 2 вроде как, я хз почему он не выложит егоВсё таки хотелось бы видеть ,как работает плагин
Видео там какое-нибудь ,хз)
Это смотря для чего нужно получать, к примеру, если клиент сменит клантег. Поэтому я и проверяю его каждый раунд.Ну так оно будет вызываться каждый спаун, а надо бы один раз.
Хотя можно конечно костыль, типа переменной проверяющей получен ли тэг, но как-то ну такое, поэтому вопрос остается открытым.
Попробуй сделать так: при подключении игрока создавай таймер и в нём задавай задержку, 0.1 сек к примеру, а в каллбеке таймера уже работай с клан-тегом.Немного не по теме, а немного и по теме плагина. Знает ли кто-нибудь, в какой момент сервер получает ник игрока?
(вроде как в OnClientPostAdminCheck получить ещё не удаётся, CS_GetClientClanTag даёт пустую строку)
Так инфы 0мда... не удивлен, что ни кто не ответил
Немного не по теме, а немного и по теме плагина. Знает ли кто-нибудь, в какой момент сервер получает ник игрока?
(вроде как в OnClientPostAdminCheck получить ещё не удаётся, CS_GetClientClanTag даёт пустую строку)
Открыл бы исходник тегов, увидел бы =)Ну так оно будет вызываться каждый спаун, а надо бы один раз.
Хотя можно конечно костыль, типа переменной проверяющей получен ли тэг, но как-то ну такое, поэтому вопрос остается открытым.
public void OnClientSettingsChanged(int iClient)
{
// ...
}
iTick[iClient] += (iTagType[iClient] ? 2 : 1);
SM логи под хайд.Плагин грузится, но теги не отображаются XD, я валенок может что в кфг не так
вот умеешь же ты докапыватьсяа какой тип писать, если использованы символы латиницы и кириллицы одновременно?C-подобный:iTick[iClient] += (iTagType[iClient] ? 2 : 1);
Ведь если в теге есть хоть 1 символ латиницы или цифры, то у тебя снова будет криво резать
Вообще нужно проверять все символы с помощью IsCharMB или GetCharBytes, а не заставлять писать тип в конфиге (мало ли, м/б человек не в курсе как это работает так же, как и ты)
Так то оно так, но не всегда можно предусмотреть все ситуации. Учитывая, что некоторые юзеры, возможно, совсем ещё детишки - их ручками можно сломать даже то, что работает идеально.Manifest, ну так всё равно когда-нибудь тебе об этом пользователи плагина напишут
А так ты хотя бы причину такого поведения плагина будешь знать
Плагин будет корректно отображать теги с объединением русских и английских букв, а также спец. символов
static const char TXT[][] =
{
"!\"#$%&'()*+,-./0123456789:;<=>?@",
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",
"абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ",
"!\"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyzабвгдеёжзийклмнопрстуфхцчшщъыьэюя"
};
public void OnPluginStart()
{
PrintToServer("\n<Symbol test>");
for(int i, j, k, l, m; i < 4; i++)
{
j = l = m = 0;
while(TXT[i][j])
{
l += (k = GetCharBytes(TXT[i][j]));
j += k;
m++;
}
PrintToServer(" %d) %s\n bytes: %i steps: %i len: %i", i, TXT[i], l, m, strlen(TXT[i]));
}
PrintToServer("</Symbol test>\n");
}
<Symbol test>
0) !"#$%&'()*+,-./0123456789:;<=>?@
bytes: 32 steps: 32 len: 32
1) abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
bytes: 52 steps: 52 len: 52
2) абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
bytes: 132 steps: 66 len: 132
3) !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyzабвгдеёжзийклмнопрстуфхцчшщъыьэюя
bytes: 124 steps: 91 len: 124</Symbol test>
Да я вроде type и так убрал)В общем переписал плагин снова
- исправил логику чтения конфига при смене тега игрока (раньше слишком поздно проверялся флаг custom для принудительной смены тега)
- добавил команду at_set для установки/удаления тега
использование: at_set <игрок> [тег], если указан только игрок или будет указан пустой тег, то существующий тег будет удалён, иначе тег будет добавлен в конфиг или изменён- переименовал команду sm_reloadtags в at_reload
- поправил логику добавления символов в тег (больше не нужен параметр type в конфиге) и оптимизировал код