[TUT] Provera za RP Ime


Započeo B185, Maj 11, 2017, 20:13:44 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Nesto sto svi traze, a ima i mnogo drugih provera. Pod OnPlayerConnect Stavite "CheckRPName(playerid, GetName(playerid));"

new rpNameFuck[MAX_PLAYERS];

stock CheckRPName(playerid, name[]) // by RESPONSE
{
	if(IsNameInUse(name)) return 1;
	else
	{
	    new ch = name[0]; // kreira novu varijablu koja ima vrijednost array name pozicije stringa 0
	    if(strfind(name, "_") != -1) // ako postoji "_" u imenu nastavlja se
	    {
	        if(ch >= 'A' && ch <= 'Z') // ako ch ima vrednost manju ili jednaku 'A' i vecu ili jednaku 'Z'
	        {
	            for(new i=0, j=strlen(name); i < j; i++) // za loop
	            {
	              	if((name[i] >= 0) && (name[i] <= 9)) // number check
			        {
			          SendClientMessage(playerid, -1, "Tvoje ime ne sme sadrzavati brojeve."); rpNameFuck[playerid] = 1;
			          Kick(playerid);
			          return 1;
			        }
	                if(!strfind(name[i], "_")) // ako je u var i u trenutnom loopu znak _ nastavlja se
	                {
	                name[++i]; // povecava se varijabla za +1 sto ce oznaciti pocetak imena
	                if(name[i] >= 'A' && name[i] <= 'Z') return 1; // ako je taj znak manji ili jednak A ili veci ili jednak Z return-a 1
	                    else // ako to nije tacno
	                    {
	                            rpNameFuck[playerid] = 1; SendClientMessage(playerid, -1, "Prezime mora biti napisano velikim pocetnim slovom."); // onda se stavlja poruka
	                            Kick(playerid);
	                            return 1; // returna 0
	                    }
	                }
	                else continue; // ako nije pronadjen znak "_" na trenutnoj poziciji vraca se na pocetak loopa sto oznacava da podize var i za 1
	            }
	            return 1; // returna 1
	        }
	        else // ako nema na prvoj poziciji velikog slova baca donju poruku i returna 0
	        {
	                rpNameFuck[playerid] = 1; SendClientMessage(playerid, -1, "Ime mora biti napisano velikim pocetnim slovom.");
	                Kick(playerid);
	                return 1;
	        }
	    }
	    else // ako nema znaka "_" u imenu poruka i return 0
	    {
	            rpNameFuck[playerid] = 1; SendClientMessage(playerid, -1, "Vas nick mora biti u formatu Ime_Prezime.");
	            Kick(playerid);
	            return 1;
	    }
      }
}

CADILAB

*

Balkan Underground Owner

Moja preporuka vam je da koristite regex.
Mozete sa njim raditi razne provere, kompletnije provere tipa rp ime, email...

Citat: Cadilab poslato Maj 11, 2017, 20:26:27 POSLE PODNE
Moja preporuka vam je da koristite regex.
Mozete sa njim raditi razne provere, kompletnije provere tipa rp ime, email...

Hvala, imao sam u glavi da odradim isto sa regex, ali nikako, ali ipak hvala :)

cemu sluzi `rpNameFuck[playerid]` ako se samo koristi bukvalno ovako rpNameFuck[playerid] = 1;

Citat: ☢ χÏ...ηdÑ"я_ ☢ poslato Maj 11, 2017, 21:03:34 POSLE PODNE
cemu sluzi `rpNameFuck[playerid]` ako se samo koristi bukvalno ovako rpNameFuck[playerid] = 1;
Vjv neka definicja iz moda


Citat: ☢ χÏ...ηdÑ"я_ ☢ poslato Maj 11, 2017, 21:03:34 POSLE PODNE
cemu sluzi `rpNameFuck[playerid]` ako se samo koristi bukvalno ovako rpNameFuck[playerid] = 1;

Pa definisano je new rpNameFuck[MAX_PLAYERS];
Odredjuje da li je ime pravilno ili ne..
Poslednja Izmena: Maj 11, 2017, 22:09:34 POSLE PODNE od RESPOSNE

Citat: RESPOSNE poslato Maj 11, 2017, 22:07:58 POSLE PODNE
Citat: ☢ χÏ...ηdÑ"я_ ☢ poslato Maj 11, 2017, 21:03:34 POSLE PODNE
cemu sluzi `rpNameFuck[playerid]` ako se samo koristi bukvalno ovako rpNameFuck[playerid] = 1;

Pa definisano je new rpNameFuck[MAX_PLAYERS];
Odredjuje da li je ime pravilno ili ne..

Da ali koja mu je svrha sem da zauzima memoriju i mijenja value?

Citat: ☢ χÏ...ηdÑ"я_ ☢ poslato Maj 11, 2017, 23:05:46 POSLE PODNE
Citat: RESPOSNE poslato Maj 11, 2017, 22:07:58 POSLE PODNE
Citat: ☢ χÏ...ηdÑ"я_ ☢ poslato Maj 11, 2017, 21:03:34 POSLE PODNE
cemu sluzi `rpNameFuck[playerid]` ako se samo koristi bukvalno ovako rpNameFuck[playerid] = 1;

Pa definisano je new rpNameFuck[MAX_PLAYERS];
Odredjuje da li je ime pravilno ili ne..

Da ali koja mu je svrha sem da zauzima memoriju i mijenja value?

I da salje poruku igracu zbog cega je kikovan...



Citat: RESPOSNE poslato Maj 12, 2017, 15:48:06 POSLE PODNE
Citat: ☢ χÏ...ηdÑ"я_ ☢ poslato Maj 11, 2017, 23:05:46 POSLE PODNE
Citat: RESPOSNE poslato Maj 11, 2017, 22:07:58 POSLE PODNE
Citat: ☢ χÏ...ηdÑ"я_ ☢ poslato Maj 11, 2017, 21:03:34 POSLE PODNE
cemu sluzi `rpNameFuck[playerid]` ako se samo koristi bukvalno ovako rpNameFuck[playerid] = 1;

Pa definisano je new rpNameFuck[MAX_PLAYERS];
Odredjuje da li je ime pravilno ili ne..

Da ali koja mu je svrha sem da zauzima memoriju i mijenja value?

I da salje poruku igracu zbog cega je kikovan...

Poruka se salje sa SendClientMessage f-jom ne mijenjanjem varijable..


Good,posluzit ce nekom...
Respect: Harexe,Muma,Depay,Hrustanovic,Tosic,#Rakic,Maxwell,Medo,anDro,Dedic,SlavicBeast,gReeDy.amx,berroni.amx,LoOdak,Kasperzi

GAME OVER