Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 10 из 31 ПерваяПервая ... 8 9 10 11 12 20 ... ПоследняяПоследняя
Показано с 91 по 100 из 308
  1. #91
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от [ForD] Посмотреть сообщение
    спойлер "Почему именно массив, а не pVar"
    1) ... Ведь принцип работы pVar сход с принципами работы оперативной памяти. -хз конечно,но скорее всего имелось ввиду схоЖ а не схоД,очепятка?)
    Благодарю, исправил

    Цитата Сообщение от [ForD] Посмотреть сообщение
    Проверка на авторизацию игрока
    В обоих вариантах: "Теперь в UploadPlayerAccount, перед SpawnPlayer, добавить"
    Но а как-же "CreateNewAccount"? Мы там тоже спавним игрока.
    Благодарю. Мне этот недочёт уже указывали, но я почему-то забыл внести правки =\

    Цитата Сообщение от [ForD] Посмотреть сообщение
    И на счет enum и диалогов,проверял работоспособность? Я конечно не спорю,может я криворукий но выдает варн при вызове диалога по твоему методу -> (warning 213: tag mismatch ),заменяешь ид на простое число,варн пропадает.
    Да, проверял. Перечисления, по-сути, создают обычные константы и проблем быть не должно.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    30.01.2015
    Адрес
    Россия, Кувандык
    Сообщений
    22
    Репутация:
    0 ±
    Приветствую ребят.

    Спасибо Вам за этот чудесный урок, все очень красиво и удобно расписано.

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

    Статус
    Оффлайн
    Регистрация
    16.11.2015
    Сообщений
    116
    Репутация:
    10 ±
    Вопрос такой, case 1044,1045 и т.д это типо индентификатор ошибки в функции mysql_errno?
    Код:
    switch(mysql_errno())
    {
        case 0: print("Подключение к базе данных удалось");
        case 1044: print("Подключение к базе данных не удалось [Указано неизвестное имя пользователя]");
        case 1045: print("Подключение к базе данных не удалось [Указан неизвестный пароль]");
        case 1049: print("Подключение к базе данных не удалось [Указана неизвестная база данных]");
        case 2003: print("Подключение к базе данных не удалось [Хостинг с базой данных недоступен]");
        case 2005: print("Подключение к базе данных не удалось [Указан неизвестный адрес хостинга]");
        default: printf("Подключение к базе данных не удалось [Неизвестная ошибка. Код ошибки: %d]", mysql_errno());
    }

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от newbie01 Посмотреть сообщение
    Вопрос такой, case 1044,1045 и т.д это типо индентификатор ошибки в функции mysql_errno?
    Код:
    switch(mysql_errno())
    {
        case 0: print("Подключение к базе данных удалось");
        case 1044: print("Подключение к базе данных не удалось [Указано неизвестное имя пользователя]");
        case 1045: print("Подключение к базе данных не удалось [Указан неизвестный пароль]");
        case 1049: print("Подключение к базе данных не удалось [Указана неизвестная база данных]");
        case 2003: print("Подключение к базе данных не удалось [Хостинг с базой данных недоступен]");
        case 2005: print("Подключение к базе данных не удалось [Указан неизвестный адрес хостинга]");
        default: printf("Подключение к базе данных не удалось [Неизвестная ошибка. Код ошибки: %d]", mysql_errno());
    }
    Именно

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

    Я, кстати, изначально реализовывал этот код в подобную штуку:
    PHP код:
        mysql_connect_ID mysql_connect(данные_для_подключения);
    MySQLConnectError(mysql_errno(), 0); 

    PHP код:
    stock MySQLConnectError(error_idattempt 0)
    {
        switch(
    error_id)
        {
            case 
    0:
            {
                
    SetGameModeText("Evil Scripter v.0.1");
                
    SendRconCommand("hostname ServerName");
                
    SendRconCommand("language Русский/Russian");
                
    SendRconCommand("weburl DeimoS");
                if(
    attemptSendRconCommand("password 0");
                print(
    "Подключение к базе данных удалось");
                return 
    1;
            }
            case 
    1044:
            {
                print(
    "Подключение к базе данных не удалось [Указано неизвестное имя пользователя]");
                
    SendRconCommand("hostname MySQL: Неизвестное имя пользователя");
                
    SendRconCommand("password 666555");
            }
            case 
    1045:
            {
                print(
    "Подключение к базе данных не удалось [Указан неизвестный пароль]");
                
    SendRconCommand("hostname MySQL: Неизвестный пароль");
                
    SendRconCommand("password 666555");
            }
            case 
    1049:
            {
                print(
    "Подключение к базе данных не удалось [Указана неизвестная база данных]");
                
    SendRconCommand("hostname MySQL: Неизвестная база данных");
                
    SendRconCommand("password 666555");
            }
            case 
    2003:
            {
                print(
    "Подключение к базе данных не удалось [Хостинг с базой данных недоступен]");
                
    SendRconCommand("hostname MySQL: Хостинг недоступен");
                
    SendRconCommand("password 666555");
            }
            case 
    2005:
            {
                print(
    "Подключение к базе данных не удалось [Указан неизвестный адрес хостинга]");
                
    SendRconCommand("hostname MySQL: Невалидный адрес хостинга");
                
    SendRconCommand("password 666555");
            }
            default:
            {
                
    printf("Подключение к базе данных не удалось [Неизвестная ошибка. Код ошибки: <%d>]"error_id);
                new 
    string[38+11];
                
    format(stringsizeof(string), "hostname MySQL: Неизвестная ошибка [%d]"error_id);
                
    SendRconCommand(string);
                
    SendRconCommand("password 666555");
            }
        }
        
    SendRconCommand("language Closed [MySQL_Error]");
        
    SendRconCommand("weburl Closed [MySQL_Error]");
        
    SetGameModeText("Closed [MySQL_Error]");
        
    SetTimer("@___Reconnect_MySQL"10000);
        return 
    1;

    PHP код:
    @___Reconnect_MySQL();
    @
    ___Reconnect_MySQL()
    {
        
    mysql_close(mysql_connect_ID);
        
    mysql_connect_ID mysql_connect(данные_для_подключения);
        
    MySQLConnectError(mysql_errno(), 1);
        return 
    1;

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

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    16.11.2015
    Сообщений
    116
    Репутация:
    10 ±
    О, не ожидал спасибо. Возьму на заметку.

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

    Статус
    Оффлайн
    Регистрация
    16.11.2015
    Сообщений
    116
    Репутация:
    10 ±
    Какую можно сделать проверку если вовремя работы сервера например вырубается бд?

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

    Кстати, при создании пароля с русскими символами то в бд они сохраняются иероглифами.

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

    Код проверок есть всё есть, но игрок может пока не авторизован и команды писать и текст в чат.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от newbie01 Посмотреть сообщение
    Какую можно сделать проверку если вовремя работы сервера например вырубается бд?
    Ну как-то так:
    PHP код:
    public OnQueryError(erroriderror[], callback[], query[], connectionHandle)
    {
        if(
    errorid != 0)
        {
            
    //Действие
        
    }
        return 
    1;

    Но разрыв с БД обнаружится только при первом отосланном запросе к БД и этот запрос уже будет утерян 100%.


    Можно сделать реализацию попытки переподключения (тут проблем нет) и отправки повторного запроса, но беда в том, что в OnQueryError приходит информация только о тексте самого запроса и о коллбэке, в который отсылается ответ на запрос в виде кэша, поэтому придётся для каждого запроса, требующего кэширование (а это "SELECT * FROM" или, в редких случаях (как в случае с этой регистрацией) "INSERT"), делать индивидуальные запросы. Но тут появляется ещё одна проблема: где взять данные, которые передаются в функцию, вызываемую запросом? То бишь, в случае с UploadPlayerAccount, это "playerid". Лично я способов, без создания каких-то супер-костылей, не вижу
    Последний раз редактировалось DeimoS; 29.02.2016 в 10:54.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    15.01.2016
    Адрес
    Приморье, Спасск-Дальний
    Сообщений
    165
    Репутация:
    7 ±
    DeimoS, тебе цены нет. Спасибо.

    прочел много букавок, многое взял для себя, многое исправил в моде.

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

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





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

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

    Steve Pavlina

  10. #100
    Аватар для [ForD]
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    688
    Репутация:
    103 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Обновил урок, добавив пункт 8, о котором совсем забыл при публикации статьи :( Кто использует сию регистрацию и кто самостоятельно этот код не добавил - добавьте, ибо без него Вы получите множество проблем :(



      Открыть/закрыть


    А это не бесполезно? Ну там типа обработаться не успеет и т.д. и т.п. ...
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

    25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/





    #FIXSAMP

 

 
Страница 10 из 31 ПерваяПервая ... 8 9 10 11 12 20 ... ПоследняяПоследняя

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

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

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

Ваши права

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