Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

RSStop time saved by steamid


MYGO.pl
 Udostępnij

Rekomendowane odpowiedzi

  • RSSy
Hello its possible to make this plugin top time saved by steamid? and not nick?
Code:

#include <amxmodx>
#include <amxmisc>
#include <nvault>

#define PLUGIN "Toptime ( Aktiflik Sureleri )"
#define VERSION "1.0"
#define AUTHOR "Fatih ~ EjderYa"


#define MOTD_KISI_SAYISI 10
#define ZAMAN_ASIMI_GUN 7
#define SIFIRLAMA_YETKISI ADMIN_RCON
#define KAYIT_DOSYA_YOLU_MOTD "TopTime15.txt"
#define KAYIT_DOSYA_YOLU "addons/amxmodx/data/vault/TopTime15.vault"

#define PuanVermePeriyotu 60

new Dosya , OyuncuIsmi[33][35] , Siralama[33]

public plugin_init() {
        register_plugin(PLUGIN, VERSION, AUTHOR)
       
        register_clcmd("amx_toptime_sifirla","Sifirla")
        register_clcmd("say /online","online_surem")
        register_clcmd("say .online","online_surem")
        register_clcmd("say /onlinemenu","onlinemenu")
        register_clcmd("say .onlinemenu","onlinemenu")
        register_clcmd("say /toptime","toptime")
        register_clcmd("say .toptime","toptime")
       
        set_task(5.0,"KayitDosyasiniOlustur")
       
}
public online_surem(id)
        client_print_color(id,print_team_default,"^4Aktiflik Sureniz : ^1%s  ^4Gunde Ortalama : ^1%s",Zaman_Ogren(id,nvault_get(Dosya,OyuncuIsmi[id])),Zaman_Ogren(id,Zaman_Farki_Hesapla(id)))
       
public BilgiGoster(id,Uid)
        client_print_color(id,print_team_default,"^3%s ^4Oyuncusuna Ait Aktiflik Suresi : ^1%s  ^4Gunde Ortalama : ^1%s",OyuncuIsmi[Uid],Zaman_Ogren(Uid,nvault_get(Dosya,OyuncuIsmi[Uid])),Zaman_Ogren(Uid,Zaman_Farki_Hesapla(Uid)))

public Zaman_Farki_Hesapla(id){



        new KayitSatiri[40]
        formatex(KayitSatiri,charsmax(KayitSatiri),"%s_Kyt",OyuncuIsmi[id])
       
        //                                        ZAMAN / GUN
        new Gun = (Zaman_Hesapla() - nvault_get(Dosya,KayitSatiri))/1440
        if ( Gun == 0 ) Gun = 1
        return (nvault_get(Dosya,OyuncuIsmi[id]) / Gun )


}

public onlinemenu(id){
       
        new Menu = menu_create("\r*** \wOyuncu Sec \r***", "Menu_devam")
               
               
        new Oyuncular[32] , Num
        get_players(Oyuncular,Num,"c")
               
        for ( new i ; i < Num ; i++ ){
               
                if ( id != Oyuncular[i] ){
                        new Isim[36],Numara[4]
                        get_user_name(Oyuncular[i],Isim,charsmax(Isim))
                        num_to_str(Oyuncular[i],Numara,charsmax(Numara))
                        menu_additem(Menu, Isim, Numara)
                }
        }
       
        menu_setprop(Menu, MPROP_NEXTNAME, "Ileri"); 
        menu_setprop(Menu, MPROP_BACKNAME, "Geri");
        menu_setprop(Menu,MPROP_EXITNAME,"Cikis")
        menu_setprop(Menu,MPROP_EXIT, MEXIT_NORMAL)
        menu_display(id,Menu)                       
}
public Menu_devam(id, Oylama_menu , item){
       
        if( item == MENU_EXIT )
                return PLUGIN_HANDLED
       
       
        new data[6], iName[64]
        new acces, callback
        menu_item_getinfo(Oylama_menu, item, acces, data,5, iName, 63, callback)
        BilgiGoster(id,str_to_num(data))
        onlinemenu(id)
       
        return PLUGIN_CONTINUE
       
}


