PDA

Просмотр полной версии : Как отправить incar синхру на SF 5.5.0


DUCKBOY
13.07.2021, 15:55
Столкнулся с такой проблемой, что не могу отправить incar синхру на координаты, т.к в SF 5.5.0 pLocalPlayer не определен.

Код:






void
InCarSync
(
float
x
,
float
y
,
float
z
)
{
stInCarData data
{
}
;
data
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pLocalPlayer
->
inCarData
;
data
.
fPosition
[
0
]
=
x
;
data
.
fPosition
[
1
]
=
y
;
data
.
fPosition
[
2
]
=
z
;
BitStream bs
;
bs
.
Write
(
static_cast

(
ID_VEHICLE_SYNC
)
)
;
bs
.
Write
(
reinterpret_cast

(
&
data
)
,
sizeof
(
stInCarData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
bs
)
;
}




Попробовал переделать, но не получилось. Запутался с получением ID игрока.

Мой код:






IncarSync
(
float
Xx
,
float
Yx
,
float
Zx
)
{
float
poss
[
3
]
=
{
poss
[
0
]
=
Xx
,
poss
[
1
]
=
Yx
,
poss
[
2
]
=
Zx
}
;
InCarData data
;
memcpy
(
&
data
,
&
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
GetInCarData
(
)
->
position
,
sizeof
(
InCarData
)
)
;
memcpy
(
&
data
.
position
,
&
poss
,
sizeof
(
float
)
*
3
)
;
BitStream bs
;
bs
.
Write
(
(
BYTE
)
ID_VEHICLE_SYNC
)
;
bs
.
Write
(
(
PCHAR
)
&
data
,
sizeof
(
InCarData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
bs
)
;
}




Именно GetInCarData() просит ID игрока.

F0RQU1N and
13.10.2021, 08:45
ну тыж наверно копируешь синхру со своей, тогда свой айдишник туда