There were some bugs regarding the round function, which would make /c base not work, and not setting the CPCount to 20 when you finish a round.
Just replace this on the function.nut (line 87) :
function RoundUpdate()
{
AttHp = 0;
DefHp = 0;
if (RoundActive == false)
{
UpdateTimer.Stop();
local i = 0, p = GetPlayers();
while (i <= p)
{
local plr = FindPlayer(i);
if (plr)
{
if (plr.IsSpawned) Announce("~r~C~b~AD", plr, 1);
}
i++;
}
return;
}
if (Paused == true) return;
SecRemain--;
if(SecRemain < 0)
{
SecRemain = 59;
MinRemain--;
if(MinRemain < 0)
{
ClientMessageToAll("Base time exceeded", 255,127,36);
EndRound(1);
return;
}
}
if(PlayerInCP != -1)
{
if(IsPlayerInCP(PlayerInCP) == true)
{
CPCount--;
if(CPCount == 0)
{
EndRound(3);
CPCount = 20;
return;
}
}
else
{
PlayerInCP = -1;
CPCount = 20;
}
}
local i = 0, p = GetPlayers(), aalive = 0, dalive = 0;
while (i <= p)
{
local plr = FindPlayer(i);
if (plr)
{
if (pinfo[i].InRound)
{
if (pinfo[i].Side == "Att")
{
aalive++;
AttHp += plr.Health;
AttHp += plr.Armour;
plr.Score = (plr.Health + plr.Armour);
if (PlayerInCP == -1)
{
if (IsPlayerInCP(i))
{
PlayerInCP = i;
}
}
}
else if (pinfo[i].Side == "Def")
{
dalive++;
DefHp += plr.Health;
DefHp += plr.Armour;
plr.Score = (plr.Health + plr.Armour);
}
}
}
i++;
}
local y = 0, h = GetPlayers();
while (y <= h)
{
local plr = FindPlayer(y);
if (plr)
{
if (plr.IsSpawned)
{
if (PlayerInCP == -1)
{
if (SecRemain > 9)
{
Announce("~b~" + MinRemain + ":" + SecRemain, plr, 1);
}
else Announce("~b~" + MinRemain + ":0" + SecRemain, plr, 1);
}
else Announce("~y~ " + CPCount, plr, 1);
}
}
y++;
}
if ((aalive < 1) || dalive < 1) Debug();
}
function.nut: 542
function round(num, idp)
{
local mult = 10 ^ idp.tointeger();
return floor( num * mult + 0.5 ) / mult;
}
main.nut: 230
else if (cmd == "base")
{
if (RoundActive)
{
local dist = distance(player.Pos.x, player.Pos.y, CurrentCP.x, CurrentCP.y);
local dir = direction(player.Pos.x, player.Pos.y, CurrentCP.x, CurrentCP.y);
if (dist > 1000) dist = round((dist/1000), 2) + "Km";
else dist = round(dist, 2) + "m";
ClientMessage("Base: " + Bases[CurrentBase].Name + ", " + dist + " " + dir, player, 255,127,36);
}
else ClientMessage("Round is not active.", player, 255,127,36);
}
And hopefully it will work.