public Zaman_Hesapla(){
       
        new str_Gun[3] , str_Ay[3] , str_Yil[5]
        new str_Saat[3] , str_Dakika[3]
        get_time("%d",str_Gun,charsmax(str_Gun))
        get_time("%m",str_Ay,charsmax(str_Ay))
        get_time("%Y",str_Yil,charsmax(str_Yil))
       
        get_time("%H",str_Saat,charsmax(str_Saat))
        get_time("%M",str_Dakika,charsmax(str_Dakika))
       
       
       
       
        return str_to_num(str_Dakika) + ( str_to_num(str_Saat) * 60 ) + ( str_to_num(str_Gun) * 1440 ) + ( str_to_num(str_Ay) * 43200 ) + ( (str_to_num(str_Yil)-2000) * 518400 )

}
public KayitKontrol(id){

       
        if ( nvault_get(Dosya,OyuncuIsmi[id]) < 180 ){
               
                new KayitSatiri[40] , Zaman[10]
                formatex(KayitSatiri,charsmax(KayitSatiri),"%s_Kyt",OyuncuIsmi[id])
                formatex(Zaman,charsmax(Zaman),"%d",Zaman_Hesapla())
                nvault_set(Dosya,KayitSatiri,Zaman)
       
        }

       

}

public plugin_natives()
        register_native("toptime_siralama_cek", "siralama_cek",1)
       
public siralama_cek(Sira){
       
        new Oyuncular[32] , Numara
        get_players(Oyuncular,Numara)
        for ( new i ; i < Numara ; i++ )
                if ( Siralama[Oyuncular[i]] == Sira )
                        return Oyuncular[i]

        return -1
}



public OyuncularaPuanVer(){
       
        for ( new team = 1 ; team <= 2 ; team++ ){
                new Oyuncular[32] , Numara
                switch(team){
                case 1 : get_players(Oyuncular,Numara, "ce" , "TERRORIST")       
                case 2 : get_players(Oyuncular,Numara, "ce" , "CT")
                }

                for ( new i ; i < Numara ; i++ ){
               
                        new Sure[10]
                        formatex(Sure,charsmax(Sure),"%d",nvault_get(Dosya,OyuncuIsmi[Oyuncular[i]]) + PuanVermePeriyotu )
                        nvault_set(Dosya,OyuncuIsmi[Oyuncular[i]],Sure)
                       
                }
        }
}
public VeriCek(xSiralama,Isim[36],Zaman[10]){       
       
        new Yazi[50]
        read_file(KAYIT_DOSYA_YOLU,xSiralama-1,Yazi,charsmax(Yazi))
        strtok(Yazi, Isim, 36, Zaman, 10 , '!' )

        return Isim , Zaman
}
public Satirlari_Degistir(Birinci,Ikinci){
       
        new Oyuncular[32] , Numara
        get_players(Oyuncular,Numara,"c")
        for ( new i ; i < Numara ; i++ )
                if ( Siralama[Oyuncular[i]] == Birinci+1 ) Siralama[Oyuncular[i]] = Ikinci+1
                else if ( Siralama[Oyuncular[i]] == Ikinci+1 ) Siralama[Oyuncular[i]] = Birinci+1
                                       

       
        new _1Satir[128] , _2Satir[128]
        read_file(KAYIT_DOSYA_YOLU,Birinci,_1Satir,charsmax(_1Satir))
        read_file(KAYIT_DOSYA_YOLU,Ikinci,_2Satir,charsmax(_2Satir))
        write_file(KAYIT_DOSYA_YOLU,_1Satir,Ikinci)
        write_file(KAYIT_DOSYA_YOLU,_2Satir,Birinci)
       
       
        new ilk_sira[4],ikinci_sira[4]
        num_to_str(Birinci+1,ilk_sira,charsmax(ilk_sira))
        num_to_str(Ikinci+1,ikinci_sira,charsmax(ikinci_sira))
       
        Birinci += 8
        Ikinci += 8
       
        read_file(KAYIT_DOSYA_YOLU_MOTD,Birinci,_1Satir,charsmax(_1Satir))
        read_file(KAYIT_DOSYA_YOLU_MOTD,Ikinci,_2Satir,charsmax(_2Satir))       
       
        replace(_2Satir,charsmax(_1Satir),ikinci_sira,ilk_sira)
        replace(_1Satir,charsmax(_1Satir),ilk_sira,ikinci_sira)
       
        write_file(KAYIT_DOSYA_YOLU_MOTD,_1Satir,Ikinci)
        write_file(KAYIT_DOSYA_YOLU_MOTD,_2Satir,Birinci)



}
public SiralamaKontrol(Sira){
       
        new Oyuncular[32] , OyuncuSayisi
        get_players(Oyuncular,OyuncuSayisi,"c")
       
        if ( OyuncuSayisi > 0 ){
       
                if ( Sira >= OyuncuSayisi ) Sira = 0
               
                new id = Oyuncular[Sira]
               
                if ( is_user_connected(id)){
                       
                        new Isim[36],Zaman[10]
                        VeriCek(MOTD_KISI_SAYISI , Isim , Zaman )
                       
                        if ( nvault_get(Dosya,OyuncuIsmi[id]) > str_to_num(Zaman) && Siralama[id] == 0 ){
                               
                                SiralamayaYazdir(id,MOTD_KISI_SAYISI)
                               
                                new Oyuncular[32] , Numara
                                get_players(Oyuncular,Numara,"c")
                                for ( new i ; i < Numara ; i++ )
                                        if ( Siralama[Oyuncular[i]] == MOTD_KISI_SAYISI ) Siralama[Oyuncular[i]] = 0

                                Siralama[id] = MOTD_KISI_SAYISI

                        }
                        else if ( Siralama[id] != 0 ){
                       
                                SiralamayaYazdir(id,Siralama[id])
                               
                                if ( Siralama[id] > 1 && Siralama[id] <= MOTD_KISI_SAYISI ){
                                       
                                        new Isim[36],_1Zaman[10],_2Zaman[10]
                                        VeriCek(Siralama[id]-1 , Isim , _1Zaman )
                                        VeriCek(Siralama[id] , Isim , _2Zaman )
                       
                                        if ( str_to_num(_1Zaman) < str_to_num(_2Zaman) )
                                                Satirlari_Degistir(Siralama[id]-1,Siralama[id]-2)
                                       
                                }
                       
                       
                        }
                }
       
        }
       
        set_task(10.0,"SiralamaKontrol",Sira+1)

        return PLUGIN_CONTINUE

}

public SiralamayaYazdir(id,Sira){
       
       
        new Yazi[128]
        formatex(Yazi,charsmax(Yazi),"%s!%d",OyuncuIsmi[id],nvault_get(Dosya,OyuncuIsmi[id]))
        write_file(KAYIT_DOSYA_YOLU,Yazi,Sira-1)
       
       
       
        formatex(Yazi,charsmax(Yazi),"<tr><th>%d<th>%s<th>%s<th>%s</tr>",Sira,OyuncuIsmi[id],Zaman_Ogren(id,nvault_get(Dosya,OyuncuIsmi[id])),Zaman_Ogren(id,Zaman_Farki_Hesapla(id)))
        write_file(KAYIT_DOSYA_YOLU_MOTD,Yazi,Sira+7)

       
}

public Zaman_Ogren(id,ToplamSaniye){

        new Saniye = ToplamSaniye % 60
        new Dakika = ( ( ToplamSaniye - Saniye ) / 60 ) % 60
        new Saat = ( ToplamSaniye - (Dakika*60) - Saniye ) / 3600       
        new Sure[50]

        if ( Dakika != 0 && Saat != 0 )        formatex(Sure,charsmax(Sure),"%d Saat , %d Dakika",Saat,Dakika)
        else if ( Dakika != 0 && Saat == 0 )        formatex(Sure,charsmax(Sure),"%d Dakika",Dakika)
                else if ( Dakika == 0 && Saat != 0 )        formatex(Sure,charsmax(Sure),"%d Saat",Saat)
               
        return Sure;



}




public toptime(id) show_motd(id,KAYIT_DOSYA_YOLU_MOTD,"EN AKTIF OYUNCULAR")

