Цитата sup3m4n (
)
_wS_, помоги у меня vip chat с СРР ругаються что сделать? Пишишь в общий чат (Y) все норм , а пишешь в командный (U) весь чат исчезает
лог
L 01/17/2022 - 09:32:29: [SM] Exception reported: Unable to execute a new message, there is already one in progress
SM почему-то не сделали функцию, возвращающую статус UserMsg (g_IsMsgInExec), начато оно или нет. Если StartMessage ещё не завершено (EndMessage), и кто-то делает StartMessage, то вместо return INVALID_HANDLE, они спамят в лог ошибку и крашат функции (как обычно). Похоже plugin'ам остаётся только общаться между собой с помощью nativ'ов/forward'ов. Например, cpp может не делать StartMessage, если это собирается сделать VIP, добавив проверку:
Код
if (игрок пишет в командный чат)
{
char s[4];
if (VIP_GetCurrentItemValue(client, "chat", s, sizeof(s)) && s[0] == '1')
{
// cpp должен спать, т.к. VIP сделает StartMessage.
}
}
Но подстраиваться так под каждый plugin глупо.
Создал тему https://github.com/alliedmodders/sourcemod/issues/1693 - мб добавят native.
Ты можешь в vip_chat.sp изменить это:
Код
AddCommandListener(SayHook, "say_team");
На это:
Код
//AddCommandListener(SayHook, "say_team");
И перекомпилировать модуль = vip чат для командного чата работать не будет.
Или отключить командный чат в CPP, если там есть.