Skip to main content

public table

struct Player
{
public:
    Table*                        p_Table() { return *(Table**)(this + 0x4); }   
};

struct  Table
{
    TablePtr*                    p_TablePtr() { return *(TablePtr**)(this + 0x14); }
};

struct TablePtr
{
    Actor*                        p_Actor() { return (Actor*)(this + 0x0); }
};



//////////КОД КАК Я ПЕРЕБИРАЮ ТАБЛИЦУ////////////

void Hack()
{
    Player* LocalPlayer = (Player*)(baseAddress + 0xA3A9FC);
    char debug[256];
    if (IsBadHugeReadPtr(LocalPlayer, 4))goto exit_mem0;
    if (IsBadHugeReadPtr(LocalPlayer->p_LocalOwner(), 4))goto exit_mem0;

    sprintf(debug, "LocalPlayer %X", LocalPlayer);

    for (int i = 0; i < 32; i++)
    {
        if (IsBadHugeReadPtr(LocalPlayer->p_Table(), 4))goto exit_mem1;
        if (IsBadHugeReadPtr(LocalPlayer->p_Table()->p_TablePtr(), 4))goto exit_mem1;
        if (IsBadHugeReadPtr(LocalPlayer->p_Table()->p_TablePtr()[i].p_Actor(), 4))goto exit_mem1;

        sprintf(debug, "%i - %X", i, LocalPlayer->p_Table()->p_TablePtr()[i].p_Actor());

    exit_mem1:;
    }
    OutputDebugStringA(debug);
exit_mem0:;

}

//////////КОНЕЦ////////////