Показать сообщение отдельно

  #3  
Старый 28.05.2017, 21:48
Jack_Savage
Участник форума
Регистрация: 06.11.2016
Сообщений: 150
С нами: 5008255

Репутация: 18
По умолчанию

Передача float через ракнет (не samp).

Внимание вопрос: Почему RakNet передает вместо флоат какой то бред ?



C++:





Код:
enum
GameMessages
{
ID_DATA
=
ID_USER_PACKET_ENUM
+
1
,
OUT_SEND_SYNC
,
}
;
client
float
*
position
=
(
*
(
DWORD
*
)
0xB6F5F0
)
?
(
float
*
)
(
*
(
DWORD
*
)
(
*
(
DWORD
*
)
0xB6F5F0
+
0x14
)
+
0x30
)
:
NULL
;
RakNet
::
BitStream bsOut
;
bsOut
.
Write
(
(
RakNet
::
MessageID
)
OUT_SEND_SYNC
)
;
bsOut
.
Write
(
position
[
0
]
)
;
bsOut
.
Write
(
position
[
1
]
)
;
bsOut
.
Write
(
position
[
2
]
)
;
peerInterface
->
Send
(
&
bsOut
,
HIGH_PRIORITY
,
RELIABLE_ORDERED
,
0
,
server
,
false
)
;
Debug
(
"sendPacket"
)
;
server
void
PlayerSync
(
RakNet
::
Packet
*
packet
)
{
Player
*
p
=
players
->
FindByNetID
(
packet
->
systemAddress
)
;
if
(
p
!=
NULL
)
{
RakNet
::
BitStream
bsIn
(
packet
->
data
,
packet
->
length
,
false
)
;
float
x
,
y
,
z
;
bsIn
.
Read
(
x
)
;
bsIn
.
Read
(
y
)
;
bsIn
.
Read
(
z
)
;
printf
(
"MAIN::PlayerSync %f, %f, %f\n"
,
x
,
y
,
z
)
;
}
}


Что за фигня ?
 
Ответить с цитированием