Wassup. So I thought I'd suggest a command here. I'm not sure what variables you guys use and/or what lists you may add zombies/humans to when distinguishing between players; so I'll use Player.infected, Player.human and Player.referee here. I'm also assuming you change the server's main level to the current map being played.
Code:
using System;
namespace MCZombie
{
public class CmdRoundInfo : Command
{
public override string name { get { return "roundinfo"; } }
public override string[] aliases { get { return new string[] { "rni" }; } }
public override string type { get { return "information"; } }
public override bool museumUsable { get { return true; } }
public override LevelPermission defaultRank { get { return LevelPermission.Guest; } }
public CmdRoundInfo();
public override void Help(Player p)
{
Player.SendMessage(p, "/roundinfo - displays some key information about the current round.");
}
public override void Use(Player p, string message)
{
string zombies = "Nobody", humans = "Nobody", referees = "Nobody";
Player.players.ForEach(delegate(Player who)
{
if (!who.hidden)
{
if (who.infected)
{
zombies += who.name + ", ";
}
else if (who.human)
{
humans += who.name + ", ";
}
else if (who.referee)
{
referees += who.name + ", ";
}
}
});
if (zombies != "Nobody")
{
zombies = zombies.Remove(zombies.LastIndexOf(','));
}
if (humans != "Nobody")
{
humans = humans.Remove(humans.LastIndexOf(','));
}
if (referees != "Nobody")
{
referees = referees.Remove(referees.LastIndexOf(','));
}
Player.SendMessage(p, c.red + "Map: " + c.white + Server.mainLevel);
Player.SendMessage(p, c.red + "Zombies: " + c.white + zombies);
Player.SendMessage(p, c.red + "Humans: " + c.white + humans);
Player.SendMessage(p, c.red + "Referees: " + c.white + referees);
Command.all.Find("time").Use(p, "");
}
}
}