Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 14
  1. #1
    Аватар для Gressie
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.05.2013
    Сообщений
    258
    Репутация:
    6 ±

    Нет диалога регистрации / авторизации

    Приветствую, ещё раз. Нету диалога регистрации / авторизации мод MySQL R38.
     MySQL Log
    [15:18:41] [DEBUG] mysql_connect - host: "127.0.0.1", user: "root", database: "database", password: "****", port: 3306, autoreconnect: true, pool_size: 2
    [15:18:41] [DEBUG] CMySQLHandle::Create - creating new connection..
    [15:18:41] [DEBUG] CMySQLHandle::CMySQLHandle - constructor called
    [15:18:41] [DEBUG] CMySQLHandle::Create - connection created (id: 1)
    [15:18:41] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
    [15:18:41] [DEBUG] CMySQLConnection::Connect - connection was successful
    [15:18:41] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
    [15:18:41] [DEBUG] mysql_set_charset - charset: "cp1251_general_ci", connection: 1
    [15:18:41] [DEBUG] CMySQLConnection::SetCharset - setting charset "cp1251_general_ci"
    [15:18:41] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
    [15:18:41] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
    [15:18:41] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
    [15:18:41] [DEBUG] CMySQLConnection::Connect - connection was successful
    [15:18:41] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
    [15:18:41] [DEBUG] CMySQLConnection::SetCharset - setting charset "cp1251_general_ci"
    [15:18:41] [DEBUG] CMySQLConnection::Connect - connection was successful
    [15:18:41] [DEBUG] CMySQLConnection::Connect - connection was successful
    [15:18:41] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
    [15:18:41] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
    [15:18:41] [DEBUG] CMySQLConnection::SetCharset - setting charset "cp1251_general_ci"
    [15:18:41] [DEBUG] CMySQLConnection::SetCharset - setting charset "cp1251_general_ci"
    [15:19:24] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `acc` WHERE `Name` = 'e'", callback: "CheckRegistration", format: "u"
    [15:19:24] [DEBUG] CMySQLQuery::Execute[CheckRegistration] - starting query execution
    [15:19:24] [DEBUG] CMySQLQuery::Execute[CheckRegistration] - query was successfully executed within 0.357 milliseconds
    [15:19:24] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
    [15:19:24] [DEBUG] Calling callback "CheckRegistration"..
    [15:19:24] [DEBUG] cache_get_data - connection: 1
    [15:19:24] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
    [15:19:33] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `acc` WHERE `Name` = 'e'", callback: "CheckRegistration", format: "u"
    [15:19:33] [DEBUG] CMySQLQuery::Execute[CheckRegistration] - starting query execution
    [15:19:33] [DEBUG] CMySQLQuery::Execute[CheckRegistration] - query was successfully executed within 0.515 milliseconds
    [15:19:33] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
    [15:19:33] [DEBUG] Calling callback "CheckRegistration"..
    [15:19:33] [DEBUG] cache_get_data - connection: 1
    [15:19:33] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
    [15:19:33] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `acc` WHERE `Name` = 'e'", callback: "CheckRegistration", format: "u"
    [15:19:33] [DEBUG] CMySQLQuery::Execute[CheckRegistration] - starting query execution
    [15:19:33] [DEBUG] CMySQLQuery::Execute[CheckRegistration] - query was successfully executed within 0.486 milliseconds
    [15:19:33] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
    [15:19:33] [DEBUG] Calling callback "CheckRegistration"..
    [15:19:33] [DEBUG] cache_get_data - connection: 1
    [15:19:33] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
    [15:19:34] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `acc` WHERE `Name` = 'e'", callback: "CheckRegistration", format: "u"
    [15:19:34] [DEBUG] CMySQLQuery::Execute[CheckRegistration] - starting query execution
    [15:19:34] [DEBUG] CMySQLQuery::Execute[CheckRegistration] - query was successfully executed within 0.290 milliseconds
    [15:19:34] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
    [15:19:34] [DEBUG] Calling callback "CheckRegistration"..
    [15:19:34] [DEBUG] cache_get_data - connection: 1
    [15:19:34] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
    [15:19:34] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `acc` WHERE `Name` = 'e'", callback: "CheckRegistration", format: "u"
    [15:19:34] [DEBUG] CMySQLQuery::Execute[CheckRegistration] - starting query execution
    [15:19:34] [DEBUG] CMySQLQuery::Execute[CheckRegistration] - query was successfully executed within 0.361 milliseconds
    [15:19:34] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
    [15:19:34] [DEBUG] Calling callback "CheckRegistration"..
    [15:19:34] [DEBUG] cache_get_data - connection: 1
    [15:19:34] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
    [15:19:45] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE acc SET `Skin` = '0' `Cash` = '0' `Bank` = '0' WHERE `Nam", callback: "(null)", format: "(null)"
    [15:19:45] [DEBUG] CMySQLQuery::Execute[] - starting query execution

    OnPlayerRequestClass:
    PHP код:
    format(Querysizeof(Query), "SELECT * FROM `"TABLE_ACCOUNTS"` WHERE `Name` = '%e'"PlayerInfo[playerid][pName]);
    mysql_function_query(HandleQuerytrue"CheckRegistration""u"playerid); 
    Сама CheckRegistration:
    PHP код:
    public CheckRegistration(playerid)
    {
        new 
    rowsfields;
        
    cache_get_data(rowsfields);
        if(
    rows)
        {
            
    format(stringsizeof(string), "Мы нашли вас в нашей базе данных,\n * Ваш логин: %s\nВведите ваш пароль",PlayerInfo[playerid][pName]);
            
    ShowPlayerDialog(playeridD_LOGINDIALOG_STYLE_INPUT"Авторизация"string"Выбрать""Отмена");
            
    SendClientMessage(playerid0xffffff00"Введите ваш пароль который вы вводили в регистрации!");
        }
        else
        {
            
    format(stringsizeof(string), "Мы не нашли вас в нашей базе данных,\n * Ваш логин: %s\nВведите ваш новый пароль",PlayerInfo[playerid][pName]);
            
    ShowPlayerDialog(playeridD_REGDIALOG_STYLE_INPUT"Авторизация"string"Выбрать""Отмена");
            
    SendClientMessage(playerid0xffffff00"Введите пароль который вы хотите дать своему персонажу!");
        }
        return 
    true;

    Диалоги:
    PHP код:
    case D_LOGIN:
            {
                if(!
    response) return Kick(playerid);
                if(!
    strlen(inputtext))
                {
                    
    format(string150"Мы нашли вас в нашей базе данных,\n * Ваш логин: %s\nВведите ваш пароль",PlayerInfo[playerid][pName]);
                    
    ShowPlayerDialog(playeridD_LOGIN3"{ffffff}Авторизация"string"Принять","Отмена");
                }
                
    cache_get_field_content(0"Password"PlayerInfo[playerid][pPass], Handle124);
                if(!
    strcmp(inputtextPlayerInfo[playerid][pPass], true)) LoadAccount(playerid);
                else return 
    Kick(playerid);
            }
        case 
    D_REG:
            {
                if(!
    response) return Kick(playerid);
                if(!
    strlen(inputtext))
                {
                    
    format(stringsizeof(string), "Мы не нашли вас в нашей базе данных,\n * Ваш логин: %s\nВведите ваш новый пароль"PlayerInfo[playerid][pName]);
                    
    ShowPlayerDialog(playeridD_LOGIN3"{ffffff}Регистация"string"Принять","Отмена");
                }
                
    strmid(PlayerInfo[playerid][pPass], inputtext0strlen(inputtext), 32);
                
    CreateAccount(playeridPlayerInfo[playerid][pPass]);
                
    SendClientMessage(playerid, -1"Вы удачно зарегистрировались!");
            } 
    Остальные паблики:
    PHP код:
    public LoadAccountData(playerid)
    {
        new 
    rowsfields;
        
    cache_get_data(rowsfields);
        if(
    rows)
        {
            
    PlayerInfo[playerid][pModel] = cache_get_field_content_int(0"Skin"Handle);
            
    PlayerInfo[playerid][pCash] = cache_get_field_content_int(0"Cash"Handle);
            
    PlayerInfo[playerid][pBank] = cache_get_field_content_int(0"Bank"Handle);
            
    GivePlayerMoney(playeridPlayerInfo[playerid][pCash]);
        }
        return 
    true;
    }

    stock SavePlayer(playerid)
    {
        
    format(Querysizeof(Query), "UPDATE "TABLE_ACCOUNTS" SET `Skin` = '%d' `Cash` = '%d' `Bank` = '%d' WHERE `Name` = '%e'",
        
    PlayerInfo[playerid][pModel], PlayerInfo[playerid][pCash], PlayerInfo[playerid][pBank], PlayerInfo[playerid][pName]);
        
    mysql_function_query(HandleQueryfalse"""");
        return 
    true;
    }
    stock LoadAccount(playerid)
    {
        
    format(Query,sizeof(Query), "SELECT * FROM "TABLE_ACCOUNTS" WHERE `Name` = '%e' LIMIT 1",PlayerInfo[playerid][pName]);
        return 
    mysql_function_query(HandleQuerytrue"LoadAccountData""i"playerid);
    }

    stock CreateAccount(playeridpass[])
    {
        
    format(Querysizeof(Query), "INSERT INTO "TABLE_ACCOUNTS" (`Name`, `Password`, `Skin`, `Cash`, `Bank`) VALUES \
            ('%s', '%s', '%d', '%d', '%d')"
    PlayerInfo[playerid][pName], pass2300);
        
    mysql_function_query(HandleQueryfalse"""");
        
    SpawnPlayer(playerid);
        return 
    true;


  2. #2
    Аватар для Nurick
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.04.2014
    Адрес
    Уфа, Россия
    Сообщений
    319
    Репутация:
    52 ±
    Видел эту систему регистрации в public'e автор вроде печенга если не ошибаюсь. Так вот у него небыло самой базы данных и тебе встречный вопрос ты создал базу данных и подключил её??

    http://pastebin.com/dprwDrdP

  3. #3
    Аватар для Gressie
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.05.2013
    Сообщений
    258
    Репутация:
    6 ±
    Цитата Сообщение от Nurick Посмотреть сообщение
    Видел эту систему регистрации в public'e автор вроде печенга если не ошибаюсь. Так вот у него небыло самой базы данных и тебе встречный вопрос ты создал базу данных и подключил её??

    http://pastebin.com/dprwDrdP
    Да, подключил. Если нужно вот база:
    http://rghost.ru/55009829
    Последний раз редактировалось Gressie; 07.05.2014 в 18:53.

  4. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    PHP код:
    "SELECT * FROM `acc` WHERE `Name` = 'e'"callback"CheckRegistration"format"u" 
    По моему, на месте "e" и "u" должно находиться что-то другое, не? Соответственно, и параметры передаются совсем не те, что должны. Хотя могу ошибаться. Сделайте следующее:
    PHP код:
    format(Querysizeof(Query), "SELECT * FROM `"TABLE_ACCOUNTS"` WHERE `Name` = '%e'"PlayerInfo[playerid][pName]);
    printf("\nQuery - %s",Query);
    mysql_function_query(HandleQuerytrue"CheckRegistration""u"playerid); 
    И
    PHP код:
    public CheckRegistration(playerid

        new 
    rowsfields
        
    cache_get_data(rowsfields); 
        
    printf("CheckRegistration(%d) = %d | %d",playerid,rowsfields);
        if(
    rows
        { 
            
    format(stringsizeof(string), "Мы нашли вас в нашей базе данных,\n * Ваш логин: %s\nВведите ваш пароль",PlayerInfo[playerid][pName]); 
            
    ShowPlayerDialog(playeridD_LOGINDIALOG_STYLE_INPUT"Авторизация"string"Выбрать""Отмена"); 
            
    SendClientMessage(playerid0xffffff00"Введите ваш пароль который вы вводили в регистрации!"); 
        } 
        else 
        { 
            
    format(stringsizeof(string), "Мы не нашли вас в нашей базе данных,\n * Ваш логин: %s\nВведите ваш новый пароль",PlayerInfo[playerid][pName]); 
            
    ShowPlayerDialog(playeridD_REGDIALOG_STYLE_INPUT"Авторизация"string"Выбрать""Отмена"); 
            
    SendClientMessage(playerid0xffffff00"Введите пароль который вы хотите дать своему персонажу!"); 
        } 
        return 
    true

    После зайдите на сервер, дойдите до того момента, когда должна появиться регистрация и после скиньте логи сервера
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  5. #5
    Аватар для Gressie
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.05.2013
    Сообщений
    258
    Репутация:
    6 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    PHP код:
    "SELECT * FROM `acc` WHERE `Name` = 'e'"callback"CheckRegistration"format"u" 
    По моему, на месте "e" и "u" должно находиться что-то другое, не? Соответственно, и параметры передаются совсем не те, что должны. Хотя могу ошибаться. Сделайте следующее:
    PHP код:
    format(Querysizeof(Query), "SELECT * FROM `"TABLE_ACCOUNTS"` WHERE `Name` = '%e'"PlayerInfo[playerid][pName]);
    printf("\nQuery - %s",Query);
    mysql_function_query(HandleQuerytrue"CheckRegistration""u"playerid); 
    И
    PHP код:
    public CheckRegistration(playerid

        new 
    rowsfields
        
    cache_get_data(rowsfields); 
        
    printf("CheckRegistration(%d) = %d | %d",playerid,rowsfields);
        if(
    rows
        { 
            
    format(stringsizeof(string), "Мы нашли вас в нашей базе данных,\n * Ваш логин: %s\nВведите ваш пароль",PlayerInfo[playerid][pName]); 
            
    ShowPlayerDialog(playeridD_LOGINDIALOG_STYLE_INPUT"Авторизация"string"Выбрать""Отмена"); 
            
    SendClientMessage(playerid0xffffff00"Введите ваш пароль который вы вводили в регистрации!"); 
        } 
        else 
        { 
            
    format(stringsizeof(string), "Мы не нашли вас в нашей базе данных,\n * Ваш логин: %s\nВведите ваш новый пароль",PlayerInfo[playerid][pName]); 
            
    ShowPlayerDialog(playeridD_REGDIALOG_STYLE_INPUT"Авторизация"string"Выбрать""Отмена"); 
            
    SendClientMessage(playerid0xffffff00"Введите пароль который вы хотите дать своему персонажу!"); 
        } 
        return 
    true

    После зайдите на сервер, дойдите до того момента, когда должна появиться регистрация и после скиньте логи сервера
    Зашёл, вот лог:
      Открыть/закрыть
    SA-MP Dedicated Server
    ----------------------
    v0.3z, (C)2005-2014 SA-MP Team

    [18:34:42] filterscripts = "" (string)
    [18:34:42]
    [18:34:42] Server Plugins
    [18:34:42] --------------
    [18:34:42] Loading plugin: mysql.dll
    [18:34:42] >> plugin.mysql: R38 successfully loaded.
    [18:34:42] Loaded.
    [18:34:42] Loaded 1 plugins.

    [18:34:42]
    [18:34:42] Filterscripts
    [18:34:42] ---------------
    [18:34:42] Loaded 0 filterscripts.



    [18:34:42] Number of vehicle models: 0
    [18:35:12] Incoming connection: 127.0.0.1:53993
    [18:35:13] [join] Niko_Rich has joined the server (0:127.0.0.1)
    [18:35:13]
    Query - SELECT * FROM `acc` WHERE `Name` = 'e'
    [18:35:13] CheckRegistration(190736) = 0 | 5
    [18:35:26] [part] Niko_Rich has left the server (0:1)

  6. #6
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Ну вот. В общем, попробуйте:

    PHP код:
    format(Querysizeof(Query), "SELECT * FROM `"TABLE_ACCOUNTS"` WHERE `Name` = '%s'"PlayerInfo[playerid][pName]);
    mysql_function_query(HandleQuerytrue"CheckRegistration""i"playerid); 
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  7. #7
    Аватар для Kenny_Dalglish
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    24.02.2014
    Сообщений
    179
    Репутация:
    -1 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Ну вот. В общем, попробуйте:

    PHP код:
    format(Querysizeof(Query), "SELECT * FROM `"TABLE_ACCOUNTS"` WHERE `Name` = '%s'"PlayerInfo[playerid][pName]);
    mysql_function_query(HandleQuerytrue"CheckRegistration""i"playerid); 
    Ну или '%e' вместо '%s'

  8. #8
    Аватар для Gressie
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.05.2013
    Сообщений
    258
    Репутация:
    6 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Ну вот. В общем, попробуйте:

    PHP код:
    format(Querysizeof(Query), "SELECT * FROM `"TABLE_ACCOUNTS"` WHERE `Name` = '%s'"PlayerInfo[playerid][pName]);
    mysql_function_query(HandleQuerytrue"CheckRegistration""i"playerid); 
    Заработало. Но при авторизации ввожу пароль, диалог пропадает. И дальше ничего

  9. #9
    Аватар для Kenny_Dalglish
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    24.02.2014
    Сообщений
    179
    Репутация:
    -1 ±
    Цитата Сообщение от Maks5 Посмотреть сообщение
    Заработало. Но при авторизации ввожу пароль, диалог пропадает. И дальше ничего
    cache_get_field_content(0, "Password", PlayerInfo[playerid][pPass], Handle, 124);
    if(!strcmp(inputtext, PlayerInfo[playerid][pPass], true)) LoadAccount(playerid);
    Мне интресно откуда pPass грузит? если его в LoadAccount если я не ошибаюсь.

  10. #10
    Аватар для Gressie
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.05.2013
    Сообщений
    258
    Репутация:
    6 ±
    Цитата Сообщение от Kenny_Dalglish Посмотреть сообщение
    cache_get_field_content(0, "Password", PlayerInfo[playerid][pPass], Handle, 124);
    if(!strcmp(inputtext, PlayerInfo[playerid][pPass], true)) LoadAccount(playerid);
    Мне интресно откуда pPass грузит? если его в LoadAccount если я не ошибаюсь.
    Сразу загружается.

 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •