Half-Life и Adrenaline Gamer форум
http://aghl.ru/forum/

HLSDK - Last 2 player
http://aghl.ru/forum/viewtopic.php?f=20&t=2872
Страница 1 из 1

Автор:  Gennaro-HL [ 19 фев 2018, 23:00 ]
Заголовок сообщения:  HLSDK - Last 2 player

Hello, someone to help me with this problem.
I want to assign the last 2 live players a different variable for each 1.
But I assigned the variable to a dead player
What am I doing wrong?

Цитата:
Код:
      int iNumbers, iPlayers[33];

      for (int i = 1; i <= gpGlobals->maxClients; i++)
      {
         CBasePlayer *pPlayerLoop = (CBasePlayer*)UTIL_PlayerByIndex(i);
         if (pPlayerLoop)
         {
            if (pPlayerLoop->IsAlive())
            {
               iNumbers++;
            }
            iPlayers[iNumbers] = i;
         }
      }

      CBasePlayer *pPlayer1 = (CBasePlayer*)UTIL_PlayerByIndex(iPlayers[1]);
      CBasePlayer *pPlayer2 = (CBasePlayer*)UTIL_PlayerByIndex(iPlayers[2]);

      if (pPlayer1 && pPlayer2)
      {
         printf("Player1: %d\nPlayer2: %d\n", pPlayer1->entindex(), pPlayer2->entindex());
      }

      //Example:
      if (pPlayer1)
      {
         pPlayer1->pev->health = 200;
      }

      if (pPlayer2)
      {
         pPlayer2->pev->health = 250;
      }

Автор:  Lev [ 20 фев 2018, 13:19 ]
Заголовок сообщения:  Re: HLSDK - Last 2 player

Код:
            if (pPlayerLoop->IsAlive())
            {
               iNumbers++;
               // Assign only if alive
               iPlayers[iNumbers] = i;
               // Break when 2, doesn't guarantee that only 2 players are alive. Break on 3 and check later if iNumbers is greater than 2 if needed.
               if (iNumbers >= 2) break;
            }

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/