Перейти к содержанию

C++ Не выводит значения.


Рекомендуемые сообщения

Привет.Оно не хотеть выводить значения координат, вроде бы все логично, 0x289E2AC0 + 0x001C = 0x289E2ADC, ну и для каждой координаты смещение
X: 0x289E2ADC + 10, Y: 0x289E2ADC + 18, Z: 0x289E2ADC + 20.
Но выводит 0, из-за чего это может быть?
Screenshot-5.png

DWORD X = RPM<double>((0x289E2AC0 + 0x001C) + 0x0010);
DWORD Y = RPM<double>((0x289E2AC0 + 0x001C) + 0x0018);
DWORD Z = RPM<double>((0x289E2AC0 + 0x001C) + 0x0020);
template <class T>
T RPM(DWORD address)
{
	T read;
	ReadProcessMemory(hackProcess.process.hndl, (DWORD*)address, &read, sizeof(T), 0);
	return read;
}

 

Ссылка на комментарий
Поделиться на другие сайты

Неправильно потому что. Вот и не выводит. Это у тебя цепочка указателей, а ты делаешь хрень. Тебе надо из 

0x289E2ADC (0x289E2AC0 + 0x001C) прочитать значение сначала. Это будет указатель на вложенную структуру Coords.

И уже к нему прибавляй смещения координат, и из полученного адреса считывай нужные тебе значения. И будет тебе счастье.

 

И да, если ты считываешь double значение, то оно у тебя в DWORD не поместится, и ты словишь проблемы.

Ссылка на комментарий
Поделиться на другие сайты

16 часов назад, Xipho сказал:

Неправильно потому что. Вот и не выводит. Это у тебя цепочка указателей, а ты делаешь хрень. Тебе надо из 

0x289E2ADC (0x289E2AC0 + 0x001C) прочитать значение сначала. Это будет указатель на вложенную структуру Coords.

И уже к нему прибавляй смещения координат, и из полученного адреса считывай нужные тебе значения. И будет тебе счастье.

 

И да, если ты считываешь double значение, то оно у тебя в DWORD не поместится, и ты словишь проблемы.

Первоначально так и делал, просто протупил и забыл DWORD на double заменить, выводило не пойми что, и я подумал что надо иначе делать.

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.