Developer knowledge network · moderated exchange

Сообщество UnreliableCode

Сообщество разработчиков, обратного проектирования и кодирования

Tutorial

Decoding BasePlayer playerFlags: isMounted, isDucking, isCrawling, isSleeping [v2.4 Technical Discussion]

rust_il2cpp_dev
IL2CPP Master
MEMBER
Представитель: 165
Дата присоединения: Oct 2020
Сообщения: 7
Спасибо: 16
1 месяцев назад · Jul 23, 2026 2:12 AM
#1

Inside BasePlayer -> modelState (0x580), player movement flags are packed into bitfields:

CPP
enum ModelStateFlags : uint32_t {
    Ducked     = (1 << 0),
    Jumped     = (1 << 1),
    OnGround   = (1 << 2),
    Sleeping   = (1 << 3),
    Sprinting  = (1 << 4),
    OnLadder   = (1 << 5),
    Mounted    = (1 << 7),
    Crawling   = (1 << 10)
};

bool isSleeping = (pPlayer->modelState->flags & ModelStateFlags::Sleeping) != 0;

Allows skipping sleeping bag sleepers during aimbot target acquisition!

ptr_arithmetic
C++ Wizard
MEMBER
Представитель: 162
Дата присоединения: May 2018
Сообщения: 73
Спасибо: 42
1 месяцев назад · Jul 23, 2026 4:12 AM
#2

Filtering ModelStateFlags::Sleeping stops aimbot from snapping to naked sleepers on beaches. Essential check.

matrix_math_guy
Math Specialist
MEMBER
Представитель: 105
Дата присоединения: Aug 2018
Сообщения: 52
Спасибо: 41
1 месяцев назад · Jul 23, 2026 11:06 AM
#3

Clean bitmask breakdown.