Тема: ped on screen
Показать сообщение отдельно

  #1  
Старый 24.07.2023, 19:57
Smeruxa
Познавший АНТИЧАТ
Регистрация: 27.11.2020
Сообщений: 1,431
С нами: 2874035

Репутация: 183


По умолчанию

sampfuncs 5.5.1

Я забадался, не знаю как проверить, находится ли игрок на экране, или нет, подскажите пожалуйста

Ошибок в этом коде компилятор не находит, но при запуске функции - крашит игру, не знаю как правильно найти педа

проблема в строчках 11-14

C++:





[CODE]
for
(
int
i
=
0
;
i

getSAMP
(
)
->
getPlayers
(
)
->
maxPlayerID
;
i
++
)
{
if
(
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
IsPlayerDefined
(
i
,
true
)
)
{
D3DCOLOR player_color
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
GetPlayerColor
(
i
)
;
OnFootData
*
foot
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
GetOnFootData
(
i
)
;
CVector player_original
=
{
foot
->
position
[
0
]
,
foot
->
position
[
1
]
,
foot
->
position
[
2
]
}
;
CVector my_pos
=
*
PEDSELF
->
GetPosition
(
)
;
CVector player_converted
;
CVector my_converted
;
SF
->
getGame
(
)
->
convert3DCoordsToScreen
(
player_original
.
fX
,
player_original
.
fY
,
player_original
.
fZ
,
&
player_converted
.
fX
,
&
player_converted
.
fY
)
;
SF
->
getGame
(
)
->
convert3DCoordsToScreen
(
my_pos
.
fX
,
my_pos
.
fY
,
my_pos
.
fZ
,
&
my_converted
.
fX
,
&
my_converted
.
fY
)
;
actor_info
*
actor
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
remotePlayersInfo
.
remotePlayer
[
i
]
->
data
->
sampActor
->
gtaPed
;
if
(
actor
!=
nullptr
)
{
CPed
*
Ped
=
GAME
->
GetPools
(
)
->
GetPed
(
(
DWORD
*
)
actor
)
;
if
(
Ped
->
IsOnScreen
(
)
)
SF
->
getRender
(
)
->
DrawLine
(
my_converted
.
fX
,
my_converted
.
fY
,
player_converted
.
fX
,
player_converted
.
fY
,
1
,
(
player_color
&
0x00FFFFFF
)
|
(
255

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