PDA

Просмотр полной версии : SF | При чтении bitStream (dBodypart) возвращает 0


ANZR
26.03.2021, 02:44
Добрый день, вечер, ночи, *** знает, когда вы читаете эту тему

Столкнулся я с такой проблемой

Сижу на SF и чет подумал о работе с bitStream.

Все заебок, все робит, но вот загвоздка

Все данные я получаю, кроме 1

Не могу получить часть тела, в которое я попал. Всегда передает 0

Вот весь код:​

с++:






bool
bGiveOrTake
;
UINT16 wPlayerID
,
dWeaponID
,
dBodypart
;
float
damage_amount
;
params
->
bitStream
->
ResetReadPointer
(
)
;
params
->
bitStream
->
Read
(
bGiveOrTake
)
;
params
->
bitStream
->
Read
(
wPlayerID
)
;
params
->
bitStream
->
Read
(
damage_amount
)
;
params
->
bitStream
->
Read
(
dWeaponID
)
;
params
->
bitStream
->
Read
(
dBodypart
)
;
if
(
!
bGiveOrTake
)
{
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
D3DCOLOR_XRGB
(
255
,
255
,
0
)
,
"Id пакета: %d | playerId: %d | damage_amount: %0.2f | weaponId: %d | bodyPart: %d"
,
params
->
packetId
,
wPlayerID
,
damage_amount
,
dWeaponID
,
dBodypart
)
;





https://i.imgur.com/VGDCQ6e.png

Помогите решить проблему, братья​

AdCKuY_DpO4uLa
26.03.2021, 02:54
Типы данных не верные. Вот правильные

Parameters: bool bGiveOrTake, UINT16 wPlayerID, float damage_amount, UINT32 dWeaponID, UINT32 dBodypart

ANZR
26.03.2021, 02:56
Типы данных не верные. Вот правильные
Parameters: bool bGiveOrTake, UINT16 wPlayerID, float damage_amount, UINT32 dWeaponID, UINT32 dBodypart


А, я понял. Чего-то не заметил разницы, по этому и сунул все под 1 гребенку

Забавно, что weaponId отображался нормально. Так бы я давно заметил ошибку

Благодарю

AdCKuY_DpO4uLa
26.03.2021, 03:01
Ид оружия прочитал верно из-за того, что 22 влезло в 2 байта, остальные 2 байта были пустыми, из-за этого часть тела была 0