Заказать Сервер Заказать Плагин Контакты Поиск

[ вход ]
[ последние сообщения ]

Страница 1 из 11
Форум » SourceMod - Counter Strike Source && CS GO » Уроки SourceMod (SourcePawn) Скриптинга » Как получить индекс случайного игрока (Функция)
Как получить индекс случайного игрока
_wS_ Дата: Понедельник, 04.06.2012, 21:01:40 | Сообщение # 1
Как получить индекс случайного игрока

Можете использовать эту функцию:

Код
stock GetRandomClient(bool:bot = false, bool:alive = true, team = 0)
{
     new count = 0, players[MaxClients];
     for (new i = 1; i <= MaxClients; i++)
     {
         if (IsClientInGame(i)
             && bot == IsFakeClient(i)
             && alive == IsPlayerAlive(i)
             && !(team > 0 && team != GetClientTeam(i)))
         {
             players[count++] = i;
         }
     }
     return count > 0 ? players[GetRandomInt(0, count - 1)] : -1;
}

Примеры:

Код
// Получить случайного живого игрока не бота
new target = GetRandomClient();

// Получить мертвого CT бота
new target = GetRandomClient(true, false, 3);

if (target != -1) // или if (target > 0)
{
     // случайный игрок успешно выбран
}
 
Форум » SourceMod - Counter Strike Source && CS GO » Уроки SourceMod (SourcePawn) Скриптинга » Как получить индекс случайного игрока (Функция)
Страница 1 из 11
Поиск: