Advertisement
MartisK

VIP & ADMIN su laiku // v0.2 @ MartynasK

Jan 25th, 2014
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.  
  3.     VIP ir ADMIN su laiku @ MartynasK
  4.     Už idėja dėkoju Renas!.
  5.  
  6. */
  7. #define VERSIJA "0.2"
  8. #define mySQL_HOST  "localhost"
  9. #define mySQL_USER  "root"
  10. #define mySQL_DATA  "test"
  11. #define mySQL_PASS  ""
  12. #define USERS_TABLE "zaidejai"
  13.  
  14. #define MAX_PLAYERS     10
  15. #define p       playerid
  16.  
  17. #include <a_samp>
  18. #include <a_mysql>
  19. #include <zmcd>
  20. #include <sscanf2>
  21.  
  22. enum playerInfo
  23. {
  24.     Admin,
  25.     AdminL,
  26.     Vip,
  27.     VipL
  28. }
  29. new pData[ MAX_PLAYERS ][ playerInfo ];
  30.  
  31. main( )
  32. {
  33.     print( "# VIP and ADMIN privileges ( v"VERSIJA" ) for 30 days by MartynasK" );
  34. }
  35.  
  36. public OnGameModeInit()
  37. {
  38.     mysql_debug( true );
  39.     mysql_connect( mySQL_HOST, mySQL_USER, mySQL_DATA, mySQL_PASS );
  40.     print( "# Jungiamasi prie mySQL..." );
  41.     if( mysql_ping( ) >= 1 )
  42.     {
  43.         print( "# Prie mySQL prisijungta sėkmingai." );
  44.        
  45.     } else {
  46.    
  47.         print( "# Prie mySQL prisijungti nepavyko. Serveris išjungiamas." );
  48.         SendRconCommand( "exit" );
  49.     }
  50.     return 1;
  51. }
  52.  
  53. public OnGameModeExit()
  54. {
  55.     mysql_close( );
  56.     return 1;
  57. }
  58.  
  59. CMD:p( playerid, params[] )
  60. {
  61.     if( isnull( params ) ) return SendClientMessage( playerid, 0xFFFFFFFF, "[ > ] {ff7e7e}Pirkimai: /p admin, /p vip" );
  62.    
  63.     if( !strcmp( params, "admin", true ) )
  64.     {
  65.             if( pData[ playerid ][ Admin ] > 0 ) return SendClientMessage( playerid, 0xFFFFFFFF, "[ > ] {ff7e7e}Jūs jau turite administratoriaus privilegijas." );
  66.             pData[ playerid ][ Admin ] = 1;
  67.             pData[ playerid ][ AdminL ] = gettime( ) + 86400 * 30;
  68.             SendClientMessage( playerid, 0xFFFFFFFF, "[ > ] {ff7e7e}Jūsų administratoriaus statusas aktyvuotas 30 dienų." );
  69.             return true;
  70.     }
  71.    
  72.     else if( !strcmp( params, "vip", true ) )
  73.     {
  74.             if( pData[ playerid ][ Vip ] > 0 ) return SendClientMessage( playerid, 0xFFFFFFFF, "[ > ] {ff7e7e}Jūs jau turite VIP privilegijas." );
  75.             pData[ playerid ][ Vip ] = 1;
  76.             pData[ playerid ][ VipL ] = gettime( ) + 86400 * 30;
  77.             SendClientMessage( playerid, 0xFFFFFFFF, "[ > ] {ff7e7e}Jūsų VIP statusas aktyvuotas 30 dienų." );
  78.             return true;
  79.     }
  80.     return true;
  81. }
  82.  
  83. public OnPlayerConnect(playerid)
  84. {
  85.     LoadPlayer( playerid );
  86.     return 1;
  87. }
  88.  
  89. public OnPlayerDisconnect(playerid, reason)
  90. {
  91.     SavePlayer( playerid );
  92.     return 1;
  93. }
  94.  
  95. public OnPlayerSpawn(playerid)
  96. {
  97.     if( pData[ playerid ][ AdminL ] < gettime( ) )
  98.     {
  99.             if( pData[ playerid ][ Admin ] > 0 )
  100.             {
  101.                 SendClientMessage( playerid, 0xFFFFFFFF, "[ > ] {ff7e7e}Deja, bet jūsų ADMIN laikas baigėsi, todėl privilegijos jums nuimamos." );
  102.                 pData[ playerid ][ Admin ] = 0;
  103.                 return true;
  104.         }
  105.     }
  106.    
  107.     else if( pData[ playerid ][ VipL ] < gettime( ) )
  108.     {
  109.             if( pData[ playerid ][ Vip ] > 0 )
  110.             {
  111.                 SendClientMessage( playerid, 0xFFFFFFFF, "[ > ] {ff7e7e}Deja, bet jūsų VIP laikas baigėsi, todėl privilegijos jums nuimamos." );
  112.                 pData[ playerid ][ Vip ] = 0;
  113.                 return true;
  114.         }
  115.     }
  116.     return 1;
  117. }
  118.  
  119. stock LoadPlayer( playerid )
  120. {
  121.     new
  122.         Query   [ 100 ],
  123.         tempInt;
  124.        
  125.     format( Query, sizeof( Query ), "SELECT Admin, AdminL, Vip, VipL FROM "USERS_TABLE" WHERE Vardas = '%s'", zVardas( playerid ) );
  126.     mysql_query( Query );
  127.     mysql_store_result( );
  128.     if( myqsl_fetch_field_row_format( Query, "|" ) )
  129.     {
  130.         sscanf( Query, "p<|>iiii>", pData[ playerid ][ Admin ], pData[ playerid ][ AdminL ], pData[ playerid ][ Vip ], pData[ playerid ][ VipL ] );
  131.         mysql_free_result( );
  132.     }
  133. }
  134.  
  135. stock SavePlayer( playerid )
  136. {
  137.     new
  138.         Query[ 280 ];
  139.        
  140.     format( Query, sizeof( Query ), "UPDATE "USERS_TABLE" SET Admin = '%i', AdminL = '%i', Vip = '%i', VipL = '%i' WHERE Vardas = '%s'", pData[p][Admin], pData[p][AdminL], pData[p][Vip], pData[p][VipL], zVardas( playerid ) );
  141.     mysql_query( Query );
  142. }
  143.  
  144. stock zVardas( playerid )
  145. {
  146.     new pName[ MAX_PLAYER_NAME ];
  147.     GetPlayerName( playerid, pName, MAX_PLAYER_NAME );
  148.     return pName;
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement