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

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

    Разница в диалоге

    Привет, какая разница будет если я сделаю диалог так:
    1. new listitems[] = " [1] Deagle\t[70 материалов/50 патронов]\n [2] Shotgun\t[50 материалов/15 патронов]\n [3] Rifle\t[100 материалов/10 патронов]\n [4] M4\t\t[500 материалов/100 патронов]\n [5] AK-47\t[500 материалов/100 патронов]\n [6] MP5\t[400 материалов/200 патронов]\n [7] SDPistol\t[100 материалов/100 патронов])";
    2. ShowPlayerDialog(playerid, 2014, DIALOG_STYLE_LIST, !"Взять оружие со склада", listitems, !"Взять", !"Отмена");

    ИЛИ сделаю просто через диалог без []

    и еще вопрос, как лучше сделать здесь проверку свич или if/else?
    1. switch(User[playerid][pMember])
    2. {
    3. case 5:
    4. {
    5. if(MafiaBank[0][nLcn] < 500000) return SCM(playerid,COLOR_GREY,!"Â áàíêå ìàôèè íåò ñòîëüêî äåíåã");
    6. lcnmats = 100000;
    7. SCM(playerid,COLOR_YELLOW, !"Âû êóïèëè 100000 ìàòåðèàëîâ çà 500000 âèðò");
    8. MafiaBank[0][nLcn]-=500000;
    9. }
    10. case 6:
    11. {
    12. if(MafiaBank[0][nYakuza] < 500000) return SCM(playerid,COLOR_GREY,!"Â áàíêå ìàôèè íåò ñòîëüêî äåíåã");
    13. yakuzamats = 100000;
    14. SCM(playerid,COLOR_YELLOW, !"Âû êóïèëè 100000 ìàòåðèàëîâ çà 500000 âèðò");
    15. MafiaBank[0][nYakuza]-=500000;
    16. }
    17. case 14:
    18. {
    19. if(MafiaBank[0][nRm] < 500000) return SCM(playerid,COLOR_GREY,!"Â áàíêå ìàôèè íåò ñòîëüêî äåíåã");
    20. rmmats = 100000;
    21. SCM(playerid,COLOR_YELLOW, !"Âû êóïèëè 100000 ìàòåðèàëîâ çà 500000 âèðò");
    22. MafiaBank[0][nRm]-=500000;
    23. }
    24. }
    Последний раз редактировалось DmitriyVasilev; 07.04.2019 в 13:32.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    1) Как я понимаю, "без []" - это указание текста сразу в ShowPlayerDialog. Если да, то лучше либо объявлять массив через "static", а не через "new", либо приписывать текст напрямую в ShowPlayerDialog. В твоём текущем варианте текст будет храниться в сегменте данных и каждый вызов этого кода текст будет сначала копироваться из сегмента данных в локальную переменную, а только потом использоваться в диалоге. В общем, будет несколько лишних действий.

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

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

    Steve Pavlina

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

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

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

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от DmitriyVasilev Посмотреть сообщение
    а что дает static в данном случае??
    То, что массив будет находиться в секции данных (вместо стека, как у массива, объявленного с помощью new) и не будет лишнего копирования его содержимого оттуда в стек - собственно, о чём вам говорил DeimoS постом выше.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

 

 

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

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

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

Ваши права

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