
19.05.2018, 12:49
|
|
Новичок
Регистрация: 01.12.2009
Сообщений: 0
С нами:
8654409
Репутация:
0
|
|
Сообщение от iAmerican
код кривой
C++:
Код:
bool
IsPlayerOnScreen
(
int
id
)
{
bool
value
;
if
(
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
IsPlayerDefined
(
id
,
true
)
)
{
DWORD dwFunc
=
0x536BC0
;
DWORD dwThis
=
(
DWORD
)
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
id
]
->
pPlayerData
->
pSAMP_Actor
->
pGTAEntity
;
_asm
{
mov ecx
,
dwThis
call dwFunc
mov value
,
al
}
}
return
value
;
}
int
GetVehicleSpeed
(
int
id
)
{
int
speed
;
CVector vector
;
if
(
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
id
]
->
pPlayerData
->
pSAMP_Actor
->
pGTA_Ped
->
state
==
50
)
{
vector
.
fX
-=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
id
]
->
pPlayerData
->
pSAMP_Actor
->
pGTA_Ped
->
vehicle
->
speed
[
0
]
;
vector
.
fY
-=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
id
]
->
pPlayerData
->
pSAMP_Actor
->
pGTA_Ped
->
vehicle
->
speed
[
1
]
;
vector
.
fZ
-=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
id
]
->
pPlayerData
->
pSAMP_Actor
->
pGTA_Ped
->
vehicle
->
speed
[
2
]
;
speed
=
(
int
)
sqrt
(
pow
(
vector
.
fX
,
2
)
+
pow
(
vector
.
fY
,
2
)
+
pow
(
vector
.
fZ
,
2
)
)
*
125
;
}
return
speed
;
}
void
thread_radar
(
int
max
)
{
while
(
access
)
{
if
(
SF
->
getGame
(
)
->
isGTAMenuActive
(
)
)
continue
;
bool
status
=
false
;
for
(
int
id
=
0
;
id
getSAMP
(
)
->
getPlayers
(
)
->
sLocalPlayerID
==
id
)
continue
;
else
if
(
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
iIsListed
[
id
]
!=
1
)
continue
;
else
if
(
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
id
]
==
NULL
)
continue
;
else
if
(
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
id
]
->
pPlayerData
==
NULL
)
continue
;
else
if
(
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
id
]
->
pPlayerData
->
pSAMP_Actor
==
NULL
)
continue
;
else
if
(
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
id
]
->
pPlayerData
->
pSAMP_Actor
->
pGTA_Ped
->
state
!=
50
)
continue
;
else
if
(
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
id
]
->
pPlayerData
->
pSAMP_Actor
->
pGTA_Ped
->
vehicle
->
passengers
[
0
]
!=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pRemotePlayer
[
id
]
->
pPlayerData
->
pSAMP_Actor
->
pGTA_Ped
)
continue
;
else
if
(
IsPlayerOnScreen
(
id
)
)
{
int
speed
=
GetVehicleSpeed
(
id
)
;
if
(
speed
>
max
)
{
status
=
true
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"• {FFA500}[Радиолокатор] {FFFFFF}%s превысил допустимую скорость [%i км/ч]"
,
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
GetPlayerName
(
id
)
,
speed
)
;
}
}
}
Sleep
(
status
?
15000
:
1000
)
;
}
}
access = true;
P.S. Этот поток иногда включается, а иногда делает ту херь
??
|
|
|