Доброго времени суток.
На протяжении вечера не могу реализовать довольно легкую функцию "перелистывания" игрока в режиме наблюдения, через менюшку.
Тестирую с другом. Захожу за ним в наблюдение - все ок. Нажимаю 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; }
И многое другое... Ничего не хочет работать. Подскажите, пожалуйста, где ошибка.