
23.04.2016, 12:05
|
|
Новичок
Регистрация: 13.12.2020
Сообщений: 0
С нами:
2851002
Репутация:
0
|
|
пытаюсь прочитать позицию пикапа с помощью перехвата RPC, но правильно читается только его ID, а всё остальное - нет.
Код:
Код:
else if (params->packetId == ScriptRPCEnumeration::RPC_ScrCreatePickup)
{
short pickup_id;
float pos[3];
int model_id;
int type;
params->bitStream->ResetReadPointer(); // на всякий случай устанавливаем оффсет чтения на начало
params->bitStream->Read(pickup_id); // читаем отправляемые данные
params->bitStream->Read(model_id); // читаем отправляемые данные
params->bitStream->Read(type); // читаем отправляемые данные
params->bitStream->Read(pos); // читаем отправляемые данные
params->bitStream->ResetReadPointer(); // снова обнуляем оффсет чтения
SF->getSAMP()->getChat()->AddChatMessage(-1, "%d %f %f %f", pickup_id, pos[0], pos[1], pos[2]);
return true;
}
Решил методом тыка.
Код:
Код:
params->bitStream->ResetReadPointer(); // на всякий случай устанавливаем оффсет чтения на начало
params->bitStream->Read(pickup_id); // читаем отправляемые данные
params->bitStream->SetReadOffset(96);
params->bitStream->Read(pos[0]); // читаем отправляемые данные
params->bitStream->Read(pos[1]); // читаем отправляемые данные
params->bitStream->Read(pos[2]); // читаем отправляемые данные
params->bitStream->ResetReadPointer(); // снова обнуляем оффсет чтения
SF->getSAMP()->getChat()->AddChatMessage(-1, "%d %f %f %f", pickup_id, pos[0], pos[1], pos[2]);
|
|
|