New_Pwn
Новичок
Сделал систему смена Ника (MySQL r8)
Проблема в том, что не работает проверка: "Есть ли такой Ник в БД"
Код:
P.S: Если такой Ник уже есть в БД, то напишет: Аккаунт с таким именем уже существует.
А если нету, то напишет в консоль: "Такого аккаунта нету, продолжаем Смену Ника", НО ник не сменится.
Проблема в том, что не работает проверка: "Есть ли такой Ник в БД"
Код:
PHP:
case d_menu_p_a+2:
{
switch(inputtext[playerid])
{
case 'А'..'Я', 'а'..'я', ' ':
return ShowPlayerDialog(playerid,11,DIALOG_STYLE_INPUT,"{FF0000}Ошибка!","{FFFFFF}В Нике не должно быть русских букв!\nИспользуйте только английские буквы и некоторые символы.\nВведите Ник ещё раз","Сменить","Назад");
}
if(!strlen(inputtext) || strlen(inputtext) < 4 || strlen(inputtext) > 20) return ShowPlayerDialog(playerid,11,DIALOG_STYLE_INPUT,"{FF0000}Ошибка!","{FFFFFF}В Нике не должно быть меньше 4 и больше 22 символов!\nИспользуйте только английские буквы и символы.\nВведите Ник ещё раз","Сменить","Назад");
if(!strlen(inputtext)) return ShowPlayerDialog(playerid,11,DIALOG_STYLE_INPUT,"{FFFFFF}Смена Ника","{FFFFFF}Нельзя оставить поле пустым.","Сменить","Назад");
format(query, sizeof(query), "select * from "#TABLE_ACCOUNTS" where `Name`='%s'", inputtext), \
mysql_function_query(handle, query, true, "OnPlayerDataLoad", "");
}
PHP:
forward OnPlayerDataLoad(playerid, inputtext);
public OnPlayerDataLoad(playerid, inputtext)
{
new rows, fields, query[120];
cache_get_data(rows, fields);
if(!rows)
{
printf("Такого аккаунта нету, продолжаем Смену Ника",name);
format(query, sizeof(query), "UPDATE "TABLE_ACCOUNTS" SET `Name`='%s' WHERE `Name`='%s'", inputtext, pInfo[Name][playerid]);
mysql_function_query(handle, query, true, "", "d", playerid);
format(query, sizeof(query), "Ваш ник Успешно изменен на: %s\nНе забудьте прописать Ваш новый ник в Клиенте", inputtext);
SendClientMessage(playerid, 0xFF0000AA, query);
GKick(playerid);
format(query,sizeof(query),"[Server System] Игрок %s сменил имя на %s",pInfo[Name][playerid],inputtext);
SendClientMessageToAll(0xFF0000AA,query);
format(query,sizeof(query),"[Server System] Игрок %s сменил имя на %s",pInfo[Name][playerid],inputtext);
printf(query);
}
else
{
print("Такой Аккаунт уже есть, запрещаем выполнение Смены Ника");
return SendClientMessageToAll(0xFF0000AA,"Аккаунт с таким именем уже существует.");
}
return 1;
}
А если нету, то напишет в консоль: "Такого аккаунта нету, продолжаем Смену Ника", НО ник не сменится.
