Advertisement
losnato

[FilterScript] Tempo Jogado

Apr 11th, 2012
2,088
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement