Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <mysql>
- #define DB_HOST "localhost"
- #define DB_USER "root"
- #define DB_PASS ""
- #define DB_NAME "mydatabase"
- new
- mysql:g_db;
- public OnFilterScriptInit()
- {
- // Conectați-vă la baza de date
- g_db = mysql_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
- if (g_db == INVALID_HANDLE)
- {
- printf("Nu s-a putut conecta la baza de date.");
- return 1;
- }
- return 0;
- }
- public OnFilterScriptExit()
- {
- // Închideți conexiunea la baza de date
- mysql_close(g_db);
- }
- forward CheckIfUsernameExists(username[]);
- public OnPlayerRequestClass(playerid, classid)
- {
- // Obțineți numele de utilizator al jucătorului
- new
- name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- // Verificați dacă numele de utilizator există deja în baza de date
- if (CheckIfUsernameExists(name))
- {
- // Dacă numele de utilizator există deja, trimiteți un mesaj de eroare către jucător
- SendClientMessage(playerid, COLOR_ERROR, "Acest nume de utilizator este deja luat. Vă rugăm să alegeți alt nume de utilizator.");
- return 0;
- }
- // Dacă numele de utilizator este disponibil, solicitați parola și adresa de email de la jucător
- new
- password[MAX_PLAYER_NAME], email[MAX_PLAYER_NAME];
- GetPlayerName(playerid, password, sizeof(password));
- GetPlayerName(playerid, email, sizeof(email));
- // Validați informațiile de înregistrare introduse de jucător (de exemplu, verificați dacă parola are o lungime minimă sau dacă adresa de email este într-un format valid)
- // Dacă informațiile sunt valide, salvați-le în baza de date
- new
- query[128];
- format(query, sizeof(query), "INSERT INTO players (name, password, email) VALUES ('%s', '%s', '%s')", name, password, email);
- mysql_query(g_db, query);
- // Trimiteți un mesaj de confirmare către jucător
- SendClientMessage(playerid, COLOR_INFO, "Înregistrarea dvs. a fost efectuată cu succes! Acum puteți să vă autentificați în joc.");
- return 1;
- }
- forward CheckIfEmailExists(email[]);
- public CheckIfUsernameExists(username[])
- {
- new
- query[128], result;
- format(query, sizeof(query), "SELECT COUNT(*) FROM players WHERE name='%s'", username);
- result = mysql_query(g_db, query);
- if (result < 0)
- {
- return 0;
- }
- new
- rows, fields;
- rows = mysql_num_rows(result);
- if (rows == 0)
- {
- return 0;
- }
- new
- row = mysql_fetch_row(result);
- if (row == 0)
- {
- return 0;
- }
- if (row[0] > 0)
- {
- return 1;
- }
- return 0;
- }
- public CheckIfEmailExists(email[])
- {
- new
- query[128], result;
- format(query, sizeof(query), "SELECT COUNT(*) FROM players WHERE email='%s'", email);
- result = mysql_query(g_db, query);
- if (result < 0)
- {
- return 0;
- }
- new
- rows, fields;
- rows = mysql_num_rows(result);
- if (rows == 0)
- {
- return 0;
- }
- new
- row = mysql_fetch_row(result);
- if (row == 0)
- {
- return 0;
- }
- if (row[0] > 0)
- {
- return 1;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement