Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 14
  1. #1
    Аватар для Maks5
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.05.2013
    Сообщений
    242
    Репутация:
    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
    Адрес
    Уфа, Россия
    Сообщений
    313
    Репутация:
    51 ±
    Видел эту систему регистрации в public'e автор вроде печенга если не ошибаюсь. Так вот у него небыло самой базы данных и тебе встречный вопрос ты создал базу данных и подключил её??

    http://pastebin.com/dprwDrdP

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

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

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

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    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

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

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    03.05.2013
    Сообщений
    242
    Репутация:
    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
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Ну вот. В общем, попробуйте:

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

    Широко известно, что идеи стоят 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
    Аватар для Maks5
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.05.2013
    Сообщений
    242
    Репутация:
    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
    Аватар для Maks5
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.05.2013
    Сообщений
    242
    Репутация:
    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 12 ПоследняяПоследняя

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

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

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

Ваши права

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