Вопрос Нужно помощь в обновлении Mutiny!

Участник
Статус
Оффлайн
Регистрация
26 Апр 2018
Сообщения
851
Реакции[?]
181
Поинты[?]
0
Если кому не сложно помочь мне буду благодарен.
линденок(сергей)#6023 дискорд.


Код:
bool CBaseEntity::IsBot()
{
    DWORD resource = *(DWORD*)(DWORD)g_PR;    ошибка тут,  после нее падает кс
    Программа "[13876] csgo.exe" завершилась с       кодом 100 (0x64).

    if (!resource)
        return false;

    DWORD resource2 = resource + StaticOffsets.GetOffsetValue(_IsBotPlayerResourceOffset);

    if (!resource2)
        return false;

    DWORD networkable = (DWORD)this + 8;

    typedef DWORD(__thiscall * OriginalFn)(DWORD);
    DWORD val = GetVFunc< OriginalFn >((void*)networkable, (0x28 / 4))(networkable);

    typedef bool(__thiscall * OriginalFn2)(DWORD, DWORD);
    bool isbot = GetVFunc< OriginalFn2 >((void*)resource2, (0x18 / 4))(resource2, val);

    return isbot;
}

Вызвано исключение: нарушение доступа для чтения.
**g_PR** было nullptr.

Дополнение:
Failed to find signature for StaticOffsetName 177, 183, 252.

Кто сталкивался с базой мутини помогите.
 
Последнее редактирование:
Участник
Статус
Оффлайн
Регистрация
26 Мар 2019
Сообщения
707
Реакции[?]
167
Поинты[?]
1K
Если кому не сложно помочь мне буду благодарен.
линденок(сергей)#6023 дискорд.


Код:
bool CBaseEntity::IsBot()
{
    DWORD resource = *(DWORD*)(DWORD)g_PR;    ошибка тут,  после нее падает кс
    Программа "[13876] csgo.exe" завершилась с       кодом 100 (0x64).

    if (!resource)
        return false;

    DWORD resource2 = resource + StaticOffsets.GetOffsetValue(_IsBotPlayerResourceOffset);

    if (!resource2)
        return false;

    DWORD networkable = (DWORD)this + 8;

    typedef DWORD(__thiscall * OriginalFn)(DWORD);
    DWORD val = GetVFunc< OriginalFn >((void*)networkable, (0x28 / 4))(networkable);

    typedef bool(__thiscall * OriginalFn2)(DWORD, DWORD);
    bool isbot = GetVFunc< OriginalFn2 >((void*)resource2, (0x18 / 4))(resource2, val);

    return isbot;
}

Вызвано исключение: нарушение доступа для чтения.
**g_PR** было nullptr.

Дополнение:
Failed to find signature for StaticOffsetName 177, 183, 252.

Кто сталкивался с базой мутини помогите.
Код:
bool CBaseEntity::IsBot()
{
    player_info_t info;
    GetPlayerInfo(&info);
    return info.fakeplayer;
}
 
Участник
Статус
Оффлайн
Регистрация
26 Апр 2018
Сообщения
851
Реакции[?]
181
Поинты[?]
0
Начинающий
Статус
Оффлайн
Регистрация
9 Дек 2017
Сообщения
79
Реакции[?]
15
Поинты[?]
0
Вот тебе два варианта


C++:
void IsBot() {

    for (auto i = 0; i < g_EngineClient->GetMaxClients(); i++) {

        C_BasePlayer* entity = C_BasePlayer::GetPlayerByIndex(i);

        if (!entity)
            continue;

        auto playerInfo = entity->GetPlayerInfo();

        if (playerInfo.fakeplayer) {

            //is bot
        }
        
        if (playerInfo.szSteamID[0] == 'B') {

            //is bot
        }
    }
}
 
Участник
Статус
Оффлайн
Регистрация
26 Апр 2018
Сообщения
851
Реакции[?]
181
Поинты[?]
0
данные ошибки не убрало Failed to find signature for StaticOffsetName 177, 183, 252.
int latencyticks = max(0, TIME_TO_TICKS(g_ClientState->m_pNetChannel->GetLatency(FLOW_OUTGOING)));
Вызвано исключение: нарушение доступа для чтения.
g_ClientState->**m_pNetChannel** было nullptr.

Вот тебе два варианта


C++:
void IsBot() {

    for (auto i = 0; i < g_EngineClient->GetMaxClients(); i++) {

        C_BasePlayer* entity = C_BasePlayer::GetPlayerByIndex(i);

        if (!entity)
            continue;

        auto playerInfo = entity->GetPlayerInfo();

        if (playerInfo.fakeplayer) {

            //is bot
        }
     
        if (playerInfo.szSteamID[0] == 'B') {

            //is bot
        }
    }
}
другая теперь ошибка

