- 10
- 8
Пытаюсь поменять внутриигровое время через (0x00B70153). Любое значение какое бы я не проинициализировал в адрес, возвращается к 12.
В памяти адрес хранит значение типа byte. Думал дело в типе принудительной конвертации переменной через reinterpret_cast. Пробовал напрямую инициализировать значения (0x01-0x0C). По итогу всё тоже самое. Посмотрел через CheatEngine ещё значения привязанные к игровому времени. Нашёл адрес (0x00B9B8F2). Пробовал так же проинициализировать его, но адрес так же пережёвывает и выплёвывает, возвращая исходное значение. Возможно я пытаюсь засунуть значение в геттер? Подскажите пожалуйста по этому вопросу.
UPD:
Спасибо большое @FYP и @SR_team за помощь.
Самп сам меняет время на серверное каждый фрейм.
Решение: инициализировать адрес времени в цикле (Sleep(1)) чтобы он перекрывал инициализацию серверного времени.
В памяти адрес хранит значение типа byte. Думал дело в типе принудительной конвертации переменной через reinterpret_cast. Пробовал напрямую инициализировать значения (0x01-0x0C). По итогу всё тоже самое. Посмотрел через CheatEngine ещё значения привязанные к игровому времени. Нашёл адрес (0x00B9B8F2). Пробовал так же проинициализировать его, но адрес так же пережёвывает и выплёвывает, возвращая исходное значение. Возможно я пытаюсь засунуть значение в геттер? Подскажите пожалуйста по этому вопросу.
setTime:
*reinterpret_cast<unsigned char*>(0x00B70153) = 1;
//пробовал так же
*reinterpret_cast<byte*>(0x00B70153) = 0x01;
UPD:
Спасибо большое @FYP и @SR_team за помощь.
Самп сам меняет время на серверное каждый фрейм.
Решение: инициализировать адрес времени в цикле (Sleep(1)) чтобы он перекрывал инициализацию серверного времени.
Последнее редактирование: