Сообщение от
vovandolg
А в этом отрывке кода может быть такое что рандом выберет не зависимо состоял игрок в тиме 1 или состоял в другой любой?
Во обще есть смысл такого перебора? или можно было просто вот так сделать как ниже:
PHP код:
SetupFG(Iter_Random(Player));
Нет, это не прокатит. Твою проблему решить можно множеством способов, но я покажу самый удобный:
Создадим массив итераторов TeamPlayer (константы MAX_TEAMS и MAX_TEAM_PLAYERS нужно заменить на свои):
PHP код:
new Iterator:TeamPlayer[MAX_TEAMS]<MAX_TEAM_PLAYERS>;
К сожалению, реализовать инициализацию массива итераторов во время компиляции у Y_Less не получилось, поэтому инициализируем при запуске:
PHP код:
public OnGameModeInit()
{
Iter_Init(TeamPlayer);
}
Функция добавления игрока в команду (содержимое нужно добавить к своей)
PHP код:
stock AddPlayerToTeam(playerid, teamid)
{
Iter_Add(TeamPlayer[teamid], playerid);
}
Функция удаления игрока из команды (содержимое нужно добавить к своей):
PHP код:
stock RemovePlayerFromTeam(playerid, teamid)
{
Iter_Remove(TeamPlayer[teamid], playerid);
}
Тогда твой код можно будет написать так:
PHP код:
SetupFG(Iter_Random(TeamPlayer[1]));
Суть проста: используйте итераторы по полной, это удобно. И, чаще всего, это положительно сказывается на производительности.