Question

John_Silver
Новичок

Всем привет! Начал я делать сервер с нуля, сделал регистрацию, но на авторизации вылезла (Слово удалено системой), я 20 раз пересмотрел код и не нашел нигде ошибку, может кто сможет помочь?

 

Спойлер

DialogCreate:PlayerRegistText(playerid)
{
    new string[500];
    format(string, sizeof string,
    "{FFFFFF}\tДобро пожаловать на {ffa500}Visonfa Role-Play!{FFFFFF}\n\
    Данный аккаунт еще не зарегестрирован на нашем сервере\n\
    Для регистрации придумайте пароль и введите его в поле ниже\n\
    \tВаш никнейм: {008000}%s{ffffff}\n\n\
    {FFFF00}• Длинна пароля должна быть от 6 до 32 символов\n\
    • В пароле должны быть только цифры и латинские символы\n\
    • Пароль должен быть надежным",
    Player[playerid][p_name]);
    Dialog_Open(playerid, "PlayerRegist", DSI, "{FFFFFF}Регистрация | {ffa500}Visonfa Role-Play", string, "Далее""Выход");
    return 1;
}

DialogResponse:PlayerRegist(playerid, response, listitem, inputtext[])
{
    if(!response)
    {
        SCM(playerid, -1"Вы прервали регистрацию!");
        return KickEx(playerid);
    }
    new len = strlen(inputtext);
    if(len < 6)
    {
        Dialog_Show(playerid, "PlayerRegistText");
        return SCM(playerid, -1"Длинна пароля должна быть от 6 до 32 символов");
    }
    if(len > 32)
    {
         Dialog_Show(playerid, "PlayerRegistText");
        return SCM(playerid, -1"Длинна пароля должна быть от 6 до 32 символов");
    }
    format(temp_PlayerPassword[playerid], 32, inputtext);
    Dialog_Open(playerid, "PlayerRegistGender", DSM, "{FFFFFF}Регистрация | {ffa500}Visonfa Role-Play""{FFFFFF}Выберите пол вашего персонажа""Мужской""Женский");
    return 1;
}

DialogResponse:PlayerRegistGender(playerid, response, listitem, inputtext[])
{
    new string[500];

    new MaleSkin[] = {2315};
    new FamSkin[] = {394164};
    new skin = response ? MaleSkin[random(sizeof(MaleSkin))] : FamSkin[random(sizeof(FamSkin))];

    mysql_format(connect, string, sizeof string,
    "INSERT INTO `users`(`id`, `name`, `password`, `reg_ip`, `reg_data`, `gender`, `skin`) VALUES (NULL, '%s', '%s', '%s', '%d', '%d', '%d')",
    Player[playerid][p_name], temp_PlayerPassword[playerid], Player[playerid][p_ip], gettime(), response, skin);
    mysql_query(connect, string);
    Player[playerid][p_id] = cache_insert_id();
    format(string, sizeof string, "SELECT * FROM `users` WHERE `id`='%d'", Player[playerid][p_id]);
    mysql_tquery(connect, string, "LoadPlayerData""d", playerid);
     SCM(playerid, 0x00FF00FF"Вы успешно прошли регистрацию!");
    return 1;
}

// - Авторизация

DialogCreate:PlayerLoginText(playerid)
{
    new string[500];
    format(string, sizeof string,
    "{FFFFFF}\tДобро пожаловать на {ffa500}Visonfa Role-Play!{FFFFFF}\n\
    Данный аккаунт зарегестрирован на нашем сервере\n\
    Для авторизации введите пароль в поле ниже\n\
    \tВаш никнейм: {008000}%s{ffffff}\n\n",
    Player[playerid][p_name]);
    Dialog_Open(playerid, "PlayerLogin", DSP, "{FFFFFF}Авторизация | {ffa500}Visonfa Role-Play", string, "Ввод""Выход");
    return 1;
}

DialogResponse:PlayerLogin(playerid, response, listitem, inputtext[])
{
    if(!response)
    {
        SCM(playerid, -1"Вы прервали регистрацию!");
        return KickEx(playerid);
    }
    new string[300];
    mysql_format(connect, string, sizeof string, "SELECT 1 FROM `users` WHERE `name`='%s' AND `password`='%s'", Player[playerid][p_name], temp_PlayerPassword[playerid]);
    new Cache:cache = mysql_query(connect, string);
    if(cache_get_row_count(connect) <= 0)
    {
        new count = GetPVarInt(playerid, "PasswordCount");
        count++;
        if(count >= 3)
        {
            SCM(playerid, -1"Вы ввели неверно пароль 3 раза");
            return KickEx(playerid);
        }
        format(string, sizeof string, "Вы ввели неверно пароль! Попыток: %d/3"3 - count);
        SCM(playerid, -1, string);
        SetPVarInt(playerid, "PasswordCount", count);
        Dialog_Show(playerid, "PlayerLogintText");
        return cache_delete(cache);
    }
    cache_delete(cache);
    format(string, sizeof string, "SELECT * FROM `users` WHERE `name`='%s'", Player[playerid][p_name]);
    mysql_tquery(connect, string, "LoadPlayerData""d", playerid);
    return 1;
}

 

 

