Cycle through all players may be slow, so I would recommend to create a trigger region. Then define some table in your script to store all players who are in the region. Add a player to the table in OnEnter and remove him from the table in OnExit. Then build a loop to go through players in that table and count only those who have Util.GetEntHealth(ent)>0.