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

Тема: /bug и /sug

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

    Статус
    Оффлайн
    Регистрация
    12.09.2016
    Сообщений
    1
    Репутация:
    0 ±
    Цитата Сообщение от 1lyad Посмотреть сообщение
    О чём я и говорю, игрок может ввести максимально 128 символов, так какой смысл прибавлять к string'у 144 символа, если игроку будет выводиться только сообщение, которое он ввёл после "/bug", а значит, 124 символа, потому что пробел тоже будет выведен игроку, если заменять первый символ string на пробел.


    Посмотри на данный код.
    PHP код:
        string[0] = ' 'string[1] = '\0'strcat(stringparams); 
    Если да, то игроку просто выведет следующие два сообщения:
    PHP код:
        SendClientMessage(playerid, -1, !"Вы успешно сообщили о баге. Спасибо!"); // 1.
        
    string[0] = ' 'string[1] = '\0'strcat(stringparams);
        return 
    SendClientMessage(playerid, -1string); // 2: string = params.
        // Кстати, не совсем понял, почему бы просто не использовать:
        // return SendClientMessage(playerid, -1, params);
        // Из-за того, что пробела не будет в начале сообщения? 
    А теперь посмотрим где используется string на примере команды /bug:


    Теперь, собственно, вопрос, если мы уже знаем, что максимально выводимое количество символов в данном случае просто не может быть равно 144, ибо SA:MP не позволит ввести игроку столько.
    И вообще, если бы даже захотели вывести игроку 144 символа, то в переменной string предостаточно ячеек, в данном случае мы используем такое количество ячеек, чтобы всё полностью записалось в BugLog.txt.

    UPD:

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

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

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    13.06.2018
    Сообщений
    13
    Репутация:
    0 ±
    Русский текст сохраняется в виде кракозябр
    Код HTML:
    Boulevard_Picard[PC] ñîîáùèë î áàãå: 11111111111

  4. #14
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от Boulevard_Picard Посмотреть сообщение
    Русский текст сохраняется в виде кракозябр
    Код HTML:
    Boulevard_Picard[PC] ñîîáùèë î áàãå: 11111111111
    Да, действительно, fwrite() пытается сохранить неупакованную строку в UTF-8, а если её упаковать - запишутся случайные мусорные данные. Единственный способ правильно записать символы кириллицы - выполнять запись по одному символу с помощью fputchar(), что я и сделал в новой реализации.

    1-й пост обновлён.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  5. Пользователь сказал cпасибо:
    Boulevard_Picard (24.07.2018)
 

 
Страница 2 из 2 ПерваяПервая 1 2

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

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

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

Ваши права

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