
01.01.2016, 14:52
|
|
Постоянный
Регистрация: 06.07.2015
Сообщений: 310
С нами:
5712968
Репутация:
63
|
|
Функция отправляет пулю в указанного игрока
Использование: BulletData(i); [I - Ид игрока]
C++:
Код:
void
BulletData
(
int
i
)
{
stRemotePlayer
*
pPlayer
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
i
]
;
if
(
!
pPlayer
)
return
;
stBulletData sync
;
ZeroMemory
(
&
sync
,
sizeof
(
stBulletData
)
)
;
sync
.
sTargetID
=
i
;
sync
.
fOrigin
[
0
]
=
PEDSELF
->
GetPosition
(
)
->
fX
;
sync
.
fOrigin
[
1
]
=
PEDSELF
->
GetPosition
(
)
->
fY
;
sync
.
fOrigin
[
2
]
=
PEDSELF
->
GetPosition
(
)
->
fZ
;
sync
.
fTarget
[
0
]
=
pPlayer
->
pPlayerData
->
fOnFootPos
[
0
]
;
sync
.
fTarget
[
1
]
=
pPlayer
->
pPlayerData
->
fOnFootPos
[
1
]
;
sync
.
fTarget
[
2
]
=
pPlayer
->
pPlayerData
->
fOnFootPos
[
2
]
;
sync
.
fCenter
[
0
]
=
0.0
;
sync
.
fCenter
[
1
]
=
0.0
;
sync
.
fCenter
[
2
]
=
0.5
;
sync
.
byteWeaponID
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pLocalPlayer
->
byteCurrentWeapon
;
sync
.
byteType
=
1
;
BitStream BulletSync
;
BulletSync
.
Write
(
(
BYTE
)
PacketEnumeration
::
ID_BULLET_SYNC
)
;
BulletSync
.
Write
(
(
PCHAR
)
&
sync
,
sizeof
(
stBulletData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
BulletSync
)
;
}
P.S. Функция сама проверяет существует игрок или нет
|
|
|