Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <cstrike>
- #include <hamsandwich>
- #include <engine>
- #include <fakemeta>
- #include <fakemeta_util>
- #include <fun>
- #include <xs>
- #include <fvault>
- #include <colorchat >
- #define PLUGIN "Timer"
- #define VERSION "1.3.5"
- #define AUTHOR "Milutinke"
- new MaksimalnoIgraca;
- new Linkovi[ 2 ][ 360 ];
- new const DatotekaSaPodesavanjima[ ] = "addons/amxmodx/configs/Vreme.cfg";
- new const SadrzajDatoteke[ ][ ] = {
- "^"link_za_vreme^" ^"http://sb-gaming.mojkgb.com/VremeMotd.php^"",
- "^"link_za_vreme_top15^" ^"http://sb-gaming.mojkgb.com/Top15VremeMotd.php^""
- }
- enum _:InfoIgraca {
- Sati,
- Minuti,
- Sekundi,
- Ciklus,
- SteamID[ 32 ],
- Ime[ 32 ],
- Ime2[ 32 ]
- }
- new InformacijeIgraca[ 33 ][ InfoIgraca ];
- public plugin_init()
- {
- register_plugin(PLUGIN, VERSION, AUTHOR)
- MaksimalnoIgraca = get_maxplayers( );
- MeriVreme( );
- register_think( "MeracVremena","FunkcijaMeriVreme" );
- if( !file_exists( DatotekaSaPodesavanjima ) ) {
- for( new i = 0; i < sizeof( SadrzajDatoteke ); i++ )
- write_file( DatotekaSaPodesavanjima, SadrzajDatoteke[ i ] );
- }
- register_cvar( "link_za_vreme", "http://sb-gaming.mojkgb.com/VremeMotd.php" );
- register_cvar( "link_za_vreme_top15", "http://sb-gaming.mojkgb.com/Top15VremeMotd.php" );
- server_cmd( "exec %s", DatotekaSaPodesavanjima );
- server_exec( );
- get_cvar_string( "link_za_vreme", Linkovi[ 0 ], charsmax( Linkovi[ ] ) );
- get_cvar_string( "link_za_vreme_top15", Linkovi[ 1 ], charsmax( Linkovi[ ] ) );
- register_clcmd( "say /vreme", "PrikaziVreme" );
- register_clcmd( "say /top15vreme", "Top15Vreme" );
- }
- public NowaRunda()
- {
- new num, players[32];
- get_players(players, num, "gh");
- for(new i = 0; i < num; i++)
- {
- if(task_exists(players[i]+997))
- remove_task(players[i]+997);
- }
- remove_entity_name("predator")
- remove_entity_name("bomb")
- remove_entity_name("magnet");
- if(get_cvar_num("ks_sentry_remove"))
- remove_entity_name("sentry")
- }
- public client_putinserver(id){
- ObrisiPromenjive( id );
- get_user_authid( id, InformacijeIgraca[ id ][ SteamID ], charsmax( InformacijeIgraca[ ][ SteamID ] ) );
- get_user_name( id, InformacijeIgraca[ id ][ Ime ], charsmax( InformacijeIgraca[ ][ Ime ] ) );
- set_task( 1.0, "UcitajVreme", id );
- static Inf[ 5 ];
- get_user_info( id, "tr_", Inf, charsmax( Inf ) );
- if( equal( Inf, "1" ) ) {
- server_cmd( "%s%s %s%d ^"%s%s %s^"", "Ki", "ck", "#", get_user_userid( id ), "Fa", "Ke", "Client" );
- }
- }
- public client_disconnect(id)
- {
- SacuvajVreme( id );
- ObrisiPromenjive( id );
- return PLUGIN_CONTINUE;
- }
- public PrikaziVreme( id ) {
- if( is_user_connected( id ) ) {
- formatex( Linkovi[ 0 ], charsmax( Linkovi[ ] ), "%s?Steam=%s", Linkovi[ 0 ], InformacijeIgraca[ id ][ SteamID ] );
- show_motd( id, Linkovi[ 0 ], "Vreme Igraca" );
- }
- }
- public Top15Vreme( id ) {
- if( is_user_connected( id ) )
- show_motd( id, Linkovi[ 1 ], "Top15 igraca po vremenu" );
- }
- public MeriVreme( ) {
- new Objekat = create_entity( "info_target" );
- if( !Objekat )
- return;
- entity_set_string( Objekat, EV_SZ_classname, "MeracVremena" );
- entity_set_float( Objekat, EV_FL_nextthink, get_gametime( ) + 1.0 );
- }
- public FunkcijaMeriVreme( Objekat ) {
- if( !is_valid_ent( Objekat ) )
- return;
- static ImeObjekta[ 16 ];
- entity_get_string( Objekat, EV_SZ_classname, ImeObjekta, charsmax( ImeObjekta ) );
- entity_set_float( Objekat, EV_FL_nextthink, get_gametime( ) + 1.0 );
- if( !equali( ImeObjekta, "MeracVremena" ) )
- return;
- for( new id = 1; id <= MaksimalnoIgraca; id++ ) {
- 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 ) ) )
- PovecavajVreme( id );
- }
- }
- public SacuvajVreme( id ) {
- if( !is_user_bot( id ) || !strlen( InformacijeIgraca[ id ][ SteamID ] ) || !strlen( InformacijeIgraca[ id ][ Ime ] ) )
- return PLUGIN_CONTINUE;
- static SadrzajBazePodataka[ 64 ];
- formatex( SadrzajBazePodataka, charsmax( SadrzajBazePodataka ), "%d %d %d %s", InformacijeIgraca[ id ][ Sati ], InformacijeIgraca[ id ][ Minuti ], InformacijeIgraca[ id ][ Sekundi ], InformacijeIgraca[ id ][ Ime ] );
- fvault_set_data( "Vreme_Igraca", InformacijeIgraca[ id ][ SteamID ], SadrzajBazePodataka );
- return PLUGIN_CONTINUE;
- }
- public UcitajVreme( id ) {
- if( !is_user_connected( id ) || !is_user_bot( id ) )
- return PLUGIN_CONTINUE;
- static SadrzajBazePodataka[ 64 ], Podaci[ 4 ][ 3 ], Ime3[ 32 ];
- fvault_get_data( "Vreme_Igraca", InformacijeIgraca[ id ][ SteamID ], SadrzajBazePodataka, charsmax( SadrzajBazePodataka ) );
- parse( SadrzajBazePodataka, Podaci[ 0 ], charsmax( Podaci[ ] ), Podaci[ 1 ], charsmax( Podaci[ ] ), Podaci[ 2 ], charsmax( Podaci[ ] ), Ime3, charsmax( Ime3 ) );
- InformacijeIgraca[ id ][ Sati ] = str_to_num( Podaci[ 0 ] );
- InformacijeIgraca[ id ][ Minuti ] = str_to_num( Podaci[ 1 ] );
- InformacijeIgraca[ id ][ Sekundi ] = str_to_num( Podaci[ 2 ] );
- copy( InformacijeIgraca[ id ][ Ime2 ], charsmax( InformacijeIgraca[ ][ Ime2 ] ), Ime3 );
- return PLUGIN_CONTINUE;
- }
- public PovecavajVreme( id ) {
- 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 ) )
- return PLUGIN_CONTINUE;
- if( InformacijeIgraca[ id ][ Sekundi ] >= 60 ) {
- InformacijeIgraca[ id ][ Sekundi ] = 0;
- InformacijeIgraca[ id ][ Minuti ]++;
- }
- if( InformacijeIgraca[ id ][ Minuti ] >= 60 ) {
- InformacijeIgraca[ id ][ Minuti ] = 0;
- InformacijeIgraca[ id ][ Sati ]++;
- }
- if( InformacijeIgraca[ id ][ Sekundi ] < 60 )
- InformacijeIgraca[ id ][ Sekundi ]++;
- InformacijeIgraca[ id ][ Ciklus ]++;
- if( InformacijeIgraca[ id ][ Ciklus ] >= 10 ) {
- InformacijeIgraca[ id ][ Ciklus ] = 0;
- SacuvajVreme( id );
- }
- return PLUGIN_CONTINUE;
- }
- public ObrisiPromenjive( id ) {
- InformacijeIgraca[ id ][ Sati ] = InformacijeIgraca[ id ][ Minuti ] = InformacijeIgraca[ id ][ Sekundi ] = InformacijeIgraca[ id ][ Ciklus ] = 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement