- #include <a_samp>
- #include <a_mysql>
- new MySQL:m_sql;
- new samp[500];
- main(){}
- public OnGameModeInit()
- {
- if(!MySQL_Init()) return printf("[MySQL] Error while trying to connect with database. [ID: %d].", mysql_errno(m_sql));
- else print("[MySQL] Successfully connected to the database.");
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- mysql_format(m_sql, samp, sizeof(samp), "SELECT * FROM `players` WHERE `player_name` LIKE BINARY '%s'", GetPlayerNick(playerid));
- mysql_query(m_sql, samp, true);
- new rows = cache_num_rows();
- if(rows)
- {
- format(samp, sizeof(samp), "Witaj na serwerze %s.nnWpisz swoje haslo aby sie zalogowac", GetPlayerNick(playerid));
- ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Logowanie", samp, "Wyjdz", "zaloguj");
- } else {
- format(samp, sizeof(samp), "Witaj na serwerze %s.nnWpisz swoje haslo aby sie ZAREJESTROWAC", GetPlayerNick(playerid));
- ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "REJESTRACJA", samp, "Wyjdz", "REJESTRUJ");
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == 2)
- {
- if(response == 1)
- {
- mysql_format(m_sql, samp, sizeof(samp), "SELECT `player_password` FROM `players` WHERE `player_name` LIKE BINARY '%s'", GetPlayerNick(playerid));
- mysql_query(m_sql, samp, true);
- new haslo[25];
- cache_get_value_name(0, "haslo", haslo);
- if(strcmp(haslo, inputtext))
- {
- ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Niepoprawne", "niepoprawne haslo", "loguj", "wyjc");
- return 1;
- }
- TogglePlayerSpectating(playerid, 0);
- SpawnPlayer(playerid);
- }
- else
- {
- Kick(playerid);
- }
- }
- if(dialogid == 1)
- {
- if(response == 1)
- {
- if(strlen(inputtext) <= 2 || strlen(inputtext) >= 21)
- return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "REJESTRACJA", "rejestracja", "rejestruj", "wyjc");
- mysql_format(m_sql, samp, sizeof(samp), "INSERT INTO `players` SET `player_name` = '%s', `player_password` = '%s'", GetPlayerNick(playerid), inputtext);
- mysql_query(m_sql, samp, true);
- TogglePlayerSpectating(playerid, 0);
- SpawnPlayer(playerid);
- } else {
- Kick(playerid);
- }
- return 1;
- }
- return 1;
- }
- stock MySQL_Init()
- {
- mysql_log();
- m_sql = mysql_connect_file("mysql.ini");
- if(m_sql == MYSQL_INVALID_HANDLE || mysql_errno(m_sql) != 0) return false;
- else return true;
- }
- stock GetPlayerNick(playerid)
- {
- new name[MAX_PLAYER_NAME+1];
- GetPlayerName(playerid, name, sizeof(name));
- return name;
- }