
06.04.2022, 15:06
|
|
Познающий
Регистрация: 09.05.2017
Сообщений: 33
С нами:
4743173
Репутация:
63
|
|
Сообщение от Dadazik
парни,хочу сделать рванку с ног но не понимаю что тут не так?
Для кого это делали? https://www.blast.hk/threads/23413/
Делай по примеру
@@@@:
Код:
bool CALLBACK outcomingData( stRakNetHookParams *params ) // определение callback-функции, которая будет вызвана при отправке какого либо пакета
{
if( params->packetId == PacketEnumeration::ID_PLAYER_SYNC ) // если отправляемый пакет — это ID_PLAYER_SYNC
{
stOnFootData data; // определяем объект, в который сохраним отправляемые данные
memset( &data, 0, sizeof( stOnFootData ) ); // обнуляем его
byte packet;
params->bitStream->ResetReadPointer(); // на всякий случай устанавливаем оффсет чтения на начало
params->bitStream->Read( packet ); // читаем ID пакета
params->bitStream->Read( (PCHAR)&data, sizeof( stOnFootData ) ); // читаем отправляемые данные
params->bitStream->ResetReadPointer(); // снова обнуляем оффсет чтения
SF->getSAMP()->getChat()->AddChatMessage( D3DCOLOR_XRGB( 255, 255, 0 ), "Наша скорость: %.2f %.2f %.2f",
data.fMoveSpeed[0], data.fMoveSpeed[1], data.fMoveSpeed[2] ); // пишем в чат скорость нашего передвижения, записанную в пакет
data.fMoveSpeed[0] = rand()%10;
data.fMoveSpeed[1] = rand()%10;
data.fMoveSpeed[2] = rand()%10; // перезаписали скорость на случайную; получается эффект, похожий на Pizdarvanka.
params->bitStream->ResetWritePointer(); // обнуляем оффсет записи
params->bitStream->Write( packet ); // пишем ид пакета
params->bitStream->Write( (PCHAR)&data, sizeof( stOnFootData ) ); // пишем обновлённые данные
};
return true; // успешно завершаем отправку пакета
};
SF->getRakNet()->registerRakNetCallback( RakNetScriptHookType::RAKHOOK_TYPE_OUTCOMING_PACKET, outcomingData ); // регистрируем callback
|
|
|