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

  #3  
Старый 09.08.2018, 16:55
-raymond-
Участник форума
Регистрация: 17.12.2017
Сообщений: 110
С нами: 4423953

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

машина не получает урон

C++:





[CODE]
float
GetDistance
(
float
X
,
float
Y
,
float
Z
,
float
XX
,
float
YY
,
float
ZZ
)
{
return
sqrt
(
(
X
-
XX
)
*
(
X
-
XX
)
+
(
Y
-
YY
)
*
(
Y
-
YY
)
+
(
Z
-
ZZ
)
*
(
Z
-
ZZ
)
)
;
}
void
BulletData
(
float
PX
,
float
PY
,
float
PZ
)
{
stBulletData sync
;
ZeroMemory
(
&
sync
,
sizeof
(
stBulletData
)
)
;
sync
.
sTargetID
=
NULL
;
sync
.
fOrigin
[
0
]
=
PEDSELF
->
GetPosition
(
)
->
fX
;
sync
.
fOrigin
[
1
]
=
PEDSELF
->
GetPosition
(
)
->
fY
;
sync
.
fOrigin
[
2
]
=
PEDSELF
->
GetPosition
(
)
->
fZ
;
sync
.
fTarget
[
0
]
=
PX
;
sync
.
fTarget
[
1
]
=
PY
;
sync
.
fTarget
[
2
]
=
PZ
;
sync
.
fCenter
[
0
]
=
0.0
;
sync
.
fCenter
[
1
]
=
1.0
;
sync
.
fCenter
[
2
]
=
0.5
;
sync
.
byteWeaponID
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pLocalPlayer
->
byteCurrentWeapon
;
sync
.
byteType
=
2
;
BitStream BulletSync
;
BulletSync
.
Write
(
(
BYTE
)
PacketEnumeration
::
ID_BULLET_SYNC
)
;
BulletSync
.
Write
(
(
PCHAR
)
&
sync
,
sizeof
(
stBulletData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
BulletSync
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"[] -> Пуля выпущена в машину"
)
;
}
void
CALLBACK
send_bullet_from_car
(
)
{
float
poscar
[
3
]
;
for
(
int
i
=
0
;
i

getSAMP
(
)
->
getVehicles
(
)
->
pSAMP_Vehicle
[
i
]
)
continue
;
if
(
SF
->
getSAMP
(
)
->
getVehicles
(
)
->
pSAMP_Vehicle
[
i
]
->
pGTA_Vehicle
->
base
.
model_alt_id
==
478
||
SF
->
getSAMP
(
)
->
getVehicles
(
)
->
pSAMP_Vehicle
[
i
]
->
pGTA_Vehicle
->
base
.
model_alt_id
==
422
)
{
poscar
[
0
]
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pVehicle
->
pGTA_Vehicle
[
i
]
->
base
.
matrix
[
4
*
3
]
;
poscar
[
1
]
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pVehicle
->
pGTA_Vehicle
[
i
]
->
base
.
matrix
[
4
*
3
+
1
]
;
poscar
[
2
]
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pVehicle
->
pGTA_Vehicle
[
i
]
->
base
.
matrix
[
4
*
3
+
2
]
;
if
(
GetDistance
(
PEDSELF
->
GetPosition
(
)
->
fX
,
PEDSELF
->
GetPosition
(
)
->
fY
,
PEDSELF
->
GetPosition
(
)
->
fZ
,
poscar
[
0
]
,
poscar
[
1
]
,
poscar
[
2
]
)

 
Ответить с цитированием