Advertisement
Guest User

Save online time per player.

a guest
Sep 30th, 2014
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.34 KB | None | 0 0
  1. #include <a_samp>
  2. #include <a_mysql> // R38+
  3. #include <zcmd>
  4. #include <foreach>
  5.  
  6. enum Players
  7. {
  8.     Name,
  9.     Time1, // Ore
  10.     Time2, // Minute
  11.     Time3 // Secunde
  12. }
  13. new Player[MAX_PLAYERS][Players]; new cH;
  14. forward OnPlayerLevel();
  15.  
  16. stock CheckOnlineTime(playerid)
  17. {
  18.     new query[128], pName[MAX_PLAYER_NAME];
  19.     GetPlayerName(playerid, pName, 32);
  20.     format(query, sizeof(query), "SELECT * FROM `levels`");
  21.     mysql_query(cH, query);
  22.     Player[playerid][Time1] = cache_get_field_content_int(0, "Ore");
  23.     Player[playerid][Time2] = cache_get_field_content_int(0, "Minute");
  24.     Player[playerid][Time3] = cache_get_field_content_int(0, "Secunde");
  25.     printf("%s has recivied a %i ore, %i minute, %i secounde time.", pName, Player[playerid][Time1], Player[playerid][Time2], Player[playerid][Time3]);
  26.     return 1;
  27. }
  28.  
  29. public OnPlayerLevel()
  30. {
  31.     foreach(Player, i)
  32.     {
  33.         if(IsPlayerConnected(i))
  34.         {
  35.             Player[i][Time3] += 1; // Update Time in secounds.
  36.  
  37.             if(Player[i][Time3] == 60)
  38.             {
  39.                 Player[i][Time3] = 0;
  40.                 Player[i][Time2] += 1;
  41.             }
  42.            
  43.             if(Player[i][Time2] == 60)
  44.             {
  45.                 Player[i][Time3] = 0;
  46.                 Player[i][Time2] = 0;
  47.                 Player[i][Time1] += 1;
  48.             }
  49.         }
  50.     }
  51.     return 1;
  52. }
  53.  
  54. public OnPlayerConnect(playerid)
  55. {
  56.     new query[128], pName[MAX_PLAYER_NAME];
  57.     GetPlayerName(playerid, pName, 32);
  58.     format(query, sizeof(query), "SELECT * FROM `levels`");
  59.     mysql_query(cH, query);
  60.     CheckOnlineTime(playerid);
  61.     SetTimer("OnPlayerLevel", 1000, true);
  62.     return 1;
  63. }
  64.  
  65. public OnPlayerDisconnect(playerid)
  66. {
  67.     new query[256], pName[MAX_PLAYER_NAME];
  68.     GetPlayerName(playerid, pName, 32);
  69.     format(query, sizeof(query), "UPDATE `levels` SET `Ore`='%i',`Minute`='%i',`Secunde`='%i' WHERE `Name`='%s'", Player[playerid][Time1], Player[playerid][Time2], Player[playerid][Time3], pName);
  70.     mysql_query(cH, query); // 1 = conectionHandle
  71.     return 1;
  72. }
  73.  
  74. public OnFilterScriptInit()
  75. {
  76.     print("\n--------------------------------------");
  77.     print("Load mysql level time system by sRk7.");
  78.     print("-------------------------------------\n");
  79.     cH = mysql_connect("127.0.0.1", "root", "tutorial", "", 3306, true, 2);
  80.     return 1;
  81. }
  82.  
  83. CMD:mytime(playerid, params[])
  84. {
  85.     new time[128];
  86.     format(time, 128, "Ai: %i ore %i minute %i secunde", Player[playerid][Time1], Player[playerid][Time2], Player[playerid][Time3]);
  87.     SendClientMessage(playerid, -1, time);
  88.     return 1;
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement