04.05.2015, 12:35
Hello.
any one here is good in mysql , i want make this code in Mysql R34 , and this version is R6, and in my gm i use mysql r34 [i am not good in Mysql].
Thanks!
any one here is good in mysql , i want make this code in Mysql R34 , and this version is R6, and in my gm i use mysql r34 [i am not good in Mysql].
pawn Код:
stock GetAdmin(username[], obtaining[])
{
new Query[128];
format(Query, 128, "SELECT %s FROM "TABLE_ADMIN" WHERE name = '%s' LIMIT 1", obtaining, username);
mysql_query(Query);
mysql_store_result();
if(mysql_fetch_row(Query) == 1)
{
mysql_free_result();
return Query;
}
return Query;
}
pawn Код:
CMD:alogin(playerid, params[], help)
{
/*if(PlayerInfo[playerid][pLogin] == 0) return true;*/
new query[2048];
format(query, sizeof(query), "SELECT * FROM "TABLE_ADMIN" WHERE Name = '%s'", PlayerInfo[playerid][pNormalName]);
mysql_query(query);
mysql_store_result();
if(!mysql_fetch_row_format(query)) return true;
if(!strcmp(GetAdmin(PlayerInfo[playerid][pNormalName], "password"), "qwerty", true))
{
SetPVarInt(playerid, "Alogin", 1);
ShowPlayerDialog(playerid, DIALOG_ALOGIN, 1, "{FFFFFF}Регистрация", "Введите пароль\n\nПароль должен состоять из латинских букв и цифр\n размером от 6 до 15 символов", "Вход", "Отмена");
SendClientMessage(playerid, COLOR_GREY, "Зарегистрируйте администраторский пароль. Он должен быть больше 5 и меньше 16 символов!");
}
else ShowPlayerDialog(playerid, DIALOG_ALOGIN, 1, "Админ авторизация", "Введите пароль\n\nПароль должен состоять из латинских букв и цифр\n размером от 6 до 15 символов", "Вход", "Отмена"), SetPVarInt(playerid, "Alogin", 2);
return true;
}
pawn Код:
if(dialogid == DIALOG_ALOGIN)
{
if(!response) return 1;
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_ALOGIN, 1, "Админ авторизация", "Введите пароль\n\nПароль должен состоять из латинских букв и цифр\n размером от 6 до 15 символов", "Вход", "Отмена");
new query[2048], pass2, level = strval(GetAdmin(PlayerInfo[playerid][pNormalName], "level"));
if(GetPVarInt(playerid, "Alogin") == 1)
{
if(sscanf(inputtext, "s[16]", pass2)) ShowPlayerDialog(playerid, DIALOG_ALOGIN, 1, "Админ авторизация", "Введите пароль\n\nПароль должен состоять из латинских букв и цифр\n размером от 6 до 15 символов", "Вход", "Отмена");
if(!strcmp(inputtext, "qwerty", true)) return ShowPlayerDialog(playerid, DIALOG_ALOGIN, 1, "Админ авторизация", "Введите пароль\n\nПароль должен состоять из латинских букв и цифр\n размером от 6 до 15 символов", "Вход", "Отмена");
if(strlen(inputtext) < 6 || strlen(inputtext) > 16) return ShowPlayerDialog(playerid, DIALOG_ALOGIN, 1, "Админ авторизация", "Введите пароль\n\nПароль должен состоять из латинских букв и цифр\n размером от 6 до 15 символов", "Вход", "Отмена");
format(query, sizeof(query), "UPDATE "TABLE_ADMIN" SET password = '%s' WHERE Name = '%s' LIMIT 1", pass2, PlayerInfo[playerid][pNormalName]);
mysql_query(query);
SendClientMessage(playerid, COLOR_GREEN, "Поздравляем! Вы получили доступ модератора");
PlayerInfo[playerid][pAdmin] = level;
dostup[playerid] = 1;
format(string, 90, "<ALogin> вошел %s[%d]", PlayerInfo[playerid][pNormalName], playerid);
ABroadCast(0xF4B800AA, string);
return true;
}
else if(GetPVarInt(playerid, "Alogin") == 2)
{
if(strcmp(inputtext, GetAdmin(PlayerInfo[playerid][pNormalName], "password"), true)) return SendClientMessage(playerid, COLOR_GREY, "Вы ввели неверный пароль");
SCM(playerid, 0xF4B800AA, "Вы авторизировались как модератор %d уровня", level);
PlayerInfo[playerid][pAdmin] = level;
dostup[playerid] = 1;
format(string, 90, "<ALogin> вошел %s[%d]", PlayerInfo[playerid][pNormalName], playerid);
ABroadCast(0xF4B800AA, string,1);
}
}