Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Вопрос [HELP] Projectile::thickness оффсет 0x1C8 стал неуловимым как призрак

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
19 Окт 2025
Сообщения
95
Реакции
4
Друзья, нужна помощь. Столкнулся с очень странной проблемой. Оффсет Projectile::thickness после обновления съехал с 0x1C0 на 0x1C8. Я его поправил. Но теперь он ведёт себя как ёжик - колючий, не подступиться, не потрогать.

Смотрите код:

C++:
Expand Collapse Copy
uintptr_t baseProjectile = read<uintptr_t>(localPlayer + 0x5A0);
uintptr_t projectile = read<uintptr_t>(baseProjectile + 0x178);

float thickness = read<float>(projectile + 0x1C8);

Вроде читается нормально. Значение 0.5. Но когда я пытаюсь изменить толщину:

C++:
Expand Collapse Copy
write<float>(projectile + 0x1C8, 10.0f);

Игра сразу вылетает. Access violation. Получается читать можно, а писать нельзя. С каких это пор Facepunch делает оффсеты только для чтения?

Ладно, думаю, обойдусь без изменения толщины. Но игра крашится даже когда я просто пытаюсь прочитать этот оффсет после спавна стрелы! Не всегда, но через раз. Я уже и проверки на валидность указателей добавил, и IsValid проверяю перед чтением - всё равно краш.

C++:
Expand Collapse Copy
uintptr_t projectile = read<uintptr_t>(baseProjectile + 0x178);
if (IsValidPtr(projectile)) {
float thickness = read<float>(projectile + 0x1C8);
}

В чём магия? Почему оффсет Projectile::thickness ведёт себя так странно? К нему будто не подобраться. Может там теперь не простой float, а какая-то виртуальная функция? Или Facepunch зашифровали толщину снаряда?

Может быть этот оффсет теперь живёт своей жизнью и появляется только в определённые моменты? Пробовал читать его в разных местах: в OnWeaponFired, в FireProjection, в Update. Результат один - либо краш, либо значение 0.0, которое явно не правильное.

Кто сталкивался с таким поведением? Буду благодарен за любую помощь. Снаряды сейчас летают сквозь стены, потому что толщину прочитать нормально не получается.
 
Назад
Сверху Снизу