Advertisement
ZumeZero

Players count in object

Jun 27th, 2016
347
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 1.55 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. new _playersOnline = 0;
  4.  
  5. public OnGameModeInit()
  6. {
  7.     RefrescarContadores();
  8.     return 1;
  9. }
  10.  
  11. public OnPlayerConnect(playerid)
  12. {
  13.     _playersOnline++;
  14.  
  15.     RefrescarContadores();
  16.     return 1;
  17. }
  18.  
  19. public OnPlayerDisconnect(playerid)
  20. {
  21.     _playersOnline--;
  22.  
  23.     RefrescarContadores();
  24.     return 1;
  25. }
  26.  
  27. // Funciones nuevas del contador
  28.  
  29. enum enContadorPlayers
  30. {
  31.     contadorObjeto,
  32.     Float:contadorPos[6]
  33. };
  34.  
  35. new _contador[][enContadorPlayers] =
  36. {
  37.     {INVALID_OBJECT_ID, {-1966.52686, 437.20090, 47.47095, 0.00000, 0.00000, -89.94002}}
  38. };
  39.  
  40. stock RefrescarContadores()
  41. {
  42.     for(new i; i < sizeof(_contador); i++) {
  43.         RefrescarContador(i);
  44.     }
  45. }
  46.  
  47. stock RefrescarContador(id)
  48. {
  49.     if(id < 0 || id > sizeof(_contador))
  50.         return 0;
  51.  
  52.     new str[64],
  53.         i = id;
  54.  
  55.     if(IsValidObject(_contador[i][contadorObjeto]))
  56.         DestroyObject(_contador[i][contadorObjeto]);
  57.  
  58.     _contador[i][contadorObjeto] = CreateObject(7914,
  59.         _contador[i][contadorPos][0],
  60.         _contador[i][contadorPos][1],
  61.         _contador[i][contadorPos][2],
  62.         _contador[i][contadorPos][3],
  63.         _contador[i][contadorPos][4],
  64.         _contador[i][contadorPos][5]
  65.     );
  66.  
  67.     format(str, sizeof(str), "{FF0000}Online: {FFFFFF}%d{00FF00}/{FFFFFF}100", countPlayers());
  68.     SetObjectMaterialText(_contador[i][contadorObjeto], str, 0, OBJECT_MATERIAL_SIZE_256x128, "Arial", 40, 0, 0xFFFF8200, 0xFF000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  69.     return 1;
  70. }
  71.  
  72. stock countPlayers()
  73. {
  74.     new c = 0;
  75.     #if defined foreach
  76.         c = Iter_Count(Player);
  77.     #else
  78.         c = _playersOnline;
  79.     #endif
  80.     return c;
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement