ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   SAMPFUNCS (https://forum.antichat.xyz/showthread.php?t=1472387)

PED 28.03.2023 10:42

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

zTechnology 28.03.2023 11:01

Цитата:

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

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

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

PED 28.03.2023 11:08

Цитата:

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

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

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

zTechnology 28.03.2023 11:15

Цитата:

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

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

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

Цитата:

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

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

Цитата:

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

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

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
;
}



Время: 03:39