
20.09.2021, 16:42
|
|
Познавший АНТИЧАТ
Регистрация: 18.08.2017
Сообщений: 1,568
С нами:
4598023
Репутация:
183
|
|
Сообщение от S0Ft1k1337
Можно конечно, но как ты его повернешь на игровые координаты мира
Очень просто, если я тебя верно понял.
C++:
Код:
#include
float
GetAngleBetweenObjectsRad
(
float
&
x1
,
float
&
y1
,
float
&
x2
,
float
&
y2
)
{
return
atan2
(
x2
-
x1
,
y2
-
y1
)
;
}
float
TurnToCoordinates
(
DWORD
&
cped
,
float
&
x
,
float
&
y
)
{
DWORD mt
=
*
(
DWORD
*
)
(
cped
+
0x14
)
;
float
px
=
*
(
float
*
)
(
mt
+
0x30
)
,
py
=
*
(
float
*
)
(
mt
+
0x34
)
;
float
heading
=
GetAngleBetweenObjectsRad
(
px
,
py
,
x
,
y
)
;
*
(
float
*
)
(
cped
+
0x55C
)
=
heading
;
// фактический угол поворота
*
(
float
*
)
(
cped
+
0x558
)
=
heading
;
// чтобы не было "плавного поворота". если нужно плавно - удалить строку
}
void
Main
(
)
{
// поворачиваем нашего игрока, чтобы он смотрел в сторону координат x = 100, y = 50
DWORD myPlayer
=
*
(
DWORD
*
)
(
0xB6F5F0
)
;
TurnToCoordinates
(
myPlayer
,
100
,
50
)
;
}
|
|
|