Use a schedule to loop it instead of just a while(true) loop.
function loopToAll() {
for(%clientidx = 0; %clientidx < clientGroup.getCount(); %clientidx++) {
%client=clientGroup.getObject(%clientidx);
%client.bottomPrint("Health: " @ %client.player.getDamagePercent() @ "% Weapon: " @ isObject(%wep=%client.player.getMountedImage(0))?%wep.getName():"None", 5);
}
schedule(4500, 0, loopToAll);
}