Код:
class CBaseClientState : public INetChannelHandler,
                         public IConnectionlessPacketHandler,
                         public IServerMessageHandler
{
public:
    void ForceFullUpdate() { m_nDeltaTick = -1; }
    IClientNetworkable *GetNetworkable()
    {
        return (IClientNetworkable *)((uint32)this + 8);
    }
    void FreeEntityBaselines()
    {
        StaticOffsets.GetOffsetValueByType< void(__thiscall *)(IClientNetworkable *) >(_FreeEntityBaselines)(GetNetworkable());
    }

    char pad_000C[156]; //0x0000
    int32 m_Socket; //0x0098
    INetChannel *m_pNetChannel; //0x009C
    uint32 m_nChallengeNr; //0x00A0
    char pad_00A0[4]; //0x00A4
    double m_flConnectTime; //0x00A8
    uint32 m_nRetryNumber; //0x00B0
    char pad_00B4[84]; //0x00B4
    int32 m_nSignonState; //0x0108
    char pad_010C[4]; //0x010C
    double m_flNextCmdTime; //0x0114
    int32 m_nServerCount; //0x0118
    int32 m_nCurrentSequence; //0x011C
    char pad_0120[8]; //0x0120
    CClockDriftMgr m_ClockDriftMgr; //0x0128
    int32 m_nDeltaTick; //0x0174
    char pad_0178[4]; //0x0178
    int32 m_nViewEntity; //0x017C
    int32 m_nPlayerSlot; //0x0180
    bool m_bPaused; //0x0184
    char pad_0185[3]; //0x0185
    char m_szLevelName[260]; //0x0188
    char m_szLevelNameShort[40]; //0x028C
    char pad_02B4[212]; //0x02B4
    uint32 m_nMaxClients; //0x0310
    char pad_0314[232]; //0x0314
    class PackedEntity *m_pEntityBaselines[2][MAX_EDICTS]; //0x03FC
    class C_ServerClassInfo *m_pServerClasses; //0x43FC
    int32 m_nServerClasses; //0x4400
    int32 m_nServerClassBits; //0x4404
    char m_szEncrytionKey[STEAM_KEYSIZE]; //0x4408
    uint32 m_iEncryptionKeySize; //0x4C08
    char pad_4C0C[148]; //0x4C0C
};
 
Начинающий
Статус
Оффлайн
Регистрация
9 Дек 2017
Сообщения
79
Реакции[?]
15
Поинты[?]
0
int latencyticks = max(0, TIME_TO_TICKS(g_ClientState->m_pNetChannel->GetLatency(FLOW_OUTGOING)));
Вызвано исключение: нарушение доступа для чтения.
g_ClientState->**m_pNetChannel** было nullptr.


другая теперь ошибка
Перед твоим кодом стоит проверка на подобии этого?

Код:
if (!g_ClientState->IsInGame())
    return;
 
Участник
Статус
Оффлайн
Регистрация
26 Мар 2019
Сообщения
707
Реакции[?]
167
Поинты[?]
1K
int latencyticks = max(0, TIME_TO_TICKS(g_ClientState->m_pNetChannel->GetLatency(FLOW_OUTGOING)));
Вызвано исключение: нарушение доступа для чтения.
g_ClientState->**m_pNetChannel** было nullptr.


другая теперь ошибка

