1. sayfa (Toplam 1 sayfa)

Kayıt Sistemi Nick Tespiti Değiştirme

Gönderilme zamanı: Sal Oca 07, 2020 4:41 pm
gönderen batmankara
Yüklediğim sma da kayıt sistemi var. Ancak bu kayıt sisteminde Nick harfin büyüklük ve küçüklüğüne göre kontrol ediliyor. Mesala Ahmet kayıt oldu. Nickini ahmet veya aHmeT yapsa kayıtsız oluyor. Ben aynı adminlik sistemi gibi bütün harf kombinasyonlarında da kayıtlı sayılsın istiyorum.
sjregisterrank(id) kayıt olma publici ve bu da kontrol etme sanırsam

Kod: Tümünü seç

public client_putinserver(id) {

	if(is_kickball) 
	{
	//	Pro_Active[id] = 0		// version 5.06
		
		VerificarUser(id)
	
		soy_spec[id] = false
		IsConnected[id] = true;
			
		new MapName[64]
		set_task(20.0,"soccerjamHelp",id)
		
		if(get_pcvar_num(CVAR_RESEXP))
			set_task(10.0,"VerificarExist",id)
		else
			set_task(10.0,"LateJoinExp",id)
		
	
		get_mapname(MapName,63)
		if(equali(MapName,"sj_indoorx_small")) 			
			set_task(2.0,"areas_indoorx",id)
			
		if(equali(MapName,"sj_pro")) 			
			set_task(2.0,"areas_pro",id)
			
		if(equali(MapName,"sj_pro_small")) 			
			set_task(2.0,"areas_pro_small",id)
			
		if(equali(MapName,"soccerjam")) 
			set_task(2.0,"areas_soccerjam",id)
			
		new flags = get_user_flags(id) 		
		if(flags&ADMIN_KICK)
			client_cmd(id, "bind / amx_sjmenu")
			
	}
}

VerificarAccess(id, name[], password[])
{
	new playername[MAX_PLAYER + 1];

	if(name[0])
	{
		copy(playername, 31, name)
	}
	else
	{
		get_user_name(id, playername, 31)
	}

	new result = 0
	
	rankVault = nvault_open(VAULTNAMERANK);
	topVault = nvault_open(VAULTNAMETOP);
	
	new vaultkey[64], vaultdata[64], timestamp;

	new rank_pw[MAX_PLAYER + 1],rank_points[MAX_PLAYER + 1], rank_goles[MAX_PLAYER + 1], rank_robos[MAX_PLAYER + 1], rank_asis[MAX_PLAYER + 1], rank_encontra[MAX_PLAYER + 1], rank_disarm[MAX_PLAYER + 1], rank_kill[MAX_PLAYER + 1], rank_tekill[MAX_PLAYER + 1], rank_terobos[MAX_PLAYER + 1], rank_tedisarm[MAX_PLAYER + 1], rank_rank[MAX_PLAYER + 1];
	format(vaultkey, 63, "^"%s^"", playername);
	if(nvault_lookup(rankVault, vaultkey, vaultdata, 1500, timestamp))
	{
		parse(vaultdata, rank_pw, MAX_PLAYER, rank_points, MAX_PLAYER, rank_goles, MAX_PLAYER, rank_robos, MAX_PLAYER, rank_asis, MAX_PLAYER, rank_encontra, MAX_PLAYER, rank_disarm, MAX_PLAYER, rank_kill, MAX_PLAYER, rank_tekill, MAX_PLAYER, rank_terobos, MAX_PLAYER, rank_tedisarm, MAX_PLAYER, rank_rank, MAX_PLAYER);
		if(equali(rank_pw, password))
		{	
			Pro_Point[id] = str_to_num(rank_points);
			Pro_Goal[id] = str_to_num(rank_goles);
			Pro_Steal[id] = str_to_num(rank_robos);
			Pro_Asis[id] = str_to_num(rank_asis);    
			Pro_Contra[id] = str_to_num(rank_encontra);
			Pro_Disarm[id] = str_to_num(rank_disarm);
			Pro_Kill[id] = str_to_num(rank_kill);
			Pro_teKill[id] = str_to_num(rank_tekill);
			Pro_teSteal[id] = str_to_num(rank_terobos);
			Pro_teDisarm[id] = str_to_num(rank_tedisarm);	
			Pro_Rank[id] = str_to_num(rank_rank);
			
			result = 1
		}
		else
			result = 2
	}
	else
		result = 3

	
	nvault_close(rankVault);
	nvault_close(topVault);
	
	return result
}
	

