
22.03.2022, 11:46
|
|
Постоянный
Регистрация: 29.05.2017
Сообщений: 394
С нами:
4714653
Репутация:
98
|
|
Сообщение от Yayachana)
Через RPC не пробовал эмулировать, но при помощи перехвата пакета, всё работает
123:
Код:
bool CALLBACK anim(stRakNetHookParams* params)
{
if (params->packetId == PacketEnumeration::ID_PLAYER_SYNC)
{
char buf[128];
stOnFootData data;
memset(&data, 0, sizeof(stOnFootData));
byte packet;
params->bitStream->ResetReadPointer();
params->bitStream->Read(packet);
params->bitStream->Read((PCHAR)&data, sizeof(stOnFootData));
params->bitStream->ResetReadPointer();
data.byteSpecialAction = ;
data.sCurrentAnimationID = ;
data.sAnimFlags = ;
//sprintf_s(buf, "SpecAction: %d || AnimID: %d || AnimFlags: %d", data.byteSpecialAction, data.sCurrentAnimationID, data.sAnimFlags);
//SF->getSAMP()->getChat()->AddChatMessage(-1, buf);
params->bitStream->ResetWritePointer();
params->bitStream->Write(packet);
params->bitStream->Write((PCHAR)&data, sizeof(stOnFootData));
};
return true;
};
В mainloop -> SF->getRakNet()->registerRakNetCallback(RakNetScriptHookType::RAKH OOK_TYPE_OUTCOMING_PACKET, anim);
Задача состоит в том, чтобы применить анимацию к локальному игроку так, чтобы эту анимку было видно у пользователя. Ты предлагаешь просто отправить фэйк синхру, а её будут видеть только другие игроки.
|
|
|