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

    Статус
    Оффлайн
    Регистрация
    01.01.2019
    Сообщений
    86
    Репутация:
    0 ±

    Проблема с диалогом

    Привет , делаю большой диалог но проблема, почему первая строчка в начале а остальные расположены по центру, помогите
    1. CMD:mm(playerid)
    2. {
    3. return ShowPlayerDialogEx(playerid, 9623, DIALOG_STYLE_LIST, !"{33AA33}[Главное меню]",
    4. !"{00B2EE}1. {ffffff}Игровые настройки\n\
    5. {00B2EE}2. {ffffff}Статистика пероснажа\n\
    6. {00B2EE}3. {ffffff}Команды сервера\n\
    7. {00B2EE}4. {ffffff}Задать вопрос по игре\n\
    8. {00B2EE}5. {ffffff}Репорт\n\
    9. {00B2EE}6. {ffffff}Смена пароля\n\
    10. t{00B2EE}7. {ffffff}Очистить чат\n\
    11. t{00B2EE}8. {ffffff}Правила\n\
    12. t{00B2EE}9. {ffffff}Безопасность\n\
    13. t{00B2EE}10. {ffffff}Смена ника\n\
    14. t{ff0000}11. {ffffff}Донат\n\
    15. t{00B2EE}12. {ffffff}Бонусы\n\
    16. t{00B2EE}13. {ffffff}Прочее", !">>", !"X");
    17. }

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Скачай последнюю версию компилятора - https://github.com/pawn-lang/compiler/releases
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    01.01.2019
    Сообщений
    86
    Репутация:
    0 ±
    после компилирования тупо флудит в окне компилятора
    warning 239: literal array/string passed to a non-const parameter

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Исправить так - http://pro-pawn.ru/showthread.php?16...81%D1%82%D1%8C

    Но можно отключить, вставив в начало скрипта:
    1. #pragma warning disable 239
    2. #pragma warning disable 214
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    01.01.2019
    Сообщений
    86
    Репутация:
    0 ±
    у меня варнингов около 3к появилось, их че теперь все исправлять?

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

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

    То бишь:
    PHP код:
    public SomePublic1()

       
    SomeFunc("Привет");// Компилятор укажет на эту строку
    }

    public 
    SomePublic2()

       
    SomeFunc("Привет");// И на эту
    }

    stock SomeFunc(text[])// А проблема в отсутствии "const" тут
    {


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

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    01.01.2019
    Сообщений
    86
    Репутация:
    0 ±
    у меня на это ругается, получается перед каждым аргументом ставить const?
    1. stock ShowPlayerDialogEx(playerid, dialogid, style, caption[], info[], button1[], button2[])
    2. {
    3. ShowPlayerDialog(playerid, dialogid, style, caption, info, button1, button2);
    4. SetPVarInt(playerid, "USEDIALOGID", dialogid);
    5. return 1;
    6. }

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    1. stock ShowPlayerDialogEx(playerid, dialogid, style, const caption[], const info[], const button1[], const button2[])
    2. {
    3. ShowPlayerDialog(playerid, dialogid, style, caption, info, button1, button2);
    4. SetPVarInt(playerid, "USEDIALOGID", dialogid);
    5. return 1;
    6. }


    И в a_samp так же изменить нативку
    1. native ShowPlayerDialog(playerid, dialogid, style, const caption[], const info[], const button1[], const button2[]);
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  9. #9
    Аватар для DmitriyVasilev
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.01.2019
    Сообщений
    86
    Репутация:
    0 ±
    Спасибо, а вот здесь нормально сделал? почитал тему но так и не понял, везде const ставить или где - то еще дополнительно что-то делать.
    1. stock UpdateTable(const table[], const set[], set_, const where[], where_)
    2. {
    3. mysql_format(DATABASE,QUERY,300,"UPDATE `%s` SET %s = %i WHERE %s = %i",table,set,set_,where,where_);
    4. return mysql_function_query(DATABASE,QUERY,false,"","");
    5. }

    и еще не понял все таки как пофиксить callcmd::bonuson(playerid,"3");
    Последний раз редактировалось DmitriyVasilev; 13.03.2019 в 17:42.

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

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

    В первом примере всё правильно.
    Во втором - Найди код команды и все внутренности вынеси в отдельную функцию, а-ля:
    PHP код:
    stock SomeFunc(playeridparams[])
    {
        
    // Код команды

    А после уже в самой команде допиши к "params[]" атрибут "const" и сделай вызов функции внутри команды:
    PHP код:
    CMD:bonuson(playerid, const params[])
    {
        return 
    SomeFunc(playeridparams);

    Вот тут объяснено почему нельзя просто добавить const - http://pro-pawn.ru/showthread.php?16...ll=1#post92402
    Последний раз редактировалось DeimoS; 14.03.2019 в 03:21.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

 

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

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

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

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

Ваши права

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