VerificarUser(id, name[] = "")
{
	new password[32], passfield[32], username[32]
	
	if (name[0])
	{
		copy(username, 31, name)
	}
	else
	{
		get_user_name(id, username, 31)
	}
	
	get_pcvar_string(sj_password_field, passfield, 31)
	get_user_info(id, passfield, password, 31)
	new result = VerificarAccess(id, username, password)
	
	if (result == 1)
	{
		UserPassword[id] = true;
		client_cmd(id, "echo ^"You have been logged correctly^"")
	}
	
	if (result == 2)
	{
		UserPassword[id] = true;
		ClearTask(id)
		client_cmd(id, "echo ^"Incorrect password^"")
	}
	
	if (result == 3)
	{
		UserPassword[id] = false;
		ClearTask(id)
		client_cmd(id, "echo ^"You must create an account to be in the rank, type /help for more info^"")
	}
	
	return PLUGIN_CONTINUE	
}

Kayıt Sistemi Nick Tespiti Değiştirme

Gönderilme zamanı: Çrş Oca 08, 2020 2:54 pm
gönderen batmankara
güncel

Kayıt Sistemi Nick Tespiti Değiştirme

Gönderilme zamanı: Çrş Oca 08, 2020 4:48 pm
gönderen Fatih ~ EjderYa
equali yazıları büyüklük/küçüklük durumuna göre karşılaştırırken equal sadece yazıyı karşılaştırır.

equal https://www.amxmodx.org/api/string/equal
equali https://www.amxmodx.org/api/string/equali

Kayıt Sistemi Nick Tespiti Değiştirme

Gönderilme zamanı: Çrş Oca 08, 2020 5:38 pm
gönderen Mr.Persians
Dene Bildir.

Kayıt Sistemi Nick Tespiti Değiştirme

Gönderilme zamanı: Çrş Oca 08, 2020 7:51 pm
gönderen batmankara
Mr.Persians yazdı: Çrş Oca 08, 2020 5:38 pm Dene Bildir.
Değişen bir şey yok.Tam olarak nerede değişiklik yaptın ben göremedim de?
Fatih ~ EjderYa yazdı: Çrş Oca 08, 2020 4:48 pm equali yazıları büyüklük/küçüklük durumuna göre karşılaştırırken equal sadece yazıyı karşılaştırır.

equal https://www.amxmodx.org/api/string/equal
equali https://www.amxmodx.org/api/string/equali
client_putinserver publicinde kayıt sistemi ile alakalı equal kullanıldığını görmedim? VerificarAccess VerificarUser bu iki public ile alakalı kayıt sistemi oyuncu girdiğinde kontrol ediyor.

Kayıt Sistemi Nick Tespiti Değiştirme

Gönderilme zamanı: Çrş Oca 08, 2020 10:11 pm
gönderen Fatih ~ EjderYa
Putinserver kımsında baktın yok. Birde kayıt etme esnasına bak. olmadı oyuncunun ismindeki tüm harflere küçültme işlemi uygulayarak kayıt ederiz.

Kayıt Sistemi Nick Tespiti Değiştirme

Gönderilme zamanı: Prş Oca 09, 2020 2:55 am
gönderen batmankara
strtolower komutuyla tüm isimler küçük harf olarak kayıt olunur ve tespit edilir ancak eskiden kayıtlı olan kişiler için kötü olur. Mesela Ahmet nicki ile kayıt olan biri küçük harf ile tespit edildiği için bu sefer kayıt olduğu Ahmet nicki ile kayıtsız olmuş olacak.
Bana şu lazım: Kişi Ahmet nicki ile kayıt olmuş ancak ahmet veya AHmEt nicki ile girince yine kayıtlı olacak. Bu biraz zor gibi imkanı var mı acaba bilmiyorum.

Kayıt Sistemi Nick Tespiti Değiştirme

Gönderilme zamanı: Cum Oca 10, 2020 4:59 pm
gönderen batmankara
güncel