Advertisement
Guest User

Untitled

a guest
Apr 21st, 2019
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.11 KB | None | 0 0
  1. void CWorld::UpdatePlayers()
  2. {
  3. for (int i = 1; i <= g_Engine.GetMaxClients(); i++)
  4. {
  5. if (i == g_Local.iIndex)
  6. continue;
  7.  
  8. char buff[512 + sizeof(hud_player_info_t)];
  9. hud_player_info_t *thePlayerInfo = (hud_player_info_t *)&buff[0];
  10. memset(thePlayerInfo, NULL, 512 + sizeof(hud_player_info_t));
  11. g_Engine.pfnGetPlayerInfo(i, thePlayerInfo);
  12. memcpy(&g_PlayerInfoList[i], thePlayerInfo, sizeof(hud_player_info_t));
  13.  
  14. cl_entity_s *ent = g_Engine.GetEntityByIndex(i);
  15.  
  16. g_Player[i].bUpdated = g_Utils.IsPlayerUpdated(ent);
  17.  
  18. if (!g_Player[i].bUpdated)
  19. {
  20. g_Player[i].iShotsFired = 0;
  21. g_Player[i].bAlive = false;
  22. continue;
  23. }
  24.  
  25. g_Player[i].dwHistory = GetTickCount();
  26.  
  27. g_PlayerExtraInfoList[ent->index].szWeaponName = "null";
  28.  
  29. if (ent && ent->curstate.weaponmodel)
  30. {
  31. model_s* mdl = g_Studio.GetModelByIndex(ent->curstate.weaponmodel);
  32.  
  33. if (mdl && mdl->name)
  34. {
  35. char *szWeapon = strstr(mdl->name, "/p_");
  36.  
  37. if (szWeapon)
  38. {
  39. szWeapon = &szWeapon[3];
  40. g_Utils.StringReplace(szWeapon, ".mdl", "");
  41. g_PlayerExtraInfoList[ent->index].szWeaponName = new char[strlen(mdl->name) + 1];
  42. strcpy(g_PlayerExtraInfoList[ent->index].szWeaponName, szWeapon);
  43. }
  44. }
  45. }
  46.  
  47. g_Player[i].bAlive = g_Utils.IsPlayerAlive(ent);
  48.  
  49. if (!g_Player[i].bAlive)
  50. continue;
  51.  
  52. g_Player[i].vAngles = Vector(-ent->angles[0] * 3, ent->angles[1], ent->angles[2]);//Restore original angles
  53. g_Player[i].flFrametime = ent->curstate.animtime - ent->prevstate.animtime;
  54.  
  55. if (g_Player[i].flFrametime == NULL)
  56. g_Player[i].flFrametime = g_Local.flFrametime;
  57.  
  58. g_Player[i].bDucked = ((ent->curstate.maxs[2] - ent->curstate.mins[2]) < 54 ? true : false);
  59. g_Player[i].vPrevOrigin = g_Player[i].vOrigin;
  60. g_Player[i].vOrigin = ent->curstate.origin;
  61. g_Player[i].vVelocity = ent->curstate.origin - ent->prevstate.origin;
  62. g_Player[i].flDist = g_Player[i].vOrigin.Distance(g_Local.vOrigin);
  63.  
  64. int seq = Cstrike_SequenceInfo[ent->curstate.sequence];
  65.  
  66. if (seq == SEQUENCE_RELOAD) {
  67. g_Player[i].iShotsFired = 0;
  68. }
  69.  
  70. UpdateVisibility(i);
  71. }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement