Advertisement
MartisK

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

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