public Sifirla(id){
        if( access(id,SIFIRLAMA_YETKISI) ){
                nvault_prune( Dosya, 0 , get_systime() )
                delete_file(KAYIT_DOSYA_YOLU)
                delete_file(KAYIT_DOSYA_YOLU_MOTD)
                client_print_color(0,print_team_default,"^4TopTime : ^1Aktiflik Sureleri Sifirlandi.")
               
                new Eklenti_Ismi[64];
                get_plugin(-1, Eklenti_Ismi, charsmax(Eklenti_Ismi));
                pause("dc", Eklenti_Ismi )
        }
        else
        {
                client_print_color(id,print_team_default,"^4Yetkiniz Yeterli Degil.")
                client_print(id,print_console,"Yetkiniz Yeterli Degil.")
        }
       
        return PLUGIN_HANDLED
}
public plugin_cfg()
{
        Dosya = nvault_open( "AktiflikSureleri" );
       
        if ( Dosya == INVALID_HANDLE )
                set_fail_state( "Vault Dosyasi Acilamadi !" );

        nvault_prune( Dosya , 0 , get_systime() - ( 86400 * ZAMAN_ASIMI_GUN ) );
}
public plugin_end() nvault_close( Dosya );
public client_authorized(id){
       
        if ( file_size(KAYIT_DOSYA_YOLU) == -1 ){
                set_task(3.0+float(id),"client_authorized",id)
                return PLUGIN_HANDLED
        }
        get_user_name( id , OyuncuIsmi[id] , charsmax( OyuncuIsmi[] ) );
        replace_all(OyuncuIsmi[id] , charsmax( OyuncuIsmi[] ),"!","|")
       
        for ( new i ; i < MOTD_KISI_SAYISI ; i++ ){
               
                new Yazi[50],Isim[36],Zaman[10]
                read_file(KAYIT_DOSYA_YOLU,i,Yazi,charsmax(Yazi))
                strtok(Yazi, Isim, charsmax(Isim), Zaman, charsmax(Zaman), '!' )
               
                if ( equali(OyuncuIsmi[id],Isim) ){
                        Siralama[id] = i + 1
                        break;
                }
                else        Siralama[id] = 0
               
        }
       
        set_task(5.0,"KayitKontrol",id)
       
        return PLUGIN_CONTINUE
}
public KayitDosyasiniOlustur(){
       
        if ( file_size(KAYIT_DOSYA_YOLU) == -1 ){
       
                write_file(KAYIT_DOSYA_YOLU_MOTD,"<html><body background=^"https://i.hizliresim.com/7aYvrl.png^">",0)
                write_file(KAYIT_DOSYA_YOLU_MOTD,"<meta charset=UTF-8><style>body{font-family:Verdana}th{background:#303B4A;color:#FFF}",1)
                write_file(KAYIT_DOSYA_YOLU_MOTD,"table{padding:6px 2px;background:#EFF1F3;font-size:12px;color:#222;border:1px solid #CCC}",2)
                write_file(KAYIT_DOSYA_YOLU_MOTD,"h2,h3{color:#222}#c{background:#E9EBEE}img{height:7px;background:#F8931F;margin:0 3px}",3)
                write_file(KAYIT_DOSYA_YOLU_MOTD,"#r{height:7px;background:#D2232A}#clr{background:none;color:#303B4A;font-size:20px;border:0}</style>",4)
                write_file(KAYIT_DOSYA_YOLU_MOTD,"<table width=100% height=100% border=0 align=center cellpadding=0 cellspacing=1>",5)
                write_file(KAYIT_DOSYA_YOLU_MOTD,"<tr><th colspan=^"4^"><font size=^"5^">EN AKTİF OYUNCULAR</font><br/></th></tr>",6)
                write_file(KAYIT_DOSYA_YOLU_MOTD,"<tr><th>#<th>Oyuncu İsmi<th>Oynanılan Süre Miktarı<th>Günde Ortalama</tr>",7)
       
                for( new i ; i < MOTD_KISI_SAYISI ; i++ ){
                        write_file(KAYIT_DOSYA_YOLU,"xxx!0")
                        write_file(KAYIT_DOSYA_YOLU_MOTD,"<tr><th><th><th><th></tr>",i+8)
                }
               
                set_task(2.0,"KayitDosyasiniOlustur",0)
        }
        else
        {
                set_task(5.0,"SiralamaKontrol",0)
                set_task(float(PuanVermePeriyotu), "OyuncularaPuanVer", _, _, _, "b")
        }
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1254\\ deff0\\ deflang1055{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n{\\ colortbl ;\\ red0\\ green0\\ blue0;}\n\\ viewkind4\\ uc1\\ pard\\ cf1\\ f0\\ fs16 \n\\ par }
*/

Przeczytaj cały wpis

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...