PDA

Просмотр полной версии : SAMPFUNCS


PED
28.03.2023, 10:42
Такой вопрос как в SAMPFUNCS сделать так чтобы отправлять серверу или же клиенту то что игрок находится на метке не телепортировав пида.

zTechnology
28.03.2023, 11:01
Такой вопрос как в SAMPFUNCS сделать так чтобы отправлять серверу или же клиенту то что игрок находится на метке не телепортировав пида.


Синхрой, а есть ещё варианты?

PED
28.03.2023, 11:08
Синхрой, а есть ещё варианты?


Можно пример?

zTechnology
28.03.2023, 11:15
Можно пример?



C++:






void
syncOnfoot
(
CVector pos
)
{
OnFootData data
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
localPlayerInfo
.
data
->
onFootData
;
data
.
position
[
0
]
=
pos
.
fX
;
data
.
position
[
1
]
=
pos
.
fY
;
data
.
position
[
2
]
=
pos
.
fZ
;
BitStream bs
;
bs
.
Write
(
static_cast

(
ID_PLAYER_SYNC
)
)
;
bs
.
Write
(
reinterpret_cast

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

PED
28.03.2023, 11:18
C++:






void
syncOnfoot
(
CVector pos
)
{
OnFootData data
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
localPlayerInfo
.
data
->
onFootData
;
data
.
position
[
0
]
=
pos
.
fX
;
data
.
position
[
1
]
=
pos
.
fY
;
data
.
position
[
2
]
=
pos
.
fZ
;
BitStream bs
;
bs
.
Write
(
static_cast

(
ID_PLAYER_SYNC
)
)
;
bs
.
Write
(
reinterpret_cast

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





а как сделать чтобы кординаты считывались с мини карты и туда тепались

zTechnology
28.03.2023, 11:38
а как сделать чтобы кординаты считывались с мини карты и туда тепались



C++:






CVector
GetBlipVector
(
)
{
CVector marker
;
for
(
int
i
=
0
;
i

(
0xBA873D
+
i
)
==
4611
)
{
marker
=
*
reinterpret_cast

(
0xBA86F8
+
0x28
+
i
)
;
reinterpret_cast

(
0x40ED80
)
(
&
marker
)
;
marker
.
fZ
=
GAME
->
GetWorld
(
)
->
FindGroundZForPosition
(
marker
.
fX
,
marker
.
fY
)
;
}
}
return
marker
;
}
CVector
GetCheckpointVector
(
)
{
CVector pos
;
DWORD mark
=
GAME
->
GetCheckpoints
(
)
->
FindFreeMarker
(
)
->
GetIdentifier
(
)
;
bool
active
=
GAME
->
GetCheckpoints
(
)
->
GetCheckpoint
(
mark
)
->
IsActive
(
)
;
if
(
active
)
pos
=
*
GAME
->
GetCheckpoints
(
)
->
GetCheckpoint
(
mark
)
->
GetPosition
(
)
;
return
pos
;
}