if (params->packetId == RPC_ScrClientMessage)
{
DWORD chatLen, color;
char text[144];
params->bitStream->ResetReadPointer();
params->bitStream->Read(color);
params->bitStream->Read(chatLen);
params->bitStream->Read(text, chatLen);
text[chatLen] = '\0';
// Тут действие с текстом
params->bitStream->ResetWritePointer();
params->bitStream->Write(color);
params->bitStream->Write(strlen(text));
params->bitStream->Write(text, strlen(text));
}
return true;
}
if (params->packetId == RPC_ScrClientMessage)
{
DWORD chatLen, color;
char text[144];
params->bitStream->ResetReadPointer();
params->bitStream->Read(color);
params->bitStream->Read(chatLen);
params->bitStream->Read(text, chatLen);
text[chatLen] = '\0';
// Тут действие с текстом
}
return true;
}
И как допустим произвести действие нажатия клавиши FC++:if (params->packetId == RPC_ScrClientMessage) { DWORD chatLen, color; char text[144]; params->bitStream->ResetReadPointer(); params->bitStream->Read(color); params->bitStream->Read(chatLen); params->bitStream->Read(text, chatLen); text[chatLen] = '\0'; // Тут действие с текстом params->bitStream->ResetWritePointer(); params->bitStream->Write(color); params->bitStream->Write(strlen(text)); params->bitStream->Write(text, strlen(text)); } return true; }Подробнее: tutorials - api_lesson_raknet | BlastHack — DEV_WIKI (https://blast.hk/wiki/tutorials:api_lesson_raknet)C++:if (params->packetId == RPC_ScrClientMessage) { DWORD chatLen, color; char text[144]; params->bitStream->ResetReadPointer(); params->bitStream->Read(color); params->bitStream->Read(chatLen); params->bitStream->Read(text, chatLen); text[chatLen] = '\0'; // Тут действие с текстом } return true; }
И как допустим произвести действие нажатия клавиши F
Если он увидит допустим текст "Садись"
bool IsDigited = false; // в начале плагина
bool __stdcall Hook(stRakNetHookParams *hook)
{
if (hook->packetId == RPC_ScrClientMessage)
{
DWORD color, strLen; char msg[256];
hook->bitStream->ResetReadPointer();
hook->bitStream->Read(color);
hook->bitStream->Read(strLen);
hook->bitStream->Read(msg, strLen);
hook->bitStream->ResetReadPointer();
char *ptr = strstr(msg, "Садись уебок");
if (ptr != nullptr) IsDigited = true;
}
}
void __stdcall mainloop( void )
{
static bool init = false;
if( !init )
{
if (GAME == nullptr) return;
if (GAME->GetSystemState() != eSystemState::GS_PLAYING_GAME) return;
if(!SF->getSAMP()->IsInitialized()) return;
SF->getRakNet()->registerRakNetCallback(RakNetScriptHookType::RAKHOOK_TYPE_INCOMING_RPC, Hook);
init = true;
}
else
{
if (SF->getGame()->isKeyPressed(70) && isDigited)
{
isDigited = false;
// действие
}
}
}
Воздержись от удовольствия выразить свою благодарность.C++:bool IsDigited = false; // в начале плагина bool __stdcall Hook(stRakNetHookParams *hook) { if (hook->packetId == RPC_ScrClientMessage) { DWORD color, strLen; char msg[256]; hook->bitStream->ResetReadPointer(); hook->bitStream->Read(color); hook->bitStream->Read(strLen); hook->bitStream->Read(msg, strLen); hook->bitStream->ResetReadPointer(); char *ptr = strstr(msg, "Садись уебок"); if (ptr != nullptr) IsDigited = true; } } void __stdcall mainloop( void ) { static bool init = false; if( !init ) { if (GAME == nullptr) return; if (GAME->GetSystemState() != eSystemState::GS_PLAYING_GAME) return; if(!SF->getSAMP()->IsInitialized()) return; SF->getRakNet()->registerRakNetCallback(RakNetScriptHookType::RAKHOOK_TYPE_INCOMING_RPC, Hook); init = true; } else { if (SF->getGame()->isKeyPressed(70) && isDigited) { isDigited = false; // действие } } }
SF->getGame()->isKeyPressed(70)
C++ регистрозависимый язык, объявлено IsDigited, а проверяется isDigitedПосмотреть вложение 8965
Вылазит такая ошибка...
Не подскажешь где можно посмотреть ID всех клавишь на C++ ?C++ регистрозависимый язык, объявлено IsDigited, а проверяется isDigited
просто пиши VK_ и выпадет списокНе подскажешь где можно посмотреть ID всех клавишь на C++ ?
Он просил чтобы срабатывало по нажатию кнопки Fдля чего там?C++:SF->getGame()->isKeyPressed(70)
А я то думаю, чего у меня ничего не работает)Он просил чтобы срабатывало по нажатию кнопки F
он русским языком сказал, чтоб само нажималось, а не чтоб он нажимал еще дополнительноОн просил чтобы срабатывало по нажатию кнопки F