Как сделать переключение игроков при слежке?
Доброго времени суток.
На протяжении вечера не могу реализовать довольно легкую функцию "перелистывания" игрока в режиме наблюдения, через менюшку.
Тестирую с другом. Захожу за ним в наблюдение - все ок. Нажимаю NEXT и по логике должно остаться на этом же ID'e, ибо игрок с id 2 не онлайн, а получается либо выход за пределы массива, либо прочая фигня.
Тестировал разные варианты, но так и не нашел нормального способа. Заранее извиняюсь за нелогичный код, но голова не варит уже...
case 0: // next
{
new
current_id, i;
i = Iter_First(Player);
while(i != Iter_End(Player)) {
current_id = Iter_Next(Player, i);
if(i == playerid || !IsPlayerLogin(i))
continue;
StartSpec(playerid, i);
i = current_id;
break;
}
}
Либо так:
new
current_id;
foreach(new i: Player) {
current_id = Iter_Next(Player, i);
if(current_id == playerid || !IsPlayerLogin(current_id))
continue;
StartSpec(playerid, current_id);
break;
}
И многое другое... Ничего не хочет работать. Подскажите, пожалуйста, где ошибка.