[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Форум » Уроки SourceMod (SourcePawn) Скриптинга » Как получить индекс случайного игрока (Функция Взято с world-source.ru)
Как получить индекс случайного игрока
rootДата: Воскресенье, 03.02.2013, 00:57 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 561
Статус: Offline
Как получить индекс случайного игрока 

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

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

Примеры: 

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

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

if (target != -1) // или if (target > 0)  
{  
      // случайный игрок успешно выбран  
}
 
Форум » Форум » Уроки SourceMod (SourcePawn) Скриптинга » Как получить индекс случайного игрока (Функция Взято с world-source.ru)
  • Страница 1 из 1
  • 1
Поиск: