Гость COLDCLOUD Опубликовано 31 мая, 2020 Поделиться Опубликовано 31 мая, 2020 Я добиваюсь вывода координат персонажа, но почему-то ничего не происходит, хоть ошибок не наблюдалось. Сам код: Спойлер #include <iostream> #include <Windows.h> #include <TlHelp32.h> #include <thread> using namespace std; HANDLE process; uintptr_t FindDMAAddy(HANDLE hProc, uintptr_t ptr, std::vector<unsigned int> offsets) { uintptr_t addr = ptr; for (unsigned int i = 0; i < offsets.size(); ++i) { ReadProcessMemory(hProc, (BYTE*)addr, &addr, sizeof(addr), 0); addr += offsets[i]; } return addr; } template <typename T> T readMem(DWORD address) { T buffer; ReadProcessMemory(process, (LPVOID)address, &buffer, sizeof(buffer), 0); return buffer; } template <typename T> void writeMem(DWORD address, T value) { WriteProcessMemory(process, (LPVOID)address, &value, sizeof(value), 0); } int main() { SetConsoleTitle("CHEAT SOFTWARE"); HWND hwnd; do { hwnd = FindWindowA(0, "gta_sa.exe"); Sleep(100); } while (!hwnd); cout << "Find the Window 'gta_sa.exe'!"; DWORD pid; GetWindowThreadProcessId(hwnd, &pid); process = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid); cout << "SA:MP 0.3.7 started, pid " << &pid << ".\n"; DWORD dynamicPtrAdd = (DWORD)GetModuleHandleA("gta_sa.exe") + 0x076F3B8; cout << hex << dynamicPtrAdd << endl; uintptr_t xAdd = FindDMAAddy(0, dynamicPtrAdd, { 0x14, 0x30 }); uintptr_t yAdd = FindDMAAddy(0, dynamicPtrAdd, { 0x14, 0x34 }); uintptr_t zAdd = FindDMAAddy(0, dynamicPtrAdd, { 0x14, 0x38 }); cout << "xAdd: " << hex << xAdd << " | yAdd: " << hex << yAdd << " | zAdd: " << hex << zAdd << endl; float x = readMem<DWORD>(xAdd); float y = readMem<DWORD>(yAdd); float z = readMem<DWORD>(zAdd); cout << "X: " << x << " | Y: " << y << " | Z: " << z; } Ссылка на комментарий Поделиться на другие сайты Поделиться
Senpai Опубликовано 31 мая, 2020 Поделиться Опубликовано 31 мая, 2020 попробовать getlasterror и посмотреть, что возвращают функции Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения