мб в ImVec4? в полезных функциях вроде был сниппет.как в имгуи преобразовать цвет из rgba в ImVec2? Есть ли генератор такого цвета?
мб в ImVec4? в полезных функциях вроде был сниппет.как в имгуи преобразовать цвет из rgba в ImVec2? Есть ли генератор такого цвета?
bool CALLBACK incomingRPC(stRakNetHookParams * params)
{
if (params->packetId == ScriptRPCEnumeration::RPC_ScrClientMessage)
{
DWORD strlen;
char string[2048];
params->bitStream->ResetReadPointer();
params->bitStream->Read(strlen);
params->bitStream->Read(string, strlen);
SF->getSAMP()->getChat()->AddChatMessage(-1, "дебаг");
if (!strcmp(string, "Server closed the connection."))
{
SF->getSAMP()->getChat()->AddChatMessage(-1, "Сервер закрыл соединение");
}
}
return true;
}
вроде нельзя этот текст хукнуть через raknetC++:bool CALLBACK incomingRPC(stRakNetHookParams * params) { if (params->packetId == ScriptRPCEnumeration::RPC_ScrClientMessage) { DWORD strlen; char string[2048]; params->bitStream->ResetReadPointer(); params->bitStream->Read(strlen); params->bitStream->Read(string, strlen); SF->getSAMP()->getChat()->AddChatMessage(-1, "дебаг"); if (!strcmp(string, "Server closed the connection.")) { SF->getSAMP()->getChat()->AddChatMessage(-1, "Сервер закрыл соединение"); } } return true; }
В чат выводит "дебаг", но "Сервер закрыл соединение" - нет. Почему так ?
да в imvec4мб в ImVec4? в полезных функциях вроде был сниппет.
отлавливай через структуру чата либо через хук DISCONNECTION_NOTIFICATIONC++:bool CALLBACK incomingRPC(stRakNetHookParams * params) { if (params->packetId == ScriptRPCEnumeration::RPC_ScrClientMessage) { DWORD strlen; char string[2048]; params->bitStream->ResetReadPointer(); params->bitStream->Read(strlen); params->bitStream->Read(string, strlen); SF->getSAMP()->getChat()->AddChatMessage(-1, "дебаг"); if (!strcmp(string, "Server closed the connection.")) { SF->getSAMP()->getChat()->AddChatMessage(-1, "Сервер закрыл соединение"); } } return true; }
В чат выводит "дебаг", но "Сервер закрыл соединение" - нет. Почему так ?
Даже если другой текст ввести туда, то всё равно не сравниваются строкиотлавливай через структуру чата либо через хук DISCONNECTION_NOTIFICATION
1. не правильно читаешьC++:bool CALLBACK incomingRPC(stRakNetHookParams * params) { if (params->packetId == ScriptRPCEnumeration::RPC_ScrClientMessage) { DWORD strlen; char string[2048]; params->bitStream->ResetReadPointer(); params->bitStream->Read(strlen); params->bitStream->Read(string, strlen); SF->getSAMP()->getChat()->AddChatMessage(-1, "дебаг"); if (!strcmp(string, "Server closed the connection.")) { SF->getSAMP()->getChat()->AddChatMessage(-1, "Сервер закрыл соединение"); } } return true; }
В чат выводит "дебаг", но "Сервер закрыл соединение" - нет. Почему так ?
Без разницы на этот клосед коннекцион, как любое другое сообщение отловить и сравнить ?1. не правильно читаешь
2. Server closed the connection не приходит в RPC_ScrClientMessage
Без разницы на этот клосед коннекцион, как любое другое сообщение отловить и сравнить ?
uint strLen, color;
char szMsg[144];
params->bitStream->ResetReadPointer();
params->bitStream->Read(color);
params->bitStream->Read(strLen);
if (strLen >= sizeof(szMsg)) strLen = sizeof(szMsg) - 1;
params->bitStream->Read(szMsg, strLen);
szMsg[strLen] = '\0';
if(strstr(szMsg, "text"))
{
// ...
}
не работает, ничего не происходитC++:uint strLen, color; char szMsg[144]; params->bitStream->ResetReadPointer(); params->bitStream->Read(color); params->bitStream->Read(strLen); if (strLen >= sizeof(szMsg)) strLen = sizeof(szMsg) - 1; params->bitStream->Read(szMsg, strLen); szMsg[strLen] = '\0'; if(strstr(szMsg, "text")) { // ... }
SF->getRakNet()->registerRakNetCallback(RakNetScriptHookType::RAKHOOK_TYPE_INCOMING_RPC, incomingRPC);
Без разницы на этот клосед коннекцион, как любое другое сообщение отловить и сравнить ?
не работает, ничего не происходит
каллбэк регаю, хз в чём проблема
C++:SF->getRakNet()->registerRakNetCallback(RakNetScriptHookType::RAKHOOK_TYPE_INCOMING_RPC, incomingRPC);
if (params->packetId == ScriptRPCEnumeration::RPC_ScrClientMessage)
{
size_t len;
DWORD color;
char message[256];
params->bitStream->ResetReadPointer();
params->bitStream->Read(color);
params->bitStream->Read(len);
params->bitStream->Read(message, len);
params->bitStream->ResetReadPointer();
message[len] = '\0';
if (strcmp(message, "cakebou") == 0)
{
SF->getSAMP()->getChat()->AddChatMessage(-1, "Got it!");
}
};
Если что функция strcmp проверяет целую строку, а strstr проверяет часть строкине работает, ничего не происходит
каллбэк регаю, хз в чём проблема
C++:SF->getRakNet()->registerRakNetCallback(RakNetScriptHookType::RAKHOOK_TYPE_INCOMING_RPC, incomingRPC);
И так и так проверял, не работает, он читает другие строки чата, но почему-то не сравнивает.C++:if (params->packetId == ScriptRPCEnumeration::RPC_ScrClientMessage) { size_t len; DWORD color; char message[256]; params->bitStream->ResetReadPointer(); params->bitStream->Read(color); params->bitStream->Read(len); params->bitStream->Read(message, len); params->bitStream->ResetReadPointer(); message[len] = '\0'; if (strcmp(message, "cakebou") == 0) { SF->getSAMP()->getChat()->AddChatMessage(-1, "Got it!"); } };
Если что функция strcmp проверяет целую строку, а strstr проверяет часть строки