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

  #4048  
Старый 30.09.2019, 23:19
Gafask
Участник форума
Регистрация: 10.12.2018
Сообщений: 137
С нами: 3908139

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

Цитата:
Сообщение от CleanLegend  

ты делаешь просто смещение, а надо через указатель. координаты находятся в матрице по указателю:

C++:





Код:
DWORD
*
CPED
=
(
DWORD
*
)
0xB6F5F0
;
// передаем адрес в наш указатель
DWORD
*
pMtrx
=
(
DWORD
*
)
(
(
*
CPED
)
+
0x14
)
;
//получаем указатель по адресу со смещением и также передаем его
float
*
PosX
=
(
float
*
)
(
(
*
pMtrx
)
+
0x30
)
;
if
(
*
PosX
==
1000.0f
)


в собейте есть структура актора - https://github.com/BlastHackNet/mod_...c/cheat.h#L412

структура base_object имеет начало структура с координатами с этими смещениями - https://github.com/BlastHackNet/mod_...c/cheat.h#L347

+0x14(20 в десятичной) это выход на матрицу

использовать так:

C++:





Код:
actor_struct
*
pGTA_Ped
=
(
actor_struct
*
)
0xB6F5F0
float
PosX
=
pGTA_Ped
->
base
.
matrix
[
12
]

А если адрес с dll. (samp.dll+38A88C) то нужно сначала как-то прочитать dll файл и потом к нему прибавлять смещение ? И если не сложно подскажи как читать dll. файлы для памяти , просто в первые с таким столкнулся искал через CE разные плюшки и нашел координаты метки на карте а они получились в таком виде ).
 
Ответить с цитированием