Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 17 из 31 ПерваяПервая ... 7 15 16 17 18 19 27 ... ПоследняяПоследняя
Показано с 161 по 170 из 308
  1. #161
    Аватар для swellxz
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.08.2016
    Сообщений
    1
    Репутация:
    0 ±
    Зарегистрировался специально ради того, чтобы отписать сюда)

    Хочу поблагодарить автора за проделанную работу. Таких уроков не хватает, где объясняют каждую строку. Очень долго разбирался в mysql, уже начал читать англоязычные форумы, пока не наткнулся на эту статью. Еще раз спасибо.

    Еще вопрос есть:
    PHP код:
    switch(GetPVarInt(playerid"WrongPassword")) {
          case 
    0ShowPlayerDialog(playeriddLoginDIALOG_STYLE_INPUT"Авторизация""{FF0000}Ошибка: {FFFFFF}Вы ввели неверный пароль! У Вас осталось 3 попытки.\nВведите пароль от аккаунта для входа на сервер:""Вход""Выход");
          case 
    1ShowPlayerDialog(playeriddLoginDIALOG_STYLE_INPUT"Авторизация""{FF0000}Ошибка: {FFFFFF}Вы ввели неверный пароль! У Вас осталось 2 попытки.\nВведите пароль от аккаунта для входа на сервер:""Вход""Выход");
          case 
    2ShowPlayerDialog(playeriddLoginDIALOG_STYLE_INPUT"Авторизация""{FF0000}Ошибка: {FFFFFF}Вы ввели неверный пароль! У Вас осталось 1 попытка.\nВведите пароль от аккаунта для входа на сервер:""Вход""Выход");
          case 
    3ShowPlayerDialog(playeriddLoginDIALOG_STYLE_INPUT"Авторизация""{FF0000}Ошибка: {FFFFFF}Вы ввели неверный пароль! У Вас осталась последняя попытка, после чего Вас кикнет.\nВведите пароль от аккаунта для входа на сервер:""Вход""Выход");
          default: {
                
    ShowPlayerDialog(playeriddKickMessageDIALOG_STYLE_MSGBOX"Оповещение""{FFFFFF}Вы были кикнуты с сервера.\n{FF0000}Причина: Превышен лимит попыток на ввод пароля.\n{FFFFFF}Для выхода с сервера введите \"/q\" в чат""Выход""");
                return 
    Kick(playerid);
          }

    Не работает этот кусок кода. Ввожу неправильный пароль, но меня кидает на стрелочки и spawn. Изначально, когда писал код, задался вопросом, откуда у нас GetPVarInt(playerid, "WrongPassword") ? Мы же не объявляли переменную, вроде бы. Или это я пропустил? Буду рад, если объясните, в чем проблема.

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

    Статус
    Оффлайн
    Регистрация
    09.02.2014
    Сообщений
    93
    Репутация:
    8 ±
    Цитата Сообщение от swellxz Посмотреть сообщение
    Зарегистрировался специально ради того, чтобы отписать сюда)

    Хочу поблагодарить автора за проделанную работу. Таких уроков не хватает, где объясняют каждую строку. Очень долго разбирался в mysql, уже начал читать англоязычные форумы, пока не наткнулся на эту статью. Еще раз спасибо.

    Еще вопрос есть:
    PHP код:
    switch(GetPVarInt(playerid"WrongPassword")) {
          case 
    0ShowPlayerDialog(playeriddLoginDIALOG_STYLE_INPUT"Авторизация""{FF0000}Ошибка: {FFFFFF}Вы ввели неверный пароль! У Вас осталось 3 попытки.\nВведите пароль от аккаунта для входа на сервер:""Вход""Выход");
          case 
    1ShowPlayerDialog(playeriddLoginDIALOG_STYLE_INPUT"Авторизация""{FF0000}Ошибка: {FFFFFF}Вы ввели неверный пароль! У Вас осталось 2 попытки.\nВведите пароль от аккаунта для входа на сервер:""Вход""Выход");
          case 
    2ShowPlayerDialog(playeriddLoginDIALOG_STYLE_INPUT"Авторизация""{FF0000}Ошибка: {FFFFFF}Вы ввели неверный пароль! У Вас осталось 1 попытка.\nВведите пароль от аккаунта для входа на сервер:""Вход""Выход");
          case 
    3ShowPlayerDialog(playeriddLoginDIALOG_STYLE_INPUT"Авторизация""{FF0000}Ошибка: {FFFFFF}Вы ввели неверный пароль! У Вас осталась последняя попытка, после чего Вас кикнет.\nВведите пароль от аккаунта для входа на сервер:""Вход""Выход");
          default: {
                
    ShowPlayerDialog(playeriddKickMessageDIALOG_STYLE_MSGBOX"Оповещение""{FFFFFF}Вы были кикнуты с сервера.\n{FF0000}Причина: Превышен лимит попыток на ввод пароля.\n{FFFFFF}Для выхода с сервера введите \"/q\" в чат""Выход""");
                return 
    Kick(playerid);
          }

    Не работает этот кусок кода. Ввожу неправильный пароль, но меня кидает на стрелочки и spawn. Изначально, когда писал код, задался вопросом, откуда у нас GetPVarInt(playerid, "WrongPassword") ? Мы же не объявляли переменную, вроде бы. Или это я пропустил? Буду рад, если объясните, в чем проблема.
    Не читал статью, и конечно не имею понятия о её работе, но совершенно точно могу сказать, что код в Вашем куске бредовый. Достаточно сделать хотя бы так -

    PHP код:
    if(GetPVarInt(playerid"wrongPass") == 2) {
                    
    ShowPlayerDialog(playeriddKickMessageDIALOG_STYLE_MSGBOX"Оповещение""{FFFFFF}Вы были кикнуты с сервера.\n{FF0000}Причина: Превышен лимит попыток на ввод пароля.\n{FFFFFF}Для выхода с сервера введите \"/q\" в чат""Выход""");
                    return 
    Kick(playerid);
                }
                
    SetPVarInt(playerid"wrongPass"GetPVarInt(playerid"wrongPass")+1);
                            new 
    string[100];
                            
    format(stringsizeof(string),"Вы ввели неверный пароль! У Вас осталось %d попытки.\nВведите пароль от аккаунта для входа на сервер:", (GetPVarInt(playerid"wrongPass")));
                            
    ShowPlayerDialog(playeriddLoginDIALOG_STYLE_INPUT"Авторизация"string"Вход""Выход"); 
    И ды, пвары объявлять не нужно.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от swellxz Посмотреть сообщение
    Еще вопрос есть:
    PHP код:
    switch(GetPVarInt(playerid"WrongPassword")) {
          case 
    0ShowPlayerDialog(playeriddLoginDIALOG_STYLE_INPUT"Авторизация""{FF0000}Ошибка: {FFFFFF}Вы ввели неверный пароль! У Вас осталось 3 попытки.\nВведите пароль от аккаунта для входа на сервер:""Вход""Выход");
          case 
    1ShowPlayerDialog(playeriddLoginDIALOG_STYLE_INPUT"Авторизация""{FF0000}Ошибка: {FFFFFF}Вы ввели неверный пароль! У Вас осталось 2 попытки.\nВведите пароль от аккаунта для входа на сервер:""Вход""Выход");
          case 
    2ShowPlayerDialog(playeriddLoginDIALOG_STYLE_INPUT"Авторизация""{FF0000}Ошибка: {FFFFFF}Вы ввели неверный пароль! У Вас осталось 1 попытка.\nВведите пароль от аккаунта для входа на сервер:""Вход""Выход");
          case 
    3ShowPlayerDialog(playeriddLoginDIALOG_STYLE_INPUT"Авторизация""{FF0000}Ошибка: {FFFFFF}Вы ввели неверный пароль! У Вас осталась последняя попытка, после чего Вас кикнет.\nВведите пароль от аккаунта для входа на сервер:""Вход""Выход");
          default: {
                
    ShowPlayerDialog(playeriddKickMessageDIALOG_STYLE_MSGBOX"Оповещение""{FFFFFF}Вы были кикнуты с сервера.\n{FF0000}Причина: Превышен лимит попыток на ввод пароля.\n{FFFFFF}Для выхода с сервера введите \"/q\" в чат""Выход""");
                return 
    Kick(playerid);
          }

    Не работает этот кусок кода. Ввожу неправильный пароль, но меня кидает на стрелочки и spawn. Изначально, когда писал код, задался вопросом, откуда у нас GetPVarInt(playerid, "WrongPassword") ? Мы же не объявляли переменную, вроде бы. Или это я пропустил? Буду рад, если объясните, в чем проблема.
    Во-первых, это не переменная, а pVar.
    Во-вторых, "объявляем" мы её чуть ниже этого кода, а именно:
    PHP код:
    SetPVarInt(playerid"WrongPassword"GetPVarInt(playerid"WrongPassword")+1); 
    Данный код работает по следующему принципу.
    1. Сначала выполняется эта проверка, в которой мы сверяем введённый игроком пароль и тот пароль, что записан в массив
      PHP код:
      if(!strcmp(pInfo[playerid][pPassword], inputtext)) 
      Если проверка проходит, мы авторизируем игрока (но это уже другая история)
    2. Если проверка не проходит, начинает обрабатываться тот код, о котором ты говоришь.
      • Сначала срабатывает "switch(GetPVarInt(playerid, "WrongPassword"))", где проверяется значение, записанное в pVar.
        У pVar есть особенность: если попытаться узнать значение несуществующего pVar (pVar, которому не присвоили значения) через GetPVarInt, функция вернёт 0. Соответственно, сработает "case 0"
      • После обработка перейдёт к строке
        PHP код:
        SetPVarInt(playerid"WrongPassword"GetPVarInt(playerid"WrongPassword")+1); 
        где мы увеличиваем значение pVar на единицу (то бишь, если в следующий раз игрок введёт пароль неверно, в pVar уже будет записана единица. Если ещё раз - двойка. И т.п.)


    Это то, что касается принципов работы. Теперь к проблеме.
    Проблема, собственно, заключается либо в том, что ты неправильно переписал часть кода, либо что-то не дописал. Система рабочая и проверена многими людьми (в том числе и мной). Перепроверь ещё раз весь код и если не сможешь найти ошибку, кидай его сюда и помотрю

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

    Цитата Сообщение от 123 Посмотреть сообщение
    Не читал статью, и конечно не имею понятия о её работе, но совершенно точно могу сказать, что код в Вашем куске бредовый.
    Бредом ты считаешь то, что вместо объявления массива на 100 ячеек и использования format, пишется чуть больше кода без использования всего этого? Видимо, тебе стоит написать свою статью на эту тему и просветить нас всех
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  4. Пользователь сказал cпасибо:
    swellxz (25.08.2016)
  5. #164
    Аватар для _lizard
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.02.2016
    Адрес
    Геленджик
    Сообщений
    193
    Репутация:
    26 ±
    Думаю стоит адаптировать урок под новую версию

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

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

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

    Steve Pavlina

  7. #166
    Аватар для karevkhvdrift
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.09.2016
    Сообщений
    1
    Репутация:
    0 ±
    Спасибо большое за урок!
    Вопрос такой, а если я хочу внести в регистрацию e-mail, дата рождения и тп и тд, как быть?

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от karevkhvdrift Посмотреть сообщение
    Вопрос такой, а если я хочу внести в регистрацию e-mail, дата рождения и тп и тд, как быть?
    Вместо спавна в CreateNewAccount/UploadPlayerAccount добавляй вызов нового диалогового окна, где уже проси вводить нужные данные. Ну а когда обработается последний диалог из нужных тебе, вызывай SpawnPlayer
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  9. Пользователь сказал cпасибо:
    karevkhvdrift (09.09.2016)
  10. #168
    Аватар для DeimoS
    Модератор?

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

    Переписывал код прямо в браузере и на работоспособность, если честно, не проверял (точнее, на наличие ошибок. Работать всё должно, ибо основа регистрации в моём моде точно такая же и мод я перевёл на R40 в день выхода этой версии), ибо пока нет возможности. Проверить смогу только где-то через пару дней, но если кому не лень, можете сами всё протестировать и отписаться тут.
    Статья, как вы понимаете, большая и вполне возможно, что где-то опечатался. Если найдёте ошибку, пожалуйста, сообщите об этом в комментариях и я обязательно исправлю.

    И да, сегодня-завтра постараюсь написать статью о изменениях в R40 относительно R39, так как у некоторых появились проблемы с переводом мода на новую версию плагина.

    P.S. Если у кого-то, кто переводит мод на R40, начало ругаться на mysql_function_query, можете вставить вот этот код после "#include <a_mysql>"
    PHP код:
    #if !defined mysql_function_query
        #define mysql_function_query(%0,%1,%2,%3,"%4"%5)     mysql_tquery(%0,%1,%3,#%4%5)
    #endif 
    Это, если что, макрос прямиком из R39. По какой причине этот макрос удалён из новой версии - одному богу известно. Вполне возможно, что это просто ошибка и в новых обновах его вернут.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  11. #169
    Аватар для PawnCoder
    Пользователь

    Статус
    Оффлайн
    Регистрация
    26.08.2016
    Сообщений
    6
    Репутация:
    1 ±
    После перевода на R40, произошла одна проблема.
    Сервер не подключается к базе данных, самое что странное, ошибка неизвестная.

    Лог:

    PHP код:
    [00:44:42Подключение к базе данных не удалось [Неизвестная ошибкаКод ошибки: -1

  12. Пользователь сказал cпасибо:
    DeimoS (09.09.2016)
  13. #170
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от PawnCoder Посмотреть сообщение
    После перевода на R40, произошла одна проблема.
    Сервер не подключается к базе данных, самое что странное, ошибка неизвестная.

    Лог:

    PHP код:
    [00:44:42Подключение к базе данных не удалось [Неизвестная ошибкаКод ошибки: -1
    Хмм, спасибо за информацию.
    Нашёл проблему. Забыл, что в R40 есть вот такая обнова
    swapped places of parameters password[] and database[] in function mysql_connect
    Вот так должно быть.
    PHP код:
    mysql_connect_ID mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASSWORDMYSQL_DATABASE); 
    Внёс поправки в статью
    Последний раз редактировалось DeimoS; 09.09.2016 в 17:33.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  14. 4 пользователя(ей) сказали cпасибо:
    Daniel_Cortez (09.09.2016) karevkhvdrift (09.09.2016) Nash_Brigers (09.09.2016) PawnCoder (09.09.2016)
 

 
Страница 17 из 31 ПерваяПервая ... 7 15 16 17 18 19 27 ... ПоследняяПоследняя

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

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

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

Ваши права

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