Вопрос Как понять что герой ушел в туман войны

Начинающий
Статус
Оффлайн
Регистрация
26 Янв 2022
Сообщения
70
Реакции[?]
7
Поинты[?]
0
у меня есть такая штука которая рисует манабар в ножках
1647546179938.png
но вот в чем проблема если чел уходит в туман войны это шучка остается на том же месте где герой и ушел в него
1647546383956.png
пробывал уже m_bDormant
 
Участник
Статус
Оффлайн
Регистрация
23 Май 2019
Сообщения
781
Реакции[?]
331
Поинты[?]
63K
олд код оффсеты и тд фикси сам. суть такова что в айдентити лежат флаги у флагов бит отвечает за дормантность. по крайней мере так было год назад, щас не знаю как(уверен что так же). берешь чит енджин, и просто туда сюда из тумана и обратно ходишь и чекаешь че там поменялось в айдентити сущности.
C++:
class CENTITYIDENTITY {
public:
    Entity* entity;//0
    u64 baseinfo;//8
    CHANDLE handle;//10
private:
    int unk;//14
public:
    cc name;//18
    cc designer_name;//0x20->0x28
    char pad[8];//0x28->0x30
    char flags[4];
    bool IsDormant() {
        return (flags[0] & 0x80);
    }
    ...
    }
 
smoking on that #pragma pack
Пользователь
Статус
Оффлайн
Регистрация
10 Янв 2018
Сообщения
325
Реакции[?]
96
Поинты[?]
1K
C++:
bool c_entity::IsDormant( void )
{
    auto& memory = c_memory::Instance( );

    const auto ent_identity = this->m_pEntity( );
    if( !IsAddressValid( ent_identity ) )
    {
        return false;
    }

    const auto dormant_flag = memory.Read< byte >( ent_identity + 0x0030 );
    if( dormant_flag == 0x0000 )
    {
        return false;
    }

    return dormant_flag == 0x0080;
}
 
Начинающий
Статус
Оффлайн
Регистрация
30 Мар 2020
Сообщения
326
Реакции[?]
24
Поинты[?]
12K
C++:
bool c_entity::IsDormant( void )
{
    auto& memory = c_memory::Instance( );

    const auto ent_identity = this->m_pEntity( );
    if( !IsAddressValid( ent_identity ) )
    {
        return false;
    }

    const auto dormant_flag = memory.Read< byte >( ent_identity + 0x0030 );
    if( dormant_flag == 0x0000 )
    {
        return false;
    }

    return dormant_flag == 0x0080;
}
А что делает твоя функа IsAddressValid?
 
Начинающий
Статус
Оффлайн
Регистрация
26 Янв 2022
Сообщения
70
Реакции[?]
7
Поинты[?]
0
C++:
bool c_entity::IsDormant( void )
{
    auto& memory = c_memory::Instance( );

    const auto ent_identity = this->m_pEntity( );
    if( !IsAddressValid( ent_identity ) )
    {
        return false;
    }

    const auto dormant_flag = memory.Read< byte >( ent_identity + 0x0030 );
    if( dormant_flag == 0x0000 )
    {
        return false;
    }

    return dormant_flag == 0x0080;
}
IsAddressValid покажи что это
 
smoking on that #pragma pack
Пользователь
Статус
Оффлайн
Регистрация
10 Янв 2018
Сообщения
325
Реакции[?]
96
Поинты[?]
1K
Начинающий
Статус
Оффлайн
Регистрация
26 Янв 2022
Сообщения
70
Реакции[?]
7
Поинты[?]
0
ребят, причем здесь 'IsAddressValid'?
ты попросил дормант чек, я скинул, IsAddressValid просто уберите и оставьте "if( !ent_identity )"
просто интересно я такого не видел
 
Сверху Снизу