RequestCount[client] -= 32;
why exactly 32?
for (new client = 0; client <= MaxClients; client++)
iterating through 32 entities and checking if <= is wrong, you should start your for loop with 1 for that, there's no '0' client (let me mention i might be wrong, not sure)
for (new client = 1; client <= MaxClients; client++)
after some lines you do the same exact thing but correctly, you should always start with 1 if you're checking <=
anyways, i didnt find any other wrong code besides that