[INC+FS] Provjera Roleplay Imena (9 SluÄaja) + REGULACIJA 1.2.6
Balkan SA:MP
SA-MP Doprinos241 / 250 XP
PREDNOSTI:
VraÄanje svakog mogućeg sluÄaja za bolje navoÄ‘enje igraÄa s greÅ¡kom u nicku
Lako podešavanje tj. dodavanje zabranjenih znakova u imenu
U funkciji možete postaviti zanemarivi nick, primjer Admin, i funkcija će automatski dopustiti konekciju tom igraÄu.
Mogućnost paljenja/gaÅ¡enja automatske regulacije nicka za popravak velikog poÄetnog slova imena i prezimena i popravak malih slova poslije prvog slova imena i prezimena ili toÄnije regulator za sluÄaj 5 i 6
MANE:
Skripta koristi 2 petlje od toga je sluÄaj sa petljom unutar petlje, Å¡to znaÄi da je funkcija malo sporija ali to je skroz zanemarivo i neće stvarati nikakve probleme.
VRAÄŒANJE SLUÄŒAJA:
SluÄaj 1: Ime i prezime su ispravni, ime je uspjeÅ¡no proÅ¡lo provjeru.
SluÄaj 2: Ime nije proÅ¡lo provjeru jer nema povlaku za odvajanje imena od prezimena.
SluÄaj 3: Ime nije proÅ¡lo provjeru jer ima viÅ¡e od jedne povlake
SluÄaj 4: Ime nije proÅ¡lo provjeru jer sadržava zabranjene znakove (brojeve, [, ]...)
SluÄaj 5: Prvo slovo imena ili prezimena ne poÄinje velikim slovom
SluÄaj 6: Slova poslije imena ili prezimena moraju biti mala slova
SluÄaj 7: Povlaka je prvo ili zadnje slovo u nicku
SluÄaj 8: Ime ima manje od 3 slova
SluÄaj 9: Prezime ima manje od 3 slova
FUNKCIJA:
isRoleplayName(playerid, zanemai[], bool:senzitivno, bool:autoRegulacija)
PRIMJER KORIÅ TENJA:
public OnPlayerConnect(playerid)
{
switch(isRoleplayName(playerid, _, _, false))
{
case (1): SendClientMessage(playerid, -1, "Vase ime je ispravno! 🙂");
case (2): { SendClientMessage(playerid, -1, "Vase ime nema niti jednu povlaku!"); Kick(playerid); }
case (3): { SendClientMessage(playerid, -1, "Vase ime ne smije imati vise od 1 povlake!"); Kick(playerid); }
case (4): { SendClientMessage(playerid, -1, "Vase ime ne smije imati zabranjene znakove!"); Kick(playerid); }
case (5): { SendClientMessage(playerid, -1, "Prvo slovo imena ili prezimena nije veliko slovo!"); Kick(playerid); }
case (6): { SendClientMessage(playerid, -1, "Slova poslije prvog slova imena i prezimena moraju biti mala!"); Kick(playerid); }
case (7): { SendClientMessage(playerid, -1, "Povlaka ne smije biti prvo slovo vašeg imena! Koristi povlaku za odvajanje Imena od Prezimena"); Kick(playerid); }
case (8): { SendClientMessage(playerid, -1, "Vaše ime ima manje od 3 slova!"); Kick(playerid); }
case (9): { SendClientMessage(playerid, -1, "Vaše prezime ima manje od 3 slova!"); Kick(playerid); }
}
return (true);
}
SKRIPTA:
Pastebin: http://pastebin.com/dwsJtXnk
NEZNAM, KAKO OVO KORISTITI:
Evo neki od vas su me pitali kako da ovo koriste, pa sam odluÄio olakÅ¡ati joÅ¡ za one koji ne znaju kako ovo koristiti, ako ste vi jedan od njih, sve Å¡to trebate je skinuti ovaj link sa solidfiles-a i unzipati ga, unutra ima dvije datoteke (rpProvjera.pwn i rpProvjera.amx) kopirajte rpProvjera.amx u vaÅ¡ filterscripts folder i u server.cfg na liniji filterscripts dodajte rpProvjera i to je to!
http://www.solidfiles.com/d/31a126a199/
NAPOMENA:
U sluÄaju nekakvih problema, kritike, komentari, tu piÅ¡ite, pozdrav!
UPDATE 1.1.5:
Popravljen bug sa filterskriptom, nije izbacivala sa servera, sada je popravljena i testirana, hvala Wucha
Popravljen joÅ¡ jedan exploid kada je zadnje slovo nicka povala _ sada to vraÄa kao sluÄaj 7 kao i kada je povlaka prvo slovo u imenu!
PoboljÅ¡ana toÄnost funkcije od sada Ime mora imati minimalno 3 slova, kao i prezime, kada ime ima manje od tri slova vraÄa sluÄaj 8, a kada prezime ima manje od 3 slova vraÄa sluÄaj 9!
UPDATE 1.2:
Evo posluÅ¡ao sam savjet i doradio po zadnji put ovu funkciju, od sada možete postaviti zanemarivi nick, u sluÄaju da npr. vi kao vlasnik servera želite koristiti nick, primjer: Administrator samo postavite u funkciju isRoleplayName(playerid, "Administrator", true) i funkcija će dopustiti prikljuÄenje tom nicku.
PRIMJER 1.2:
public OnPlayerConnect(playerid)
{
if(isRoleplayName(playerid, "Administrator", _) == 1) print("ID %i je uspjesno prosao provjeru nicka!", playerid);
}
UPDATE 1.2.5:
Dodan argument u funkciji, mogućnost paljenje/gaÅ¡enja auto-regulatora za sluÄajeve 5 i 6, znaÄi ako upalite regulaciju ako se igraÄ prikljuÄi primjer sa nickom kRISTIJAN_sTIPIC funkcija će mu automatski regulirati nick u Kristijan_Stipic, ako je regulacija ugaÅ¡ena funkcija će dalje vraÄati sluÄaj 5 ili sluÄaj 6
UPDATE 1.2.6:
Popravljen jedan mali bug i uklonjena potreba za korištenjem niza za spremanje imena kod auto-regulacije sada se za to brine macro funkcija (konstanta)
Balkan SA:MP
SA-MP Doprinos241 / 250 XP
Mali update, skužio sam da automatsko postavljanje velikog i malog slova Ime Prezime neće funkcionirati jer ne mogu koristiti setplayername jer je case senzitivan pa ce returnati false, pa sam ipak to morao napraviti samo kao 2 dodatna slucaja (case 5 i case 6)... ako neko uopce ovo koristi neka update-a obavezno 🙂
i promijenio sam argument isRoleplayName(ime[]) u isRoleplayName(playerid)
to bi vam trebalo malÄice olakÅ¡ati 😛
Balkan SA:MP
SA-MP Doprinos241 / 250 XP
btw: update-ao sam skriptu, nema nikakve razlike osim u brzini funkcije i novom sluÄaju, izbaÄen je jedna petlja jer sam se sjetio boljeg naÄina da prebrojim povlake....
popravio sam exploid sa povlakom kao prvo slovo u nicku.... sada sluÄajem br. 7 možete registrirati ako je nick igraÄa, primjer: _kristijan
i dodani su dodatni zabranjeni znakovi -> ( ) . € $ @ { }
pastebin link je update-an 🙂
Balkan SA:MP
SA-MP Doprinos12 / 250 XP
Balkan SA:MP
SA-MP Doprinos90 / 100 XP
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava