guilhermefelix

[FS] Tempo Jogado [HyperSamp]

Aug 14th, 2012
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.58 KB | None | 0 0
  1. #include < a_samp >
  2. #include < zcmd >
  3. #include < dof2 >
  4. #include < sscanf >
  5. #include < foreach >
  6.  
  7. #define CaminhoArquivo "TempoJogado/%s.txt"
  8. #define SCM SendClientMessage
  9.  
  10. new
  11. SecJogados[MAX_PLAYERS],
  12. MinJogados[MAX_PLAYERS],
  13. HorasJogadas[MAX_PLAYERS],
  14. DiasJogados[MAX_PLAYERS],
  15. MesesJogados[MAX_PLAYERS],
  16. AnosJogados[MAX_PLAYERS];
  17.  
  18. CarregarTempoJogado(playerid);
  19. SalvarTempoJogado(playerid);
  20. ChecarTempoJogado(playerid);
  21.  
  22. public OnFilterScriptExit()
  23. {
  24. foreach(Player, i)
  25. {
  26. SalvarTempoJogado(i);
  27. }
  28. DOF2_Exit();
  29. return 1;
  30. }
  31.  
  32. public OnPlayerSpawn(playerid)
  33. {
  34. ChecarTempoJogado(playerid);
  35. CarregarTempoJogado(playerid);
  36. return 1;
  37. }
  38.  
  39. public OnPlayerDisconnect(playerid)
  40. {
  41. SalvarTempoJogado(playerid);
  42. return 1;
  43. }
  44.  
  45. public CarregarTempoJogado(playerid)
  46. {
  47. new Arquivo[200]; format(Arquivo, sizeof(Arquivo), CaminhoArquivo, GetPlayerNameEx(playerid));
  48. if(!DOF2_FileExists(Arquivo)) return DOF2_CreateFile(Arquivo);
  49.  
  50. SecJogados[playerid] = DOF2_GetInt(Arquivo, "Segundos Jogados");
  51. MinJogados[playerid] = DOF2_GetInt(Arquivo, "Minutos Jogados");
  52. HorasJogadas[playerid] = DOF2_GetInt(Arquivo, "Horas Jogadas");
  53. DiasJogados[playerid] = DOF2_GetInt(Arquivo, "Dias Jogados");
  54. MesesJogados[playerid] = DOF2_GetInt(Arquivo, "Meses Jogados");
  55. AnosJogados[playerid] = DOF2_GetInt(Arquivo, "Anos Jogados");
  56.  
  57. return 1;
  58. }
  59.  
  60. public SalvarTempoJogado(playerid)
  61. {
  62. new Arquivo[200]; format(Arquivo, sizeof(Arquivo), CaminhoArquivo, GetPlayerNameEx(playerid));
  63.  
  64. DOF2_SetInt(Arquivo, "Segundos Jogados", SecJogados[playerid]);
  65. DOF2_SetInt(Arquivo, "Minutos Jogados", MinJogados[playerid]);
  66. DOF2_SetInt(Arquivo, "Horas Jogadas", HorasJogadas[playerid]);
  67. DOF2_SetInt(Arquivo, "Dias Jogados", DiasJogados[playerid]);
  68. DOF2_SetInt(Arquivo, "Meses Jogados", MesesJogados[playerid]);
  69. DOF2_SetInt(Arquivo, "Anos Jogados", AnosJogados[playerid]);
  70.  
  71. DOF2_SaveFile();
  72.  
  73. return 1;
  74. }
  75.  
  76. public ChecarTempoJogado(playerid)
  77. {
  78. if(SecJogados[playerid] >= 60)
  79. {
  80. SecJogados[playerid] = 0;
  81. MinJogados[playerid] ++;
  82. }
  83. if(MinJogados[playerid] >= 60)
  84. {
  85. MinJogados[playerid] = 0;
  86. HorasJogadas[playerid] ++;
  87. }
  88. if(HorasJogadas[playerid] >= 24)
  89. {
  90. HorasJogadas[playerid] = 0;
  91. DiasJogados[playerid] ++;
  92. }
  93. if(DiasJogados[playerid] >= 30)
  94. {
  95. DiasJogados[playerid] = 0;
  96. MesesJogados[playerid] ++;
  97. }
  98. if(MesesJogados[playerid] >= 12)
  99. {
  100. MesesJogados[playerid] = 0;
  101. AnosJogados[playerid] ++;
  102. }
  103. SecJogados[playerid] ++;
  104. return SetTimerEx("ChecarTempoJogado", 1000, false, "i", playerid);
  105. }
  106.  
  107. stock GetPlayerNameEx(playerid)
  108. {
  109. new Nome[MAX_PLAYER_NAME]; GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
  110. return Nome;
  111. }
  112.  
  113. CMD:tempojogado(playerid)
  114. {
  115. new string[128];
  116. if(MinJogados[playerid] == 0)
  117. {
  118. format(string, 128, "Você está jogando no server a somente: {FE0000}%d {FFFFFF}segundos.", SecJogados[playerid]);
  119. }
  120. else if(HorasJogadas[playerid] == 0 && MinJogados[playerid] != 0)
  121. {
  122. format(string, 128, "Você está jogando no server a somente: {FE0000}%d {FFFFFF}minutos e {FE0000}%d {FFFFFF}segundos.", MinJogados[playerid], SecJogados[playerid]);
  123. }
  124. else if(DiasJogados[playerid] == 0 && HorasJogadas[playerid] != 0 && MinJogados[playerid] != 0)
  125. {
  126. format(string, 128, "Você já está jogando no server a: {FE0000}%d {FFFFFF}horas, {FE0000}%d {FFFFFF}minutos e {FE0000}%d {FFFFFF}segundos.", HorasJogadas[playerid], MinJogados[playerid], SecJogados[playerid]);
  127. }
  128. else if(MesesJogados[playerid] == 0 && DiasJogados[playerid] != 0 && HorasJogadas[playerid] != 0 && MinJogados[playerid] != 0)
  129. {
  130. format(string, 128, "Você já está jogando no server a: {FE0000}%d {FFFFFF}dias, {FE0000}%d {FFFFFF}horas, {FE0000}%d {FFFFFF}minutos e {FE0000}%d {FFFFFF}segundos.", DiasJogados[playerid], HorasJogadas[playerid], MinJogados[playerid], SecJogados[playerid]);
  131. }
  132. else if(AnosJogados[playerid] == 0 && MesesJogados[playerid] != 0 && DiasJogados[playerid] != 0 && HorasJogadas[playerid] != 0 && MinJogados[playerid] != 0)
  133. {
  134. format(string, 128, "Nossa! Você já está jogando no server a: {FE0000}%d {FFFFFF}meses, {FE0000}%d {FFFFFF}dias, {FE0000}%d {FFFFFF}horas, {FE0000}%d {FFFFFF}minutos e {FE0000}%d {FFFFFF}segundos", MesesJogados[playerid], DiasJogados[playerid], HorasJogadas[playerid], MinJogados[playerid], SecJogados[playerid]);
  135. }
  136. else if(AnosJogados[playerid] != 0 && MesesJogados[playerid] != 0 && DiasJogados[playerid] != 0 && HorasJogadas[playerid] != 0 && MinJogados[playerid] != 0)
  137. {
  138. format(string, 128, "Puxa vida!!!!! Você já está jogando no server a: {FE0000}%d {FFFFFF}anos, {FE0000}%d {FFFFFF}meses, {FE0000}%d {FFFFFF}dias, {FE0000}%d {FFFFFF}horas, {FE0000}%d {FFFFFF}minutos e {FE0000}%d {FFFFFF}segundos", AnosJogados[playerid], MesesJogados[playerid], DiasJogados[playerid], HorasJogadas[playerid], MinJogados[playerid], SecJogados[playerid]);
  139. }
  140. return SCM(playerid, -1, string);
  141. }
  142.  
  143. CMD:tempojogadoid(playerid, params[])
  144. {
  145. new string[128], id;
  146. if(sscanf(params, "u", id)) return SCM(playerid, -1, "Utilize: /tempojogadoid [ID/Nome]");
  147. if(!IsPlayerConnected(id)) return SCM(playerid, -1, "Jogador não conectado!");
  148. if(MinJogados[id] == 0)
  149. {
  150. format(string, 128, "O jogador %s está jogando no server a somente: {FE0000}%d {FFFFFF}segundos.", GetPlayerNameEx(id), SecJogados[id]);
  151. }
  152. else if(HorasJogadas[id] == 0 && MinJogados[id] != 0)
  153. {
  154. format(string, 128, "O jogador %s está jogando no server a somente: {FE0000}%d {FFFFFF}minutos e {FE0000}%d {FFFFFF}segundos.", GetPlayerNameEx(id), MinJogados[id]);
  155. }
  156. else if(DiasJogados[id] == 0 && HorasJogadas[id] != 0 && MinJogados[id] != 0)
  157. {
  158. format(string, 128, "O jogador %s já está jogando no server a: {FE0000}%d {FFFFFF}horas, {FE0000}%d {FFFFFF}minutos e {FE0000}%d {FFFFFF}segundos.", GetPlayerNameEx(id), HorasJogadas[id], MinJogados[id]);
  159. }
  160. else if(MesesJogados[id] == 0 && DiasJogados[id] != 0 && HorasJogadas[id] != 0 && MinJogados[id] != 0)
  161. {
  162. format(string, 128, "O jogador %s já está jogando no server a: {FE0000}%d {FFFFFF}dias, {FE0000}%d {FFFFFF}horas, {FE0000}%d {FFFFFF}minutos e {FE0000}%d {FFFFFF}segundos.", GetPlayerNameEx(id), DiasJogados[id], HorasJogadas[id], MinJogados[id]);
  163. }
  164. else if(AnosJogados[id] == 0 && MesesJogados[id] != 0 && DiasJogados[id] != 0 && HorasJogadas[id] != 0 && MinJogados[id] != 0)
  165. {
  166. format(string, 128, "O jogador %s já está jogando no server a: {FE0000}%d {FFFFFF}meses, {FE0000}%d {FFFFFF}dias, {FE0000}%d {FFFFFF}horas, {FE0000}%d {FFFFFF}minutos e {FE0000}%d {FFFFFF}segundos", GetPlayerNameEx(id), MesesJogados[id], DiasJogados[id], HorasJogadas[id], MinJogados[id]);
  167. }
  168. else if(AnosJogados[id] != 0 && MesesJogados[id] != 0 && DiasJogados[id] != 0 && HorasJogadas[id] != 0 && MinJogados[id] != 0)
  169. {
  170. format(string, 128, "O jogador %s já está jogando no server a: {FE0000}%d {FFFFFF}anos, {FE0000}%d {FFFFFF}meses, {FE0000}%d {FFFFFF}dias, {FE0000}%d {FFFFFF}horas, {FE0000}%d {FFFFFF}minutos e {FE0000}%d {FFFFFF}segundos", GetPlayerNameEx(id), AnosJogados[id], MesesJogados[id], DiasJogados[id], HorasJogadas[id], MinJogados[id]);
  171. }
  172. return SCM(playerid, -1, string);
  173. }
Add Comment
Please, Sign In to add comment