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

    Статус
    Оффлайн
    Регистрация
    08.01.2017
    Сообщений
    67
    Репутация:
    2 ±

    Проблема с авторизацией

    здравствуйте ув. пользователи pro-pawn
    помогите пожалуйста
    когда ввожу в поле ввода этот символ - \ пропадает диалог и больше ничего не происходит
    когда ввожу другие все нормально

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Может покажешь код?
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  3. Пользователь сказал cпасибо:
    f55555 (14.05.2017)
  4. #3
    Аватар для f55555
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    08.01.2017
    Сообщений
    67
    Репутация:
    2 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Может покажешь код?

    http://pawno-info.ru/showthread.php?t=295507&attempt=1 регистрация авторизация с данного урока
    не реклама извините

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Публикация ссылок на другие форумы разрешена (п.3), если это не спам, так что не нужно постоянно писать "не реклама" :)

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

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

    Steve Pavlina

  6. Пользователь сказал cпасибо:
    f55555 (14.05.2017)
  7. #5
    Аватар для f55555
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    08.01.2017
    Сообщений
    67
    Репутация:
    2 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Публикация ссылок на другие форумы разрешена (п.3), если это не спам, так что не нужно постоянно писать "не реклама" :)

    Дай код, что сейчас есть у тебя, а не код из урока.
    Нужен код диалогов самих
    деймос спасибо что всегда помогаете !

    PHP код:
    public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
    {
        switch(
    dialogid)
        {
            case 
    0:
            {
                if(!
    response)
                    return 
    Kick(playerid);
                if(!
    strlen(inputtext))
                {
                    static const 
    fmt_str[] =
                    
    "\
                        {F2BC58}%s{FFFFFF}, добро пожаловать на {F2BC58}Server-Rp.Ru{FFFFFF}.\
                        \nВаш аккаунт не найден в базе данных, поэтому Вам\
                        \nнужно пройти регистрацию. Введите пароль в поле.\
                    "
    ;
                    new 
    string[sizeof(fmt_str) - MAX_PLAYER_NAME];
                    
    format(stringsizeof(string), fmt_strp_i[playerid][p_name]);
                    
    ShowPlayerDialog(playerid0DIALOG_STYLE_INPUT"{F2BC58}Регистрация."string"Далее""");
                    return 
    1;
                }
                if(
    strlen(inputtext) < || strlen(inputtext) > 20)
                    return 
    ShowPlayerDialog(playerid0DIALOG_STYLE_MSGBOX"{F2BC58}Регистрация.""{FFFFFF}Пароль должен содержать от 6 до 20 символов и букв.""Далее""");
                for(new 
    strlen(inputtext); != 0; --i)
                switch(
    inputtext[i])
                {
                    case 
    'А'..'Я''а'..'я'' ':
                        return 
    ShowPlayerDialog(playerid0DIALOG_STYLE_MSGBOX"{F2BC58}Регистрация.""{FFFFFF}Ваш пароль не должен содержать русских букв.""Далее""");
                }
                
    strmid(p_i[playerid][p_password], inputtext0strlen(inputtext), 20);
                
    ShowPlayerDialog(playerid1DIALOG_STYLE_INPUT"{F2BC58}Регистрация.""{FFFFFF}Введите Ваш действующий электронный адрес.""Далее""");
            }
            case 
    1:
            {
                if(!
    response)
                    return 
    Kick(playerid);
                if(!
    strlen(inputtext))
                    return 
    ShowPlayerDialog(playerid1DIALOG_STYLE_INPUT"{F2BC58}Регистрация.""{FFFFFF}Введите Ваш действующий электронный адрес.""Далее""");
                if(
    strlen(inputtext) < 10 || strlen(inputtext) > 50)
                    return 
    ShowPlayerDialog(playerid1DIALOG_STYLE_MSGBOX"{F2BC58}Регистрация.""{FFFFFF}Почта должна содержать от 10 до 50 символов и букв.""Далее""");
                for(new 
    strlen(inputtext); != 0; --i)
                switch(
    inputtext[i])
                {
                    case 
    'А'..'Я''а'..'я'' ':
                        return 
    ShowPlayerDialog(playerid1DIALOG_STYLE_MSGBOX"{F2BC58}Регистрация.""{FFFFFF}Ваша почта не должна содержать русских букв.""Далее""");
                }
                
    strmid(p_i[playerid][p_email], inputtext0strlen(inputtext), 50);
                
    ShowPlayerDialog(playerid2DIALOG_STYLE_INPUT"{F2BC58}Регистрация.""{FFFFFF}Введите ник игрока, который пригласил Вас на наш сервер.""Далее""");
            }
            case 
    2:
            {
                if(!
    response)
                    return 
    Kick(playerid);
                if(!
    strlen(inputtext))
                    return 
    ShowPlayerDialog(playerid2DIALOG_STYLE_INPUT"{F2BC58}Регистрация.""{FFFFFF}Введите ник игрока, который пригласил Вас на наш сервер.""Далее""");
                if(
    strlen(inputtext) < || strlen(inputtext) > 24)
                    return 
    ShowPlayerDialog(playerid2DIALOG_STYLE_INPUT"{F2BC58}Регистрация.""{FFFFFF}Введите ник игрока, который пригласил Вас на наш сервер.""Далее""");
                
    strmid(p_i[playerid][p_referral], inputtext0strlen(inputtext), MAX_PLAYER_NAME);
                
    ShowPlayerDialog(playerid3DIALOG_STYLE_MSGBOX"{F2BC58}Регистрация.""{FFFFFF}Выберите Ваш пол.""Мужской""Женский");
            }
            case 
    3:
            {
                if(!
    response)
                {
                    
    p_i[playerid][p_sex] = 1;
                    
    p_i[playerid][p_skin] = 13;
                }
                else
                {
                    
    p_i[playerid][p_sex] = 2;
                    
    p_i[playerid][p_skin] = 230;
                }
                
    p_i[playerid][p_score] = 1;
                
    authorization[playerid] = true;
                static const 
    fmt_str[] = "INSERT INTO `accounts` (`p_name`, `p_password`, `p_email`, `p_referral`, `p_sex`, `p_skin`, `p_score`) VALUES ('%s', '%s', '%s', '%s', '%d', '%d', '%d')";
                new 
    string[sizeof(fmt_str) - MAX_PLAYER_NAME 20 50 MAX_PLAYER_NAME 5];
                
    format(stringsizeof(string), fmt_strp_i[playerid][p_name], p_i[playerid][p_password], p_i[playerid][p_email], p_i[playerid][p_referral], p_i[playerid][p_sex], p_i[playerid][p_skin], p_i[playerid][p_score]);
                
    mysql_function_query(databasestring0"""");
                
    SpawnPlayer(playerid);
            }
            case 
    4:
            {
                if(!
    response)
                    return 
    Kick(playerid);
                if(!
    strlen(inputtext))
                {
                    static const 
    fmt_str[] =
                    
    "\
                        {F2BC58}%s{FFFFFF}, добро пожаловать на {F2BC58}Server-Rp.Ru{FFFFFF}.\
                        \nВаш аккаунт найден в базе данных, поэтому Вам нужно\
                        \nпройти авторизацию. Введите свой пароль в поле.\
                    "
    ;
                    new 
    string[sizeof(fmt_str) - MAX_PLAYER_NAME];
                    
    format(stringsizeof(string), fmt_strp_i[playerid][p_name]);
                    
    ShowPlayerDialog(playerid4DIALOG_STYLE_PASSWORD"{F2BC58}Авторизация."string"Далее""");
                    return 
    1;
                }
                static const 
    fmt_str[] = "SELECT * FROM `accounts` WHERE `p_name` = '%s' AND `p_password` = '%s'";
                new 
    string[sizeof(fmt_str) - MAX_PLAYER_NAME 20 1];
                
    format(stringsizeof(string), fmt_strp_i[playerid][p_name], inputtext);
                
    mysql_function_query(databasestring1"p_login""i"playerid);
            }
        }
        return 
    1;

    - - - Добавлено - - -

    можете еще подсказать
    куда лучше сделать анти-чит на деньги
    в OnPlayerUpdate или ежесекундный таймер
    Последний раз редактировалось f55555; 14.05.2017 в 19:46.

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

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    547
    Репутация:
    158 ±
    Цитата Сообщение от f55555 Посмотреть сообщение
    куда лучше сделать анти-чит на деньги
    в OnPlayerUpdate или ежесекундный таймер
    В OnPlayerUpdate у клиента не будут успевать синхронизироваться деньги после их выставления, так что однозначно таймер
    Последний раз редактировалось Nexius_Tailer; 14.05.2017 в 20:11. Причина: * после их выставления
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

  9. Пользователь сказал cпасибо:
    f55555 (14.05.2017)
  10. #7
    Аватар для f55555
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    08.01.2017
    Сообщений
    67
    Репутация:
    2 ±
    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    В OnPlayerUpdate у клиента не будут успевать синхронизироваться деньги, так что однозначно таймер
    спасибо

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Можно и без таймера обойтись.
    В начало мода
    PHP код:
    stock ac_GivePlayerMoney(playeridmoney)
    {
        
    pInfo[playerid][pMoney] += money;
        
    ResetPlayerMoney(playerid);
        
    GivePlayerMoney(playeridpInfo[playerid][pMoney]);
        return 
    1;
    }
    #if defined _ALS_GivePlayerMoney
        #undef GivePlayerMoney
    #else
        #define _ALS_GivePlayerMoney
    #endif

    #define GivePlayerMoney ac_GivePlayerMoney 
    И теперь любые попытки начитерить деньги ограничатся лишь визуальной накруткой. Только человек попытается эти деньги использовать - количество денег сразу сбросится до нормального.




    Ну а касаемо твоей проблемы, скорее всего, нужно экранировать данный символ, хотя проще будет просто запретить его использовать
    crashdetect что-то выдаёт в консоль?
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  12. Пользователь сказал cпасибо:
    f55555 (14.05.2017)
  13. #9
    Аватар для f55555
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    08.01.2017
    Сообщений
    67
    Репутация:
    2 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Можно и без таймера обойтись.
    В начало мода
    PHP код:
    stock ac_GivePlayerMoney(playeridmoney)
    {
        
    pInfo[playerid][pMoney] += money;
        
    ResetPlayerMoney(playerid);
        
    GivePlayerMoney(playeridpInfo[playerid][pMoney]);
        return 
    1;
    }
    #if defined _ALS_GivePlayerMoney
        #undef GivePlayerMoney
    #else
        #define _ALS_GivePlayerMoney
    #endif

    #define GivePlayerMoney ac_GivePlayerMoney 
    И теперь любые попытки начитерить деньги ограничатся лишь визуальной накруткой. Только человек попытается эти деньги использовать - количество денег сразу сбросится до нормального.




    Ну а касаемо твоей проблемы, скорее всего, нужно экранировать данный символ, хотя проще будет просто запретить его использовать
    crashdetect что-то выдаёт в консоль?
    нет, кд молчит.
    спасибо за помощь!
    можете еще сказать
    в чем отличие
    mysql_query(database, string)
    и mysql_tquery(database, string, "", "");

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от f55555 Посмотреть сообщение
    нет, кд молчит.
    спасибо за помощь!
    можете еще сказать
    в чем отличие
    mysql_query(database, string)
    и mysql_tquery(database, string, "", "");
    mysql_query - запрос отправляется и обрабатывается в том же потоке, что и работает сервер
    mysql_tquery - запрос обрабатывается в отдельном потоке
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  15. Пользователь сказал cпасибо:
    f55555 (14.05.2017)
 

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

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

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

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

Ваши права

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