We got this with DK, see if it works for you
I've included a thread in case you run different gametypes.
main:
while(1)
{
wait 1
local.players = $player.size
local.maps = makeArray
"dm/mohdm1"
"dm/mohdm2"
"dm/mohdm3"
"dm/mohdm4"
"dm/mohdm5"
"dm/mohdm6"
"dm/mohdm7"
"obj/obj_team1"
"obj/obj_team2"
"obj/obj_team3"
"obj/obj_team4"
endArray
local.map = getcvar("mapname")
local.map_custom = 0
for(local.i = 0;local.i <= local.maps.size;local.i++)
{
local.m = local.maps[local.i][0]
if(local.m != local.map)
{
local.map_custom = 1
}
}
if(local.players <= 0 && local.map_custom == 1)
{
// thread rotate
stuffsrv("exec server.cfg")
end
}
}
end
/*
rotate:
local.gametype = getcvar("g_gametype")
switch(local.gametype)
{
case "1":
wait 1;
stuffsrv("exec cfg/tdm.cfg");
break
case "2":
wait 1;
stuffsrv("exec cfg/rbm.cfg");
break
case "3":
wait 1;
stuffsrv("exec cfg/obj.cfg");
break
case "4":
wait 1;
stuffsrv("exec server.cfg");
break
}
end
*/