Salutare tuturor, astazi am sa va arat cum sa faceti un sistem de register ca pe nephrite romania, adica la inregistrare, parola pe care o introduci sa fie formata din litera mare, litera mica si o cifra. (Exemplu: Leonard123)
Pentru a face acest lucru, avem nevoie de pluginul si include-ul Pawn.RegeX.
Download Pawn.RegeX plugin (Windows + Linux) : Click
Download Pawn.RegeX include : Click
Dupa ce am descarcat cele 3 fisiere, va trebuii sa le si instalam.
Pluginurile le vom adauga in folder-ul principal al gamemode-ului vostru -> plugins
Dupa ce le punem in folder-ul plugins, va trebuii sa le adaugam si in server.cfg -> plugins
Dupa am adaugat pluginul in server.cfg, va trebuii sa adaugam include-ul Pawn.RegeX.inc in folder-ul "include" din Pawno.
La urma, dupa ce am facut toti pasii de mai sus, trecem in gamemode.
1. Includem Pawn.RegeX in gamemode
#include "Pawn.Regex"
2. Creem un stock care o sa ne ajute la verificari
stock isValidPassword(const password[])
{
if( strlen( password ) < 5 || strlen( password ) > 35 ) return false;
new Regex: verifyFirst = Regex_New(".*[A-Z]*.");
new Regex: verifySecond = Regex_New(".*[a-z]*.");
new Regex: verifyThird = Regex_New(".*[0-9]*.");
if(!Regex_Check(password, verifyFirst)) return false;
if(!Regex_Check(password, verifySecond)) return false;
if(!Regex_Check(password, verifyThird)) return false;
Regex_Delete( verifyFirst );
Regex_Delete( verifySecond );
Regex_Delete( verifyThird );
return true;
}
3. Folosim stock-ul creat
Mergem la DIALOG_REGISTER si adaugam urmatoarea conditie
if( !isValidPassword( inputtext ) ) return SendClientMessage( playerid, -1, "Parola ta trebuie sa contina o litera mare, una mica si o cifra." );
La fel facem si la DIALOG_LOGIN
if( !isValidPassword( inputtext ) ) return SendClientMessage( playerid, -1, "Parola ta trebuie sa contina o litera mare, una mica si o cifra." );
Cam asta a fost tutorialul, sper ca ati inteles ce aveti de facut.
Credits : @Leonard (tutorial) & @EraSy (stock)