Код:
class CBaseClientState : public INetChannelHandler,
                         public IConnectionlessPacketHandler,
                         public IServerMessageHandler
{
public:
    void ForceFullUpdate() { m_nDeltaTick = -1; }
    IClientNetworkable *GetNetworkable()
    {
        return (IClientNetworkable *)((uint32)this + 8);
    }
    void FreeEntityBaselines()
    {
        StaticOffsets.GetOffsetValueByType< void(__thiscall *)(IClientNetworkable *) >(_FreeEntityBaselines)(GetNetworkable());
    }

    char pad_000C[156]; //0x0000
    int32 m_Socket; //0x0098
    INetChannel *m_pNetChannel; //0x009C
    uint32 m_nChallengeNr; //0x00A0
    char pad_00A0[4]; //0x00A4
    double m_flConnectTime; //0x00A8
    uint32 m_nRetryNumber; //0x00B0
    char pad_00B4[84]; //0x00B4
    int32 m_nSignonState; //0x0108
    char pad_010C[4]; //0x010C
    double m_flNextCmdTime; //0x0114
    int32 m_nServerCount; //0x0118
    int32 m_nCurrentSequence; //0x011C
    char pad_0120[8]; //0x0120
    CClockDriftMgr m_ClockDriftMgr; //0x0128
    int32 m_nDeltaTick; //0x0174
    char pad_0178[4]; //0x0178
    int32 m_nViewEntity; //0x017C
    int32 m_nPlayerSlot; //0x0180
    bool m_bPaused; //0x0184
    char pad_0185[3]; //0x0185
    char m_szLevelName[260]; //0x0188
    char m_szLevelNameShort[40]; //0x028C
    char pad_02B4[212]; //0x02B4
    uint32 m_nMaxClients; //0x0310
    char pad_0314[232]; //0x0314
    class PackedEntity *m_pEntityBaselines[2][MAX_EDICTS]; //0x03FC
    class C_ServerClassInfo *m_pServerClasses; //0x43FC
    int32 m_nServerClasses; //0x4400
    int32 m_nServerClassBits; //0x4404
    char m_szEncrytionKey[STEAM_KEYSIZE]; //0x4408
    uint32 m_iEncryptionKeySize; //0x4C08
    char pad_4C0C[148]; //0x4C0C
};
Код:
class CBaseClientState
{
public:
    class CClockDriftManager {

    public:
        float clock_offsets[0x10];
        uint32_t cur_clock_offset;
        uint32_t m_nServerTick;
        uint32_t m_client_tick;
    };

public:
    char            pad000[0x9C];
    INetChannel* m_pNetChannel;
    int                m_nChallengeNr;
    char            pad001[0x4];
    double            m_connect_time;
    int                m_retry_number;
    char            pad002[0x54];
    int                m_nSignonState;
    char            pad003[0x4];
    double            m_flNextCmdTime;
    int                m_nServerCount;
    int                m_current_sequence;
    char            pad004[0x8];

    CClockDriftManager m_ClockDriftMgr;

    int                m_nDeltaTick;
    char            pad005[0x4];
    int                m_nViewEntity;
    int                m_nPlayerSlot;
    bool            m_bPaused;
    char            pad006[0x3];
    char            m_szLevelName[0x104];
    char            m_szLevelNameShort[0x28];
    char            pad007[0xD4];
    int                m_nMaxClients;
    char            pad008[0x4994];
    int                oldtickcount;
    float            m_tickRemainder;
    float            m_frameTime;
    int                lastoutgoingcommand;
    int                chokedcommands;
    int                last_command_ack;
    int                m_last_server_tick;
    int                command_ack;
    int                m_nSoundSequence;
    int                command_ack_servertickcount;
    bool            m_is_hltv;
    char            pad009[0x4B];
    Vector            m_viewangles;
    char            pad010[0xCC];
};
 
Участник
Статус
Оффлайн
Регистрация
26 Апр 2018
Сообщения
851
Реакции[?]
181
Поинты[?]
0
Код:
class CBaseClientState
{
public:
    class CClockDriftManager {

    public:
        float clock_offsets[0x10];
        uint32_t cur_clock_offset;
        uint32_t m_nServerTick;
        uint32_t m_client_tick;
    };

public:
    char            pad000[0x9C];
    INetChannel* m_pNetChannel;
    int                m_nChallengeNr;
    char            pad001[0x4];
    double            m_connect_time;
    int                m_retry_number;
    char            pad002[0x54];
    int                m_nSignonState;
    char            pad003[0x4];
    double            m_flNextCmdTime;
    int                m_nServerCount;
    int                m_current_sequence;
    char            pad004[0x8];

    CClockDriftManager m_ClockDriftMgr;

    int                m_nDeltaTick;
    char            pad005[0x4];
    int                m_nViewEntity;
    int                m_nPlayerSlot;
    bool            m_bPaused;
    char            pad006[0x3];
    char            m_szLevelName[0x104];
    char            m_szLevelNameShort[0x28];
    char            pad007[0xD4];
    int                m_nMaxClients;
    char            pad008[0x4994];
    int                oldtickcount;
    float            m_tickRemainder;
    float            m_frameTime;
    int                lastoutgoingcommand;
    int                chokedcommands;
    int                last_command_ack;
    int                m_last_server_tick;
    int                command_ack;
    int                m_nSoundSequence;
    int                command_ack_servertickcount;
    bool            m_is_hltv;
    char            pad009[0x4B];
    Vector            m_viewangles;
    char            pad010[0xCC];
};
да все сходиться, только я не понимаю как обновлять в нем офсеты так как там надо самим но где, я конечно не дурак полный но база замудреная
 
Сверху Снизу