Edited by Cawfee

Share this post


Link to post

1 answer to this question

  • 0
dmitryan
Новичок

Привет, не потерял ли ты надежду)
 

Спойлер

DialogResponse:PlayerLogin(playerid, response, listitem, inputtext[])
{
    if(!response)
    {
        SCM(playerid, -1"Вы прервали регистрацию!");
        return KickEx(playerid);
    }
    format(temp_PlayerPassword[playerid], 32, inputtext);

    new string[300];
    mysql_format(connect, string, sizeof string, "SELECT 1 FROM `users` WHERE `name`='%s' AND `password`='%s'", Player[playerid][p_name], temp_PlayerPassword[playerid]);
    new Cache:cache = mysql_query(connect, string);
    if(cache_get_row_count(connect) <= 0)
    {
        new count = GetPVarInt(playerid, "PasswordCount");
        count++;
        if(count >= 3)
        {
            SCM(playerid, -1"Вы ввели неверно пароль 3 раза");
            return KickEx(playerid);
        }
        format(string, sizeof string, "Вы ввели неверно пароль! Попыток: %d/3"3 - count);
        SCM(playerid, -1, string);
        SetPVarInt(playerid, "PasswordCount", count);
        Dialog_Show(playerid, "PlayerLoginText"); 
        return cache_delete(cache);
    }
    cache_delete(cache);
    format(string, sizeof string, "SELECT * FROM `users` WHERE `name`='%s'", Player[playerid][p_name]);
    mysql_tquery(connect, string, "LoadPlayerData""d", playerid);
    return 1;
}

 

 

'PlayerLogintText' на 'PlayerLoginText' поменяй в dialog_show, опечатка

Edited by Cawfee

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • ВасилийСталин
      By ВасилийСталин
      VERDICT PROJECT - V:ACE
       
      Соревновательный проект на платформе SA-MP, вдохновлённый духом Counter-Strike: тактические перестрелки, честный рейтинг и ванильное PVP.
      В разработке, не используются ресурсы, из открытых источников. Всё строится с нуля, собственный игровой мод, полностью кастомный интерфейс и игровой лаунчер.
      Что мы разрабатываем:
       
      - Рейтинговый режим с подбором по ELO. Равные соперники, честные матчи, путь от новичка до вершины таблицы.
      - Полностью кастомный интерфейс (CEF): меню, лобби, магазин и статистика такого уровня, какого на SA-MP почти не встретишь.
      - Легионеры - уникальные оперативники с индивидуальным дизайном и редкостью, открываются через боевой пропуск или чёрные ячейки (кейсы).
      - Скины на оружие и кейсы - коллекционная система в духе CS. -> В активной разработке
      - Киберспортивные команды: теги, ростеры, матчи команда против команды.
      - Тренировка аима, система рангов, ежедневные награды и не только.
       
      Продуманный баланс и внимание к деталям ванильного сражения - то, ради чего мы за это взялись.
      Проект уже на серьёзной стадии разработки. Мы открываем сообщество раньше официального анонса, чтобы первые скриншоты, новости и дата старта достались тем, кто был с нами с самого начала. Мы всегда рады открытой критике, или советам - сделаем игру лучше для всех!
      Подписывайтесь, чтобы не пропустить официальное заявление о запуске и первые материалы проекта.
       
      Группа VK: https://vk.ru/verdictcs
      Официальная почта: verdictproject@mail.ru
    • Kevin_McCarthy
      By Kevin_McCarthy
      🔒 ОТКРЫТИЕ НАБОРА НА ЗАКРЫТОЕ БЕТА-ТЕСТИРОВАНИЕ (ЗБТ)!
      Друзья! Мы выходим на самый ответственный этап разработки Brilliant RP. Проект уже практически готов к полноценному запуску, но перед тем как открыть двери для всех игроков, нам нужно тщательно проверить каждую систему, каждую работу и каждую строчку кода.
      Именно поэтому мы объявляем о старте Закрытого Бета-Тестирования!
      🏆 ТОП-3 ТЕСТЕРА ПОЛУЧАТ КРУТЫЕ ПРИЗЫ!
      Мы высоко ценим время и вклад каждого участника. Тестеры, которые проявят наибольшую активность, найдут больше всего уникальных багов и подробно опишут их в нашей Google-форме, получат ценные награды:
      🥇 1 МЕСТО: 3000 рублей на кошелек, 100.000$ игровой валюты, и Diamond VIP на 30 дней
      🥈 2 МЕСТО: 2000 рублей на кошелек, 75.000$ игровой валюты, и Diamond VIP на 30 дней
      🥉 3 МЕСТО: 1000 рублей на кошелек, 50.000$ игровой валюты, и Diamond VIP на 30 дней
      📝 Как стать участником ЗБТ?
      Заполни заявку на участие: 👉 https://vk.ru/gtasamp_brilliantrp
      Дождись одобрения.
    • OOLOAIS
      By OOLOAIS
      Ищу скрипт для самп/crmp который может скопировать акссесуары с аризоны/родины пж помогите