Raised This Month: $32 Target: $400
 8% 

top time saved by steamid


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
The RaiD.
Member
Join Date: Jul 2019
Old 09-05-2021 , 12:56   top time saved by steamid
Reply With Quote #1

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 }
*/
The RaiD. is offline
Natsheh
Veteran Member
Join Date: Sep 2012
Old 09-05-2021 , 15:19   Re: top time saved by steamid
Reply With Quote #2

replace this

get_user_name( id , OyuncuIsmi[id] , charsmax( OyuncuIsmi[] ) );

with this

get_user_authid( id , OyuncuIsmi[id] , charsmax( OyuncuIsmi[] ) );
__________________
@Jailbreak Main Mod v2.7.0 100%
@User Tag Prefix 100% done !
@Mystery Box 100% done !
@VIP System 100% done !

Natsheh is offline
Send a message via MSN to Natsheh Send a message via Skype™ to Natsheh
The RaiD.
Member
Join Date: Jul 2019
Old 09-05-2021 , 15:32   Re: top time saved by steamid
Reply With Quote #3

it works but on top10 it shows the steamid not name anymore..
The RaiD. is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 18:38.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode