Advertisement
Bicas

BATTLE Bičas vs Renaldas 2014-06-11

Jun 11th, 2014
582
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.53 KB | None | 0 0
  1. /*
  2.             2014-06-11 - Bičas productions, rekordo sistema, skirta kovai prieš Reną :D
  3. */
  4.  
  5. #include <a_samp>
  6. #include <a_mysql>
  7. #define CALLBACK::%0(%1)                forward %0(%1); public %0(%1)
  8. #define MYSQL::%0(%1)                   %0(%1)
  9. #define FUNCTION::%0(%1)                %0(%1)
  10. #define RekordoXP                   100
  11. #define RekordoLT                   1000
  12. #define DuodamXP(%0, %1)                SetPlayerScore(%0, GetPlayerScore(%0) + %1)
  13.  
  14. enum srvINFO
  15. {
  16.     Rekordas,
  17.     RekordoData[32]
  18. }
  19.  
  20. new srvInfo[srvINFO];
  21. #define sInfo::%0() srvInfo[%0]
  22.  
  23. CALLBACK::OnPlayerConnect(playerid)
  24. {
  25.     new
  26.         masyvas[200]
  27.     ;
  28.     MYSQL::LOADRECORD();
  29.     if(GetOnlinePlayers() > sInfo::Rekordas())
  30.     {
  31.         MYSQL::SAVERECORD();
  32.         format(masyvas, sizeof(masyvas), "[ Rekordas ] Pasiektas naujas serverio rekordas! %d žaidėjai, senas %d", sInfo::Rekordas(), sInfo::Rekordas() - 1);
  33.         SendClientMessageToAll(-1, masyvas);
  34.         format(masyvas, sizeof(masyvas), "[ Rekordas ] Pasiekto rekordo proga visi gavo %dXP ir %dLT!!!", RekordoXP, RekordoLT);
  35.         for(new i = 0; i < MAX_PLAYERS; i++)
  36.         {
  37.             if(IsPlayerConnected(i))
  38.             {
  39.                 GivePlayerMoney(i, RekordoLT);
  40.                 DuodamXP(i, RekordoXP);
  41.                 SendClientMessage(i, -1, masyvas);
  42.             }
  43.         }
  44.     }
  45.     if(GetOnlinePlayers() <= sInfo::Rekordas())
  46.     {
  47.         format(masyvas, sizeof(masyvas), "[ Rekordas ] Serverio rekordas yra %d, pasiekstas %s", sInfo::Rekordas(), sInfo::RekordoData());
  48.         SendClientMessage(playerid, -1, masyvas);
  49.     }
  50.     return true;
  51. }
  52.  
  53. FUNCTION::GetOnlinePlayers ( ) // by Renas // Bičas correction
  54. {
  55.     new pOnline;
  56.     for ( new i = 0; i < MAX_PLAYERS; i ++ )
  57.     {
  58.         if(IsPlayerConnected( i ) ) pOnline++;
  59.     }
  60.     return pOnline;
  61. }
  62.  
  63. FUNCTION::getDate() // by Ance_Zas
  64. {
  65.     new
  66.         stringas[ 31 ],
  67.         data[ 6 ]
  68.     ;
  69.     getdate( data[ 0 ], data[ 1 ], data[ 2 ] );
  70.     gettime( data[ 3 ], data[ 4 ], data[ 5 ] );
  71.     format( stringas, 31, "%d-%02d-%02d %02d:%02d", data[ 0 ], data[ 1 ], data[ 2 ], data[ 3 ], data[ 4 ] );
  72.     return stringas;
  73. }
  74.  
  75. MYSQL::SAVERECORD()
  76. {
  77.     new
  78.         query[128]
  79.     ;
  80.     sInfo::Rekordas() = FUNCTION::GetOnlinePlayers();
  81.     sInfo::RekordoData() = FUNCTION::getDate();
  82.     format(query, sizeof(query), "UPDATE `srvinfo` SET Rekordas = '%i', RekordoData = '%s'",
  83.     sInfo::Rekordas(), sInfo::RekordoData());
  84.     mysql_query(query);
  85. }
  86.  
  87. MYSQL::LOADRECORD()
  88. {
  89.     new
  90.         query[128],
  91.         fetch[24]
  92.     ;
  93.     format(query, sizeof(query), "SELECT * FROM `srvinfo`");
  94.     mysql_query(query);
  95.     mysql_store_result();
  96.     mysql_retrieve_row();
  97.     mysql_fetch_field_row(fetch, "Rekordas"); sInfo::Rekordas();
  98.     mysql_fetch_field_row(sInfo::RekordoData(), "RekordoData");
  99.     mysql_free_result();
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement