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

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    516
    Репутация:
    21 ±

    Что будет быстрее работать?

    Всем привет. Что будет быстрее работать для 24/7, закусочных список товаров. Да и вообще что будет лучше??

    1 код:
    PHP код:
    stock GetBusinessItem(bi)
    {
        new 
    ttextt[32];
        switch(
    b)
        {
            case 
    1:
            {
                if(
    == 0ttextt "Телефон\t\t\t{2BAB2B}170$";
                if(
    == 1ttextt "Телефонный номер\t\t{2BAB2B}300$";
                if(
    == 2ttextt "Телефонная книга\t\t{2BAB2B}250$";
                if(
    == 3ttextt "Букет цветов\t\t{2BAB2B}500$";
                if(
    == 4ttextt "Фотоаппарат\t\t\t{2BAB2B}500$";
                if(
    == 5ttextt "Маска\t\t\t{2BAB2B}230$";
                if(
    == 6ttextt "Аптечка\t\t\t{2BAB2B}340$";
            }
            
    /*case 2:
            {
                if(i == 0) ttextt = "Сотовый телефон";
                if(i == 1) ttextt = "Телефонный номер";
            }*/
        
    }
        return 
    ttextt;

    2 код:
    PHP код:
    new gShopObject[SHOP_OBJECTS][25] = {"Телефон","Номер SIM-карты","Аптечка","Часы","Букет цветов","Трость","Парашют","Маска","Фотоаппарат (50 cнимков)"}; 
    Последний раз редактировалось StevenH; 21.11.2015 в 14:15.

  2. #2
    Аватар для #Vito
    #define

    Статус
    Оффлайн
    Регистрация
    14.09.2013
    Адрес
    Одесса
    Сообщений
    129
    Репутация:
    38 ±
    Естественно, 2-ой вариант лучше и быстрее.

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

    И в след. раз, если будете проверять значение одной переменной более 2-ух раз, используйте switch. Тоесть:
    PHP код:
    switch(i)
    {
       case 
    0ttextt "Телефон\t\t\t{2BAB2B}170$";
       case 
    1ttextt "Телефонный номер\t\t{2BAB2B}300$";
       case 
    2ttextt "Телефонная книга\t\t{2BAB2B}250$";
       case 
    3ttextt "Букет цветов\t\t{2BAB2B}500$";
       case 
    4ttextt "Фотоаппарат\t\t\t{2BAB2B}500$";
       case 
    5ttextt "Маска\t\t\t{2BAB2B}230$";
       case 
    6ttextt "Аптечка\t\t\t{2BAB2B}340$";

    Skype: vitya.saveliev


  3. Пользователь сказал cпасибо:
    StevenH (21.11.2015)
  4. #3
    Аватар для StevenH
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    516
    Репутация:
    21 ±
    Цитата Сообщение от #Vito Посмотреть сообщение
    Естественно, 2-ой вариант лучше и быстрее.

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

    И в след. раз, если будете проверять значение одной переменной более 2-ух раз, используйте switch. Тоесть:
    PHP код:
    switch(i)
    {
       case 
    0ttextt "Телефон\t\t\t{2BAB2B}170$";
       case 
    1ttextt "Телефонный номер\t\t{2BAB2B}300$";
       case 
    2ttextt "Телефонная книга\t\t{2BAB2B}250$";
       case 
    3ttextt "Букет цветов\t\t{2BAB2B}500$";
       case 
    4ttextt "Фотоаппарат\t\t\t{2BAB2B}500$";
       case 
    5ttextt "Маска\t\t\t{2BAB2B}230$";
       case 
    6ttextt "Аптечка\t\t\t{2BAB2B}340$";

    Значит этот лучше всего юзать чем сток?
    PHP код:
    new gShopObject[SHOP_OBJECTS][25] = {"Телефон","Номер SIM-карты","Аптечка","Часы","Букет цветов","Трость","Парашют","Маска","Фотоаппарат (50 cнимков)"}; 

  5. #4
    Аватар для #Vito
    #define

    Статус
    Оффлайн
    Регистрация
    14.09.2013
    Адрес
    Одесса
    Сообщений
    129
    Репутация:
    38 ±
    Цитата Сообщение от StevenH Посмотреть сообщение
    Значит этот лучше всего юзать чем сток?
    PHP код:
    new gShopObject[SHOP_OBJECTS][25] = {"Телефон","Номер SIM-карты","Аптечка","Часы","Букет цветов","Трость","Парашют","Маска","Фотоаппарат (50 cнимков)"}; 
    Да.
    Skype: vitya.saveliev


  6. Пользователь сказал cпасибо:
    StevenH (21.11.2015)
  7. #5
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Да, к массиву доступ будет намного быстрее.
    Правда, иногда бывают ситуации, когда можно выйти за его пределы. Например, в OnDialogResponse в теории можно подделать на стороне клиента номер выбранной строки в списке (listitem) - тогда нужно проверять, чтобы значение listitem было не больше максимального индекса в массиве.
    Пример:
    PHP код:
    public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
    {
        if (
    dialogid == MY_LIST)
        {
            static const 
    lines[][10] =
            {
                {
    "строка 1"},
                {
    "строка 2"},
                {
    "строка 3"},
                {
    "строка 4"},
                {
    "строка 5"},
                {
    "строка 6"},
                {
    "строка 7"},
                {
    "строка 8"},
                {
    "строка 9"},
                {
    "строка 10"},
            };
            if(
    listitem >= sizeof(lines)) 
                
    listitem sizeof(lines) - 1;
            new 
    string[64];
            
    format(stringsizeof(string), "Вы выбрали строку №%d, содержимое: %s."listitemlines[listitem]);
            return 
    SendClientMessage(playerid, -1string);
        }

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

  8. Пользователь сказал cпасибо:
    StevenH (21.11.2015)
 

 

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

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

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

Ваши права

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