RSSy MYGO.pl Opublikowano Wrzesień 5, 2021 o 16:56 RSSy Udostępnij Opublikowano Wrzesień 5, 2021 o 16:56 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 Więcej opcji udostępniania...
Rekomendowane odpowiedzi