Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- traceLastFunc("HookedRakClientInterface::Test");
- BitStream bsData(p->data, p->length, false);
- static DWORD dwTime[SAMP_MAX_PLAYERS];
- bsData.ResetReadPointer();
- short pId;
- bool bVal;
- int fVec;
- short surf_id = -1;
- bsData.IgnoreBits(8);
- bsData.Read(pId);
- bsData.Read(bVal);
- if (bVal) {
- bsData.IgnoreBits(16);
- }
- bsData.Read(bVal);
- if (bVal) {
- bsData.IgnoreBits(16);
- }
- bsData.IgnoreBits(16);
- bsData.IgnoreBits(96);
- bsData.IgnoreBits(76);
- bsData.Read(fVec);
- if (fVec != 0) {
- bsData.IgnoreBits(48);
- }
- bsData.Read(bVal);
- if (bVal)
- {
- bsData.Read(surf_id);
- if (surf_id == 0 || surf_id == -1)
- return true;
- int fOffs[3];
- bsData.Read(fOffs);
- if (fOffs[0] >= 0xFF800000 || fOffs[1] >= 0xFF800000 || fOffs[2] >= 0xFF800000) {
- if (surf_id > 0 && surf_id < 2000 && (GetTickCount() - dwTime[pId] > 15000) && A_Set.warning_crash) {
- addMessageToChatWindowWarning("<Warning> Игрок: %s[%d] использует крашер.", getPlayerName(pId), pId);
- dwTime[pId] = GetTickCount();
- }
- bsData.SetWriteOffset(bsData.GetReadOffset() - 113);
- traceLastFunc("HookedRakClientInterface::Rewrite");
- bsData.Write(false);
- bsData.Write(false);
- p->length = BITS_TO_BYTES(bsData.GetWriteOffset());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement