ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   Синхронизация оружия на руках ID_WEAPONS_UPDATE - ID: 204 (https://forum.antichat.xyz/showthread.php?t=1408183)

Ya Zaregalsya 12.11.2021 13:00

Чё за бред?

C++:





Код:

struct
WeaponsUpdateData
{
UINT8 slot_0
;
UINT8 weapon_0
;
UINT16 ammo_0
;
UINT8 slot_1
;
UINT8 weapon_1
;
UINT16 ammo_1
;
UINT8 slot_2
;
UINT8 weapon_2
;
UINT16 ammo_2
;
UINT8 slot_3
;
UINT8 weapon_3
;
UINT16 ammo_3
;
UINT8 slot_4
;
UINT8 weapon_4
;
UINT16 ammo_4
;
UINT8 slot_5
;
UINT8 weapon_5
;
UINT16 ammo_5
;
UINT8 slot_6
;
UINT8 weapon_6
;
UINT16 ammo_6
;
UINT8 slot_7
;
UINT8 weapon_7
;
UINT16 ammo_7
;
UINT8 slot_8
;
UINT8 weapon_8
;
UINT16 ammo_8
;
UINT8 slot_9
;
UINT8 weapon_9
;
UINT16 ammo_9
;
UINT8 slot_10
;
UINT8 weapon_10
;
UINT16 ammo_10
;
UINT8 slot_11
;
UINT8 weapon_11
;
UINT16 ammo_11
;
}
;
bool
CALLBACK
outcomingPacket
(
stRakNetHookParams
*
data
)
{
switch
(
data
->
packetId
)
{
case
204
:
{
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"WeaponsUpdateData"
)
;
WeaponsUpdateData weaponsUpdateData
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
slot_0
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
weapon_0
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
ammo_0
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
slot_1
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
weapon_1
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
ammo_1
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
slot_2
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
weapon_2
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
ammo_2
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
slot_3
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
weapon_3
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
ammo_3
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
slot_4
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
weapon_4
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
ammo_4
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
slot_5
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
weapon_5
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
ammo_5
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
slot_6
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
weapon_6
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
ammo_6
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
slot_7
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
weapon_7
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
ammo_7
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
slot_8
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
weapon_8
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
ammo_8
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
slot_9
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
weapon_9
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
ammo_9
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
slot_10
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
weapon_10
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
ammo_10
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
slot_11
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
weapon_11
)
;
data
->
bitStream
->
Read
(
weaponsUpdateData
.
ammo_11
)
;
data
->
bitStream
->
ResetReadPointer
(
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"slot_0: %i; weapon_0: %i; ammo_0: %i;"
,
weaponsUpdateData
.
slot_0
,
weaponsUpdateData
.
weapon_0
,
weaponsUpdateData
.
ammo_0
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"slot_1: %i; weapon_1: %i; ammo_1: %i;"
,
weaponsUpdateData
.
slot_1
,
weaponsUpdateData
.
weapon_1
,
weaponsUpdateData
.
ammo_1
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"slot_2: %i; weapon_2: %i; ammo_2: %i;"
,
weaponsUpdateData
.
slot_2
,
weaponsUpdateData
.
weapon_2
,
weaponsUpdateData
.
ammo_2
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"slot_3: %i; weapon_3: %i; ammo_3: %i;"
,
weaponsUpdateData
.
slot_3
,
weaponsUpdateData
.
weapon_3
,
weaponsUpdateData
.
ammo_3
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"slot_4: %i; weapon_4: %i; ammo_4: %i;"
,
weaponsUpdateData
.
slot_4
,
weaponsUpdateData
.
weapon_4
,
weaponsUpdateData
.
ammo_4
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"slot_5: %i; weapon_5: %i; ammo_5: %i;"
,
weaponsUpdateData
.
slot_5
,
weaponsUpdateData
.
weapon_5
,
weaponsUpdateData
.
ammo_5
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"slot_6: %i; weapon_6: %i; ammo_6: %i;"
,
weaponsUpdateData
.
slot_6
,
weaponsUpdateData
.
weapon_6
,
weaponsUpdateData
.
ammo_6
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"slot_7: %i; weapon_7: %i; ammo_7: %i;"
,
weaponsUpdateData
.
slot_7
,
weaponsUpdateData
.
weapon_7
,
weaponsUpdateData
.
ammo_7
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"slot_8: %i; weapon_8: %i; ammo_8: %i;"
,
weaponsUpdateData
.
slot_8
,
weaponsUpdateData
.
weapon_8
,
weaponsUpdateData
.
ammo_8
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"slot_9: %i; weapon_9: %i; ammo_9: %i;"
,
weaponsUpdateData
.
slot_9
,
weaponsUpdateData
.
weapon_9
,
weaponsUpdateData
.
ammo_9
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"slot_10: %i; weapon_10: %i; ammo_10: %i;"
,
weaponsUpdateData
.
slot_10
,
weaponsUpdateData
.
weapon_10
,
weaponsUpdateData
.
ammo_10
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"slot_11: %i; weapon_11: %i; ammo_11: %i;"
,
weaponsUpdateData
.
slot_11
,
weaponsUpdateData
.
weapon_11
,
weaponsUpdateData
.
ammo_11
)
;
break
;
}



https://forum.antichat.xyz/attachments/27885914/

Rei 12.11.2021 13:26

Структуру пакета чекай

Ya Zaregalsya 12.11.2021 13:45

Цитата:

Сообщение от Rei

Структуру пакета чекай

И что с ней не так? Взята отсюда: https://github.com/Brunoo16/samp-pac...pdate---id-204

Rei 12.11.2021 14:00

Цитата:

Сообщение от Ya Zaregalsya

И что с ней не так? Взята отсюда: https://github.com/Brunoo16/samp-pac...pdate---id-204

там паленая какая-то

короче, скипай 32 бита

Ya Zaregalsya 12.11.2021 14:09

Цитата:

Сообщение от Rei

там паленая какая-то

короче, скипай 32 бита

Так скиньте правильную. Скипать в каком месте? Поставил пропуск битов в самое начало и ничего особо не изменилось.

Цитата:

Сообщение от Rei

там паленая какая-то

короче, скипай 32 бита

Нашёл другую структуру в собейте, чуть позже попробую.

Rei 12.11.2021 14:21

Цитата:

Сообщение от Ya Zaregalsya

Так скиньте правильную. Скипать в каком месте? Поставил пропуск битов в самое начало и ничего особо не изменилось.

Нашёл другую структуру в собейте, чуть позже попробую.

2 байта - таргет ид игрока

2 байта - таргет ид актера

дальше читаешь пушки как обычно

Ya Zaregalsya 12.11.2021 22:30

Цитата:

Сообщение от Rei

2 байта - таргет ид игрока
2 байта - таргет ид актера
дальше читаешь пушки как обычно

Всё равно выводит мусор. Единственная полезная информация это что на месте ammo_0 выводятся патроны (вернее патроны умноженные в 256 раз), но это происходит только если синхра отправляется в момент выстрела.

И ещё первый байт это реально TargetID, но и там в 256 раз больше и только в определённый момент если другой игрок подсвечивается маркером, а так без этого там мусорная инфа 256 в квадрате.

Rei 12.11.2021 23:02

Цитата:

Сообщение от Ya Zaregalsya

Всё равно выводит мусор. Единственная полезная информация это что на месте ammo_0 выводятся патроны (вернее патроны умноженные в 256 раз), но это происходит только если синхра отправляется в момент выстрела.

И ещё первый байт это реально TargetID, но и там в 256 раз больше и только в определённый момент если другой игрок подсвечивается маркером, а так без этого там мусорная инфа 256 в квадрате.

65535 значит пусто ( нет таргета )

Ya Zaregalsya 13.11.2021 02:58

Цитата:

Сообщение от Rei

65535 значит пусто ( нет таргета )

Есть где-нибудь нормальная готовая структура? Уже долго вожусь с подстановкой разных типов данных, все они если и дают правильный результат, то выводят его в неожиданном месте в перемешку с кучей мусора.

По этому пакету настолько противоречивая информация, что даже ID все пишут разный.

Rei 13.11.2021 03:58

Цитата:

Сообщение от Ya Zaregalsya

Есть где-нибудь нормальная готовая структура? Уже долго вожусь с подстановкой разных типов данных, все они если и дают правильный результат, то выводят его в неожиданном месте в перемешку с кучей мусора.

По этому пакету настолько противоречивая информация, что даже ID все пишут разный.

samp.lua в handlers


Время: 05:46