static const char MAPS[][] =
{
"",
"",
""
};
public void OnMapStart()
{
char map[128];
GetCurrentMap(map,sizeof(map));
int i, pos = -1;
// находим текущую карту и назначаем индекс следующей карты в списке
for(; i < sizeof(MAPS); i++) if(!strcmp(map, MAPS[i], false))
{
pos = i+1;
break;
}
// назначаем индекс следующей карты в списке на первую в массиве, если текущей нет в списке или она последняя в массиве
if(pos == sizeof(MAPS) || pos == -1) i = 0;
// сохраняем индекс текущей, чтобы не войти в бесконечный цикл
pos = i-1;
if(pos < 0) pos = sizeof(MAPS)-1;
// назначаем следующую карту, пока не найдём валидную или не переберём все из списка
while(!SetNextMap(MAPS[i]) && i != pos)
{
i++;
if(i >= sizeof(MAPS)) i = 0;
}
}