class PlayerFallInfo
{
public:
float unknow0;
float FallingDamage;
};
class MapWallInfo
{
public:
char Jump01[1384];
DWORD WallOff01;
DWORD WallOff02;
DWORD WallOff03;
float unknow01;
INT TextureType;
};
DWORD dwCShell = (DWORD)GetModuleHandleA( "CShell.dll" );
PlayerFallInfo *pPlayerFall = *(PlayerFallInfo **) ( ( dwCShell + FallMgr ) );
if( ValidPointer( pPlayerFall) )
{
pPlayerFall->FallingDamage = 0.0f;
}
DWORD dwCShell = (DWORD)GetModuleHandleA( "CShell.dll" );
DWORD dwWallMgr = *(DWORD *)( dwCShell + Pointer );
MapWallInfo *pSTW = *(MapWallInfo **) ( ( dwCShell + Pointer ) );
if( ValidPointer( pSTW ) )
{
if( dwWallMgr != NULL )
return;
for(int w = 0; w < 99; w++)
{
*(bool*)( dwWallMgr /*you can use pSTW in dwWallMgr*/ + ( w * pSTW->TextureType ) + pSTW->WallOff01 ) = 1;
*(bool*)( dwWallMgr /*you can use pSTW in dwWallMgr*/ + ( w * pSTW->TextureType ) + pSTW->WallOff02 ) = 1;
*(bool*)( dwWallMgr /*you can use pSTW in dwWallMgr*/ + ( w * pSTW->TextureType ) + pSTW->WallOff03 ) = 1;
}
}
bool ValidPointer(void* p)
{
return !IsBadReadPtr(p, 4) && p;
}

MappWallInfo* wall(int i)
{
return (MapWallInfo*)((DWORD)Pointer + (i * multiplier);
}
and then just loop through the shit and do it like that:
wall(i)->WallOff01 = true;