yNexus

Tempo Online

Mar 28th, 2014
346
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.64 KB | None | 0 0
  1. #include <a_samp> //chama include
  2. #include <foreach> //chama include
  3.  
  4. #define FILTERSCRIPT //define que é Filterscript
  5. #if defined FILTERSCRIPT // se esta definido Filterscript essa função faz com que ele execute oque esta abaixo .
  6.  
  7. enum pInfo
  8. {
  9. pTemp,
  10. pLogged
  11. }
  12.  
  13. new PlayerInfo[MAX_PLAYERS][pInfo];
  14.  
  15. public OnFilterScriptInit()
  16. {
  17. SetTimer("AtualizarTempo", 1000, true); //atualiza o tempo que a pessoa esta on
  18. print("\n--------------------------------------");
  19. print(" Tempo Online By: yNexus");
  20. print("--------------------------------------\n");
  21. return 1;
  22. }
  23.  
  24. public OnPlayerConnect(playerid)
  25. {
  26. PlayerInfo[playerid][pLogged] = 1; //mostra que o player esta online
  27. return 1;
  28. }
  29.  
  30. public OnPlayerDisconnect(playerid, reason)
  31. {
  32. PlayerInfo[playerid][pTemp] = 0; //zera o tempo pra 0 para não acontecer nada errado quando logar novamente
  33. PlayerInfo[playerid][pLogged] = 0; //mostra que o player esta offline
  34. return 1;
  35. }
  36.  
  37. public OnPlayerCommandText(playerid, cmdtext[])
  38. {
  39. if (strcmp("/meutempo", cmdtext, true, 10) == 0) //aqui é o comando, que a pessoa tem que executar
  40. {
  41. new nexus[100]; //cria uma variavel
  42. format(nexus,sizeof(nexus), "Seu Tempo Online é: %s", Convert(PlayerInfo[playerid][pTemp])); // aki mostra o tempo que a pessoa esta online
  43. SendClientMessage(playerid,0x00FF00FF,nexus); // aki ele define a cor do tempo que a pessoa fica online
  44. return 1;
  45. }
  46. return 0;
  47. }
  48.  
  49. stock Convert(playerid) //converte o tempo online
  50. {
  51. new hours = 0, mins = 0, secs = 0, string[100];
  52. hours = floatround(playerid / 3600);
  53. mins = floatround((playerid / 60) - (hours * 60));
  54. secs = floatround(playerid - ((hours * 3600) + (mins * 60)));
  55. new days = 0;
  56.  
  57. if(hours >= 24)
  58. {
  59. days = floatround((hours/24), floatround_floor);
  60. hours = hours % 24;
  61. }
  62.  
  63. if(days > 0)
  64. {
  65. format(string, 0xD3F128FF, "%ddias, %dh %dm e %ds", days, hours, mins, secs);
  66. }
  67. else if(hours > 0)
  68. {
  69. format(string, 0xD3F128FF, "%s%d:%s%d:%s%d", (hours < 10) ? ("0") : (""), hours, (mins < 10) ? ("0"):(""), mins, (secs < 10) ? ("0"):(""), secs);
  70. }
  71. else
  72. {
  73. format(string, 0xD3F128FF, "%s%d:%s%d:%s%d", (hours < 10) ? ("0") : (""), hours, (mins < 10) ? ("0"):(""), mins, (secs < 10) ? ("0"):(""), secs);
  74. }
  75. return string;
  76. }
  77.  
  78. forward AtualizarTempo(); //define para criar uma public
  79. public AtualizarTempo() //public criada
  80. {
  81. foreach(Player, i)
  82. {
  83. if(PlayerInfo[i][pLogged] == 1) //essa public só atualizara se a pessoa estiver online
  84. {
  85. PlayerInfo[i][pTemp]++; //ja que a pessoa esta online, ele almenta o tempo on
  86. }
  87. }
  88. return 1;
  89. }
  90.  
  91. #endif
Add Comment
Please, Sign In to add comment