Developer knowledge network ยท moderated exchange

UnreliableCode Community

Developer Research, Reverse Engineering & Coding Community

Knowledge indexLive
4Categories
919Threads
2.8KPosts
Tutorial

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

rust_il2cpp_dev
IL2CPP Master
MEMBER
Rep: 165
Join Date: Oct 2020
Posts: 7
Thanks: 16
1 months ago ยท 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
Rep: 162
Join Date: May 2018
Posts: 73
Thanks: 42
1 months ago ยท 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
Rep: 105
Join Date: Aug 2018
Posts: 52
Thanks: 41
1 months ago ยท Jul 23, 2026 11:06 AM
#3

Clean bitmask breakdown.