Как в этот код за место 11 строки (там указал адрес памяти который меняет патроны в оружие) , но если я перезайду в игру , то этот адрес памяти будет не актуален, как использовать оффсет , который сделан в cheat engine? Мой код #include <iostream> #include <Windows.h> using namespace std; int main() { setlocale(LC_ALL, "ru"); DWORD assault_rifle_bullets = 0x005EE910; int new_assault_rifle_bullets; HWND hwnd = FindWindowA(NULL, "AssaultCube"); if (hwnd == NULL) { cout << "Не нашел окно." << endl; } else { cout << "Нашел окно" << endl; DWORD procId; GetWindowThreadProcessId(hwnd, &procId); HANDLE handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, procId); if (!procId) { cout << "Не получил procId" << endl; } else { while (true) { if (GetAsyncKeyState(VK_SPACE)) { WriteProcessMemory(handle, (LPVOID)assault_rifle_bullets, &new_assault_rifle_bullets, sizeof(new_assault_rifle_bullets), 0); std::cout << "now bullets: " << new_assault_rifle_bullets; ++new_assault_rifle_bullets; } } } } } C #include <iostream> #include <Windows.h> using namespace std; int main() { setlocale(LC_ALL, "ru"); DWORD assault_rifle_bullets = 0x005EE910; int new_assault_rifle_bullets; HWND hwnd = FindWindowA(NULL, "AssaultCube"); if (hwnd == NULL) { cout << "Не нашел окно." << endl; } else { cout << "Нашел окно" << endl; DWORD procId; GetWindowThreadProcessId(hwnd, &procId); HANDLE handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, procId); if (!procId) { cout << "Не получил procId" << endl; } else { while (true) { if (GetAsyncKeyState(VK_SPACE)) { WriteProcessMemory(handle, (LPVOID)assault_rifle_bullets, &new_assault_rifle_bullets, sizeof(new_assault_rifle_bullets), 0); std::cout << "now bullets: " << new_assault_rifle_bullets; ++new_assault_rifle_bullets; } } } } } Пожалуйста не надо кидать гайды как это делать или кидать google.com , просто пожалуйста исправьте мои ошибки в коде . Заранее спасибо.
auto _1 = *reinterpret_cast<uintptr_t*>(ac_client_base + 0x00183828 + 8); auto bullets_addr = *reinterpret_cast<int**>(_1+0xda8) + 0x1ec; int bullets = *bullets_addr; //чтение *bullets_addr = 3333; //запись C auto _1 = *reinterpret_cast<uintptr_t*>(ac_client_base + 0x00183828 + 8); auto bullets_addr = *reinterpret_cast<int**>(_1+0xda8) + 0x1ec; int bullets = *bullets_addr; //чтение *bullets_addr = 3333; //запись под экстернал(rpm/wpm) можешь сам переписать