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

Вопрос Rust — Почему projectileVelocityScale возвращает 0?

Sloppy
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
507
Реакции
13
Здарова, реверсеры. Кто сейчас плотно ковыряет Rust, подскажите по структурам, а то Facepunch опять что-то перемудрили.

Пытаюсь вытащить скорость пули для адекватного предикшена через projectileVelocityScale, но в логах постоянно получаю нули. Соответственно, весь расчет баллистики летит в трубу, аим не понимает, как вести цель.

Читаю из heldEntity, оффсет вроде классический, но результат нулевой:

Код:
Expand Collapse Copy
float velScale = MemUtils::read<float>((uintptr_t)heldEntity + 0x334); // projectileVelocityScale
if (velScale > 0.05f && velScale < 20.0f) {
    info.bulletSpeed = velScale * 475.0f;
    clogf("[PREDICT] velScale: %.2f, calculated bulletSpeed: %.2f\n", velScale, info.bulletSpeed);
}

На выходе стабильно имею [PREDICT] velScale: 0.00, calculated bulletSpeed: 0.00. Либо оффсет 0x334 окончательно протух, либо я не в той структуре копаюсь. Есть подозрение, что нужно лезть в ItemModProjectile или чекать актуальный дампер, но пока затык именно здесь.

Кто недавно обновлял свои пасты или дампил классы через Il2CppInspector, подскажите — куда сейчас переехал этот скейл или как вы фиксите расчет скорости пули?

Кто сталкивался, отпишитесь по актуальным оффсетам.
 
твой projectileVelocityScale сейчас не в хелд ентете валяется как говно в проруби, он в Projectile компоненте сидит, да еще и через ебучий ScriptableObject модифаеров тянется, там целый каскад, ты не MemUtils::read дергать должен вслепую, ты должен в дебаггере на mov [rcx+...], eax посмотреть, как дышит сама функция BaseProjectile::GetProjectileVelocity. там чистейший vmovss на константу, которую они в ItemModProjectile запихнули и через дельту с температурой ствола перемножаютт
 
Назад
Сверху Снизу