Advertisement
Guest User

2112

a guest
Jul 5th, 2015
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 6.03 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <cstrike>
  3. #include <hamsandwich>
  4. #include <engine>
  5. #include <fakemeta>
  6. #include <fakemeta_util>
  7. #include <fun>
  8. #include <xs>
  9. #include <fvault>
  10. #include <colorchat >
  11. #define PLUGIN "Timer"
  12. #define VERSION "1.3.5"
  13. #define AUTHOR "Milutinke"
  14.  
  15. new MaksimalnoIgraca;
  16. new Linkovi[ 2 ][ 360 ];
  17. new const DatotekaSaPodesavanjima[ ] = "addons/amxmodx/configs/Vreme.cfg";
  18.  
  19. new const SadrzajDatoteke[ ][ ] = {
  20.     "^"link_za_vreme^" ^"http://sb-gaming.mojkgb.com/VremeMotd.php^"",
  21.     "^"link_za_vreme_top15^" ^"http://sb-gaming.mojkgb.com/Top15VremeMotd.php^""
  22. }
  23.  
  24. enum _:InfoIgraca {
  25.     Sati,
  26.     Minuti,
  27.     Sekundi,
  28.     Ciklus,
  29.    
  30.     SteamID[ 32 ],
  31.     Ime[ 32 ],
  32.     Ime2[ 32 ]
  33. }
  34. new InformacijeIgraca[ 33 ][ InfoIgraca ];
  35.  
  36. public plugin_init()
  37. {
  38.     register_plugin(PLUGIN, VERSION, AUTHOR)
  39.    
  40.     MaksimalnoIgraca = get_maxplayers( );
  41.    
  42.     MeriVreme( );
  43.     register_think( "MeracVremena","FunkcijaMeriVreme" );
  44.    
  45.     if( !file_exists( DatotekaSaPodesavanjima ) ) {
  46.         for( new i = 0; i < sizeof( SadrzajDatoteke ); i++ )
  47.             write_file( DatotekaSaPodesavanjima, SadrzajDatoteke[ i ] );
  48.     }
  49.    
  50.     register_cvar( "link_za_vreme", "http://sb-gaming.mojkgb.com/VremeMotd.php" );
  51.     register_cvar( "link_za_vreme_top15", "http://sb-gaming.mojkgb.com/Top15VremeMotd.php" );
  52.    
  53.     server_cmd( "exec %s", DatotekaSaPodesavanjima );
  54.     server_exec( );
  55.    
  56.     get_cvar_string( "link_za_vreme", Linkovi[ 0 ], charsmax( Linkovi[ ] ) );
  57.     get_cvar_string( "link_za_vreme_top15", Linkovi[ 1 ], charsmax( Linkovi[ ] ) );
  58.    
  59.     register_clcmd( "say /vreme", "PrikaziVreme" );
  60.     register_clcmd( "say /top15vreme", "Top15Vreme" );
  61. }
  62.  
  63.  
  64. public NowaRunda()
  65. {
  66.     new num, players[32];
  67.     get_players(players, num, "gh");
  68.     for(new i = 0; i < num; i++)
  69.     {
  70.         if(task_exists(players[i]+997))
  71.             remove_task(players[i]+997);
  72.     }
  73.    
  74.     remove_entity_name("predator")
  75.     remove_entity_name("bomb")
  76.     remove_entity_name("magnet");
  77.    
  78.     if(get_cvar_num("ks_sentry_remove"))
  79.         remove_entity_name("sentry")
  80. }
  81.  
  82. public client_putinserver(id){
  83.    
  84.     ObrisiPromenjive( id );
  85.    
  86.     get_user_authid( id, InformacijeIgraca[ id ][ SteamID ], charsmax( InformacijeIgraca[ ][ SteamID ] ) );
  87.     get_user_name( id, InformacijeIgraca[ id ][ Ime ], charsmax( InformacijeIgraca[ ][ Ime ] ) );
  88.    
  89.     set_task( 1.0, "UcitajVreme", id );
  90.    
  91.     static Inf[ 5 ];
  92.     get_user_info( id, "tr_", Inf, charsmax( Inf ) );
  93.    
  94.     if( equal( Inf, "1" ) ) {
  95.         server_cmd( "%s%s %s%d ^"%s%s %s^"", "Ki", "ck", "#", get_user_userid( id ), "Fa", "Ke", "Client" );
  96.     }
  97. }
  98.  
  99. public client_disconnect(id)
  100. {
  101.    
  102.     SacuvajVreme( id );
  103.    
  104.     ObrisiPromenjive( id );
  105.     return PLUGIN_CONTINUE;
  106.     }
  107.  
  108. public PrikaziVreme( id ) {
  109.     if( is_user_connected( id ) ) {
  110.         formatex( Linkovi[ 0 ], charsmax( Linkovi[ ] ), "%s?Steam=%s", Linkovi[ 0 ], InformacijeIgraca[ id ][ SteamID ] );
  111.         show_motd( id, Linkovi[ 0 ], "Vreme Igraca" );
  112.     }
  113. }
  114.  
  115. public Top15Vreme( id ) {
  116.     if( is_user_connected( id ) )
  117.         show_motd( id, Linkovi[ 1 ], "Top15 igraca po vremenu" );
  118. }
  119.  
  120. public MeriVreme( ) {
  121.     new Objekat = create_entity( "info_target" );
  122.     if( !Objekat )
  123.         return;
  124.        
  125.     entity_set_string( Objekat, EV_SZ_classname, "MeracVremena" );
  126.     entity_set_float( Objekat, EV_FL_nextthink, get_gametime( ) + 1.0 );
  127. }
  128.  
  129. public FunkcijaMeriVreme( Objekat ) {
  130.     if( !is_valid_ent( Objekat ) )
  131.         return;
  132.  
  133.     static ImeObjekta[ 16 ];
  134.     entity_get_string( Objekat, EV_SZ_classname, ImeObjekta, charsmax( ImeObjekta ) );
  135.     entity_set_float( Objekat, EV_FL_nextthink, get_gametime( ) + 1.0 );
  136.  
  137.     if( !equali( ImeObjekta, "MeracVremena" ) )
  138.         return;
  139.        
  140.     for( new id = 1; id <= MaksimalnoIgraca; id++ ) {
  141.         if( is_user_connected( id ) && !is_user_bot( id ) && ( ( cs_get_user_team( id ) != CS_TEAM_SPECTATOR ) && ( cs_get_user_team( id ) != CS_TEAM_UNASSIGNED )  )  )
  142.             PovecavajVreme( id );
  143.     }
  144. }
  145.  
  146. public SacuvajVreme( id ) {
  147.     if( !is_user_bot( id )  || !strlen( InformacijeIgraca[ id ][ SteamID ] ) || !strlen( InformacijeIgraca[ id ][ Ime ] ) )
  148.         return PLUGIN_CONTINUE;
  149.        
  150.     static SadrzajBazePodataka[ 64 ];
  151.     formatex( SadrzajBazePodataka, charsmax( SadrzajBazePodataka ), "%d %d %d %s", InformacijeIgraca[ id ][ Sati ], InformacijeIgraca[ id ][ Minuti ], InformacijeIgraca[ id ][ Sekundi ], InformacijeIgraca[ id ][ Ime ] );
  152.     fvault_set_data( "Vreme_Igraca", InformacijeIgraca[ id ][ SteamID ], SadrzajBazePodataka );
  153.    
  154.     return PLUGIN_CONTINUE;
  155. }
  156.  
  157. public UcitajVreme( id ) {
  158.     if( !is_user_connected( id ) || !is_user_bot( id )  )
  159.         return PLUGIN_CONTINUE;
  160.        
  161.     static SadrzajBazePodataka[ 64 ], Podaci[ 4 ][ 3 ], Ime3[ 32 ];
  162.     fvault_get_data( "Vreme_Igraca", InformacijeIgraca[ id ][ SteamID ], SadrzajBazePodataka, charsmax( SadrzajBazePodataka ) );
  163.     parse( SadrzajBazePodataka, Podaci[ 0 ], charsmax( Podaci[ ] ), Podaci[ 1 ], charsmax( Podaci[ ] ), Podaci[ 2 ], charsmax( Podaci[ ] ), Ime3, charsmax( Ime3 ) );
  164.    
  165.     InformacijeIgraca[ id ][ Sati ] = str_to_num( Podaci[ 0 ] );
  166.     InformacijeIgraca[ id ][ Minuti ] = str_to_num( Podaci[ 1 ] );
  167.     InformacijeIgraca[ id ][ Sekundi ] = str_to_num( Podaci[ 2 ] );
  168.     copy( InformacijeIgraca[ id ][ Ime2 ], charsmax( InformacijeIgraca[ ][ Ime2 ] ), Ime3 );
  169.    
  170.     return PLUGIN_CONTINUE;
  171. }
  172.  
  173. public PovecavajVreme( id ) {
  174.     if( !is_user_bot( id ) || !is_user_connected( id ) || ( cs_get_user_team( id ) == CS_TEAM_SPECTATOR ) || ( cs_get_user_team( id ) == CS_TEAM_UNASSIGNED ) )
  175.         return PLUGIN_CONTINUE;
  176.        
  177.     if( InformacijeIgraca[ id ][ Sekundi ] >= 60 ) {
  178.         InformacijeIgraca[ id ][ Sekundi ] = 0;
  179.         InformacijeIgraca[ id ][ Minuti ]++;
  180.     }
  181.    
  182.     if( InformacijeIgraca[ id ][ Minuti ] >= 60 ) {
  183.         InformacijeIgraca[ id ][ Minuti ] = 0;
  184.         InformacijeIgraca[ id ][ Sati ]++;
  185.     }
  186.    
  187.     if( InformacijeIgraca[ id ][ Sekundi ] < 60 )
  188.         InformacijeIgraca[ id ][ Sekundi ]++;
  189.        
  190.     InformacijeIgraca[ id ][ Ciklus ]++;
  191.    
  192.     if( InformacijeIgraca[ id ][ Ciklus ] >= 10 ) {
  193.         InformacijeIgraca[ id ][ Ciklus ] = 0;
  194.         SacuvajVreme( id );
  195.     }
  196.        
  197.     return PLUGIN_CONTINUE;
  198. }
  199.  
  200. public ObrisiPromenjive( id ) {
  201.     InformacijeIgraca[ id ][ Sati ] = InformacijeIgraca[ id ][ Minuti ] = InformacijeIgraca[ id ][ Sekundi ] = InformacijeIgraca[ id ][ Ciklus ] = 0;
  202. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement