
15.04.2019, 00:11
|
|
Участник форума
Регистрация: 14.01.2018
Сообщений: 192
С нами:
4384333
Репутация:
113
|
|
Сообщение от cakebou
Как получить коорды объекта / модели? Попытался сам написать, что-то не то вообщем
C++:
Код:
float
pos
[
3
]
;
for
(
int
i
=
0
;
i
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pObject
->
iIsListed
[
i
]
!=
1
)
continue
;
if
(
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pObject
->
object
[
i
]
==
NULL
)
continue
;
if
(
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pObject
->
object
[
i
]
->
pGTAEntity
==
NULL
)
continue
;
pos
[
0
]
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pObject
->
object
[
i
]
->
fPos
[
0
]
;
pos
[
1
]
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pObject
->
object
[
i
]
->
fPos
[
1
]
;
pos
[
2
]
=
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pObject
->
object
[
i
]
->
fPos
[
2
]
;
C++:
Код:
if
(
pObj
->
iModel
==
objes
[
4
]
)
{
memcpy
(
pos
,
&
SF
->
getSAMP
(
)
->
getInfo
(
)
->
pPools
->
pObject
->
object
[
i
]
->
pGTAEntity
->
base
.
matrix
[
12
]
,
sizeof
(
float
)
*
3
)
;
// uint16_t model_id = SF->getSAMP()->getInfo()->pPools->pObject->object[i]->pGTAEntity->base.model_alt_id;
SF
->
getGame
(
)
->
convert3DCoordsToScreen
(
position
[
0
]
,
position
[
1
]
,
position
[
2
]
,
&
obmypos
[
0
]
,
&
obmypos
[
1
]
)
;
SF
->
getGame
(
)
->
convert3DCoordsToScreen
(
pos
[
0
]
,
pos
[
1
]
,
pos
[
2
]
,
&
obsreen
[
0
]
,
&
obsreen
[
1
]
)
;
if
(
IsOnScreen
(
i
)
)
{
SF
->
getRender
(
)
->
DrawLine
(
obmypos
[
0
]
,
obmypos
[
1
]
,
obsreen
[
0
]
,
obsreen
[
1
]
,
sizelin
[
4
]
,
0xFF00FF00
)
;
}
}
|
|
|