Код:
if(strcmp(cmdtext, "/register", true) == 0)
{
new str[256];
new password[14], tmp[128], RPassword[14];
//tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,ADMIN_RED,"Gib /register <Passwort> ein, um dich zu registrieren!");
return 1;
}
password[13] = strval(tmp);
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
GetPlayerIp(playerid, PlayerIP, sizeof(PlayerIP));
if(MySQLCheckUserExistance(playerid))
{
SendClientMessage(playerid,ADMIN_RED,"Dein Nickname ist bereits registriert, bitte log dich mit /login <Passwort> ein!");
return 1;
}
if(strfind(tmp, ">", true) != -1 || strfind(tmp, "<", true) != -1)
{
SendClientMessage(playerid,ADMIN_RED,"Falsches Zeichen im Passwort");
return 1;
}
if(strlen(tmp) > 5)
{
SendClientMessage(playerid,ADMIN_RED,"Dein Passwort kann nicht lдnger als 5 Zeichen sein!");
return 1;
}
samp_mysql_real_escape_string(tmp, RPassword);
format(query, sizeof(query), "INSERT INTO `spieler` (reg_id) VALUES (0)");
format(query, sizeof(query), "INSERT INTO `spieler` (name) VALUES (%s)",playername);
format(query, sizeof(query), "INSERT INTO `spieler` (password) VALUES (%s)",RPassword);
format(query, sizeof(query), "INSERT INTO `spieler` (admin_level) VALUES (0)");
format(query, sizeof(query), "INSERT INTO `spieler` (IP) VALUES (%s)",PlayerIP);
format(query, sizeof(query), "INSERT INTO `spieler` (money) VALUES (0)");
samp_mysql_query(query);
format(query, sizeof(query), "SELECT `reg_id` FROM `spieler` WHERE `name` = '%s'", PlayerName);
samp_mysql_query(query);
samp_mysql_store_result();
if(samp_mysql_num_rows() == 0)
{
format(str, sizeof(str), "Kann nicht in die Datenbank %s schreiben", MYSQL_DB);
SendClientMessage(playerid, COLOR_RED, str);
return 1;
}
SendClientMessage(playerid,ADMIN_GREEN,"Du hast dich erfolgreich registriert. Gib /login <Passwort> ein.");
return 1;
}
//-------------------------// Login // ---------------------------------
if(strcmp(cmdtext, "/login", true) == 0)
{
new str[256];
new password[14], tmp[128];
//tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,ADMIN_RED,"Gib /login <Passwort> ein, um dich zu einzuloggen!");
return 1;
}
password[13] = strval(tmp);
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
GetPlayerIp(playerid, PlayerIP, sizeof(PlayerIP));
if(PlayerInfo[playerid][Logged] == 1)
{
SendClientMessage(playerid,ADMIN_YELLOW,"Du bist bereits eingeloggt!");
return 1;
}
if(!MySQLCheckUserExistance(playerid))
{
SendClientMessage(playerid,ADMIN_RED,"Du bist noch nicht registriert, bitte registriere dich mit /register <Passwort>.");
return 1;
}
format(query, sizeof(query), "SELECT * FROM `spieler` WHERE `PlayerName` = '%s'", PlayerName);
samp_mysql_query(query);
samp_mysql_store_result();
samp_mysql_fetch_row(line);
new passwd[14];
samp_mysql_get_field("password", passwd);
if(strcmp(tmp, passwd, true) != 0)
{
if(PlayerInfo[playerid][FalseLogins] < 3)
{
PlayerInfo[playerid][FalseLogins] = PlayerInfo[playerid][FalseLogins] + 1;
format(str, sizeof(str), "Fehler: %s ist das falsche Passwort fьr den Account %s! (Warnung: Falsches Passwwort %d/3)", tmp, PlayerName, PlayerInfo[playerid][FalseLogins]);
SendClientMessage(playerid, ADMIN_RED, str);
}
else
{
PlayerInfo[playerid][FalseLogins] = 3;
format(str, sizeof(str), "Fehler: %s ist das falsche Passwort fьr den Account %s! (3/3 Warnung: Falsches Passwort voll)", tmp, PlayerName);
SendClientMessage(playerid, ADMIN_RED, str);
SendClientMessage(playerid, ADMIN_RED,"KICK: 3 falsche Loginversuche");
Kick(playerid);
}
return 1;
}
SendClientMessage(playerid,ADMIN_GREEN,"Du hast dich erfolgreich eingeloggt.");
PlayerInfo[playerid][Logged] = 1;
samp_mysql_get_field("position", str);
SetPlayerScore(playerid, strval(str));
samp_mysql_get_field("money", str);
GivePlayerMoney(playerid, strval(str));
samp_mysql_get_field("admin_level", str);
PlayerInfo[playerid][Admin] = strval(str);
samp_mysql_get_field("times_logged", str);
PlayerInfo[playerid][TimesLogged] = strval(str);
PlayerInfo[playerid][TimesLogged] += 1;
new smail[60];
samp_mysql_get_field("email", smail);
format(query, sizeof(query), "UPDATE `spieler` SET `times_logged` = '%d' WHERE `PlayerName` = '%s'", PlayerInfo[playerid][TimesLogged], PlayerName);
samp_mysql_query(query);
return 1;
}