Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

Kayıt Sistemi Nick Tespiti Değiştirme

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler


Konu Sahibi
batmankara
Mesajlar: 165
Kayıt: Cmt Haz 01, 2019 11:53 pm

Kayıt Sistemi Nick Tespiti Değiştirme

Mesaj 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	
}
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
batmankara
Mesajlar: 165
Kayıt: Cmt Haz 01, 2019 11:53 pm

Kayıt Sistemi Nick Tespiti Değiştirme

Mesaj gönderen batmankara »

güncel

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Fatih ~ EjderYa
Mesajlar: 2896
Kayıt: Prş Mar 16, 2017 5:05 pm
Konum: İstanbul
İletişim:

Kayıt Sistemi Nick Tespiti Değiştirme

Mesaj 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

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Mr.Persians
Mesajlar: 577
Kayıt: Sal Kas 21, 2017 5:10 pm
Server Ip/DNS: CSXX.CSDURAGI.COM
Clan İsmi: LasTShoT | Clan
İletişim:

Kayıt Sistemi Nick Tespiti Değiştirme

Mesaj gönderen Mr.Persians »

Dene Bildir.
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
batmankara
Mesajlar: 165
Kayıt: Cmt Haz 01, 2019 11:53 pm

Kayıt Sistemi Nick Tespiti Değiştirme

Mesaj 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.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Fatih ~ EjderYa
Mesajlar: 2896
Kayıt: Prş Mar 16, 2017 5:05 pm
Konum: İstanbul
İletişim:

Kayıt Sistemi Nick Tespiti Değiştirme

Mesaj 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.

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
batmankara
Mesajlar: 165
Kayıt: Cmt Haz 01, 2019 11:53 pm

Kayıt Sistemi Nick Tespiti Değiştirme

Mesaj 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.

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
batmankara
Mesajlar: 165
Kayıt: Cmt Haz 01, 2019 11:53 pm

Kayıt Sistemi Nick Tespiti Değiştirme

Mesaj gönderen batmankara »

güncel

Link:
Linklerini gizle
Linki Kopyala
Cevapla