yoburg
Новичок
Здравствуйте. У меня проблема с вводом пароля в моде Funny. Дело в том, что если у вас пароль начинается с большой буквы, то вы можете ввести его с маленькой и всё равно зайдёте на сервер. Хотя проверка вроде как есть. Помогите пожалуйста.
Это вот диалог:
Вот паблик:
public PlayerLogin(playerid)
Скинул всё, что связано с авторизацией
Это вот диалог:
PHP:
if(dialogid == 0)
{
if(response)
{
if(strlen(inputtext) != 0)
{
new pname2[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname2, MAX_PLAYER_NAME);
new sasdad [144], temp [32] ;
mysql_real_escape_string (inputtext, temp) ;
format(sasdad, sizeof sasdad, "SELECT * FROM `accounts` WHERE `name` = '%s' AND `password` = '%s' LIMIT 1", PlayerInfo[playerid][pName] , temp) ;//Выводим в коллбэк аккаун где логин и пароль равны имени игрока и введённому паролю
mysql_pquery(dbHandle, sasdad, "PlayerLogin", "i", playerid);
}
else
{
new pname2[36];
GetPlayerName(playerid, pname2, 36);
new ipss[21];
GetPlayerIp(playerid, ipss, sizeof(ipss));
format(query,sizeof(query),"{FFFFFF}Добро пожаловать на сервер Funny RolePlay\nВаш ник зарегистрирован\n\nЛогин: {66CC33}%s\n{FFFFFF}Введите пароль:", pname2, ipss);
ShowPlayerDialog(playerid,0,DIALOG_STYLE_INPUT,"{66CCFF}Авторизация",query,"Войти","Отмена");
}
}
else
{
SendClientMessage(playerid, 0x99FF00AA,"Вы отказались от авторизации и были кикнуты");
KickEx(playerid);
}
}
Вот паблик:
PHP:
forward CheckPlayerRegistered(playerid);
public CheckPlayerRegistered(playerid)
{
new rows, fields ;
cache_get_data (rows, fields) ;
if ( rows )
{
AC[playerid][pTimerAC] = 30;
new ipss[21];
GetPlayerIp(playerid, ipss, sizeof(ipss));
format(query,sizeof(query),"{FFFFFF}Добро пожаловать на сервер Funny RolePlay\nВаш ник зарегистрирован\n\nЛогин: {66CC33}%s\n{FFFFFF}Введите пароль:", PlayerInfo[playerid][pName], ipss);
ShowPlayerDialog(playerid,0,DIALOG_STYLE_INPUT,"{66CCFF}Авторизация",query,"Войти","Отмена");
Logged[playerid] = false;
}
else
{
AC[playerid][pTimerAC] = 999;
format(query,sizeof(query),"{FFFFFF}Добро пожаловать на сервер Funny RolePlay\nЧтобы начать игру Вам необходимо пройти регистрацию\n\nВведите пароль для Вашего аккаунта\nОн будет запрашиваться каждый раз, когда вы заходите на сервер\n\n{66CC33} Примечания:\n - Пароль может состоять из латинских букв и цифр\n - Пароль чувствителен к регистру\n - Длина пароля от 6-ти до 20-ти символов");
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"{0099FF}Регистрация",query,"Ок","Отмена");
Logged[playerid] = false;
}
return 1;
}
public PlayerLogin(playerid)
PHP:
format(query,sizeof(query),"UPDATE `accounts` SET `current_id` = '%d' WHERE `IDacc` = '%d'",playerid,PlayerInfo[playerid][pIDacc]);
mysql_function_query(dbHandle,query,false,"","");
if(PlayerInfo[playerid][pAdmin] > 1)
{
switch(PlayerInfo[playerid][pAdmin])
{
case 1: SendClientMessage(playerid, CYELLOW, "Вы вошли как администратор первого уровня");
case 2: SendClientMessage(playerid, CYELLOW, "Вы вошли как администратор второго уровня");
case 3: SendClientMessage(playerid, CYELLOW, "Вы вошли как администратор третьего уровня");
case 4: SendClientMessage(playerid, CYELLOW, "Вы вошли как администратор четвёртого уровня");
default: SendClientMessage(playerid, CYELLOW,"Вы вошли как главный администратор");
}
for(new i; i < 10; i++)
{
TextDrawShowForPlayer(playerid, CheatShow[0][i]);
TextDrawShowForPlayer(playerid, CheatShow[1][i]);
}
}
CheckAccount(playerid);
}
else
{
AC[playerid][pTimerAC] = 30;
format(query,sizeof(query),"{FFFFFF}Добро пожаловать на сервер Funny RolePlay\nВаш ник зарегистрирован\n\nЛогин: {66CC33}%s\n{FF3300}Вы ввели неверный пароль\n{FFFFFF}Введите пароль в окошко ниже:", PlayerInfo[playerid][pName]);
PlayerPlaySound(playerid, 1053, 0.0, 0.0, 0.0);
ShowPlayerDialog(playerid,0,DIALOG_STYLE_INPUT,"{66CCFF}Авторизация",query,"Войти","Отмена");
}
return true;
}
Последнее редактирование:
