Evo bilo mi je malo dosadno pa sam napravio jednostavnu funkciju za provjeru imena i prezimena za roleplay servere.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/dwsJtXnkNEZNAM, 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 (http://balkan-samp.com/forum/index.php?action=profile;u=14610)
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 6UPDATE 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)
Lepo, koristiću :)
EDIT:
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 :P
Odlicno, koristiću.
Korisno i lepo odradjeno !
Pohvala za trud ;)
Pozdrav.
Lijepo napravljeno.
Hvala.
Najnapredniji sistem provere imena koji sam vidio do sada,svaka cast ;)
Hvala svima...
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 :)
Odlicno :)
Vrlo dobro Slay!
Veoma je korisno!
Lijepo :D
Svaka Äast ;) Lijep system!
stvarno super stvar ! 10/10
Odlicno, koristicu :D
Odlićno
Dodana filterskripta za one koji ne znaju kako ovo koristiti.
OdliÄno brate,veoma korisno.
Lepo odradjeno..Svaka cast :)
Hvala svima, evo još jedan update, to bi trebala biti gotova verzija, poboljšana je u prvom postu piše sve... ako neko ima nekakvih problema još neka javi...
Dobra FS , sad cu da je koristim :)
Nema na cemu brate ;) ;) :)
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.
linkovi updateani!
Lepo odradjeno :)
Lepo lepo 10/10
extra si skripter
odlicna skripta,nastavi tako,svaka cast za trud
OdliÄna FS ;)
Hvala svima
Odlicno 10/10 !!
skuzio sam kako mogu napraviti automatsku regulaciju nicka iz nepravilnog u pravilno ali samo za slijedeće sluÄajeve:
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
ako netko želi, umjesto da kicka igraÄe zbog ovih sluÄaja automatski im regulirati nick IN-GAME neka kaže ovdje pa ću update-ati funkciju jer u tom sluÄaju vam se smanjuje vjerojatnost da kada ga server kicka zbog ovih razloga igraÄ ne vrati sa ispravnim imenom :)
ako ću update-ati funkciju vi ćete i dalje moći koristiti ove sluÄajeve za vlastite stvari ali samo će postajati dodatan argument u kojem će te moći ukljuÄiti automatsku regulaciju ovih sluÄaja...
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
pastebin link update-an, FS skripta nije update-ana, ako netko i to želi neka mi javi na pm pa ću update-ati i nju....
Svaka Cast :D
Prijavljen mi je mogući bug, provjerio sam, skripta radi bez problema....
evo da dokažem napravio sam mali debug preko C++ konzolnog programiranja, nije mi se dalo provjeravati IN-game svaki sluÄaj pa sam samo testirao nick preko stringova...
evo rezultata:
Rezultat korištenja nicka Petar_Pan
(http://i.imgur.com/ldk69R5.png)
Rezultat korištenja nicka Pe_We
(http://img18.imageshack.us/img18/5707/7bcfb85af0bd41c59431ccc.png)
I evo potvrda da skripta radi sasvim normalno za sluÄaj 8 i sluÄaj 9
Rezultat korištenja nicka Pee_Wee
(http://i.imgur.com/xaDHhWq.png)
Samo da znate ako imate ovakvih problema recite ovdje jer razlog zaÅ¡to vam ne radi nije da funkcija ne radi nego ste je krivo podesili i vjerojatno niste ukljuÄili sve sluÄajeve.
Odlicno !
U sluÄaju potrebe može se napraviti da se doda 'n' zanemarivih nickova, PM
Lijepo odradjeno ...sve pohvale
Bravo, vrlo lijepo napravljeno :)
Mali update, 1.2.6 izmjenjen pastebin link i pise vam sta je novo u prvom postu pri dnu
svidja mi se
Svidja mi se