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

    Статус
    Оффлайн
    Регистрация
    01.06.2014
    Адрес
    Москва
    Сообщений
    92
    Репутация:
    16 ±

    По оптимизации

    Видел вот такую систему в РЛС модах. Возник вопрос: как ее оптимизировать?

    PHP код:
    new const Commands[6][] =
    {
        {
    "Команда - описание\n"},
        {
    "Команда - описание\n"},
        {
    "Команда - описание\n"},
        {
    "Команда - описание\n"},
        {
    "Команда - описание\n"},
        {
    "Команда - описание\n"}
    }; 
    И далее где-нибудь
    PHP код:
    new string[500];
    format(string,sizeof(string), "%s%s%s%s%s%s",Commands[0],Commands[1],Commands[2],Commands[3],Commands[4],Commands[5]);
    SPD(playerid,121,DIALOG_STYLE_MSGBOX"{FFFFFF}Команды сервера"string"Закрыть""");
    return 
    1
    Последний раз редактировалось Flime; 26.06.2014 в 19:56. Причина: Ошибся

  2. #2
    Аватар для bredvix
    Старичок

    Статус
    Оффлайн
    Регистрация
    01.08.2013
    Адрес
    Нижний Новгород
    Сообщений
    480
    Репутация:
    183 ±
    Так думаю проще:

    PHP код:
            case 121:
            {
                if(
    response)
                {
                    switch(
    listitem)
                    {
                        case 
    0:
                        {
    // Можешь запихнуть сам функционал сюда своей команды.
                            
    OnPlayerCommandText(playerid"/CMD1"); 
                        }
                        case 
    1:
                        {
    // Можешь запихнуть сам функционал сюда своей команды.
                            
    OnPlayerCommandText(playerid"/CMD2");
                        }
                    }
                }
                else return 
    ShowPlayerDialog(playerid121DIALOG_STYLE_LIST"LOL""CMD1\nCMD2""Выбрать""Отмена");
            } 
    Последний раз редактировалось bredvix; 26.06.2014 в 19:49.

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

    Статус
    Оффлайн
    Регистрация
    01.06.2014
    Адрес
    Москва
    Сообщений
    92
    Репутация:
    16 ±
    Цитата Сообщение от Dron_Turbo Посмотреть сообщение
    Так думаю проще:

    PHP код:
            case 121:
            {
                if(
    response)
                {
                    switch(
    listitem)
                    {
                        case 
    0:
                        {
    // Можешь запихнуть сам функционал сюда своей команды.
                            
    OnPlayerCommandText(playerid"/CMD1"); 
                        }
                        case 
    1:
                        {
    // Можешь запихнуть сам функционал сюда своей команды.
                            
    OnPlayerCommandText(playerid"/CMD2");
                        }
                    }
                }
                else return 
    ShowPlayerDialog(playerid121DIALOG_STYLE_LIST"LOL""CMD1\nCMD2""Выбрать""Отмена");
            } 
    Прошу прощения.. Не точно передал суть своего вопроса. Отредактировал первый пост.

  4. #4
    Аватар для underwoker
    Пользователь

    Статус
    Оффлайн
    Регистрация
    07.03.2014
    Сообщений
    331
    Репутация:
    47 ±
    Цитата Сообщение от Flime Посмотреть сообщение
    Видел вот такую систему в РЛС модах. Возник вопрос: как ее оптимизировать?

    PHP код:
    new const Commands[6][] =
    {
        {
    "Команда - описание\n"},
        {
    "Команда - описание\n"},
        {
    "Команда - описание\n"},
        {
    "Команда - описание\n"},
        {
    "Команда - описание\n"},
        {
    "Команда - описание\n"}
    }; 
    И далее где-нибудь
    PHP код:
    new string[500];
    format(string,sizeof(string), "%s%s%s%s%s%s",Commands[0],Commands[1],Commands[2],Commands[3],Commands[4],Commands[5]);
    SPD(playerid,121,DIALOG_STYLE_MSGBOX"{FFFFFF}Команды сервера"string"Закрыть""");
    return 
    1
    Опять погоня за милисекундами. Не советую.
    "Власть, кровь, няш-мяш, кровь, власть, Крым наш!" - (c) Наталья Поклонская.

    Критик должен быть готов и способен в любой момент и по первому требованию занять место критикуемого им и выполнять его дело продуктивно и компетентно. В противном случае критика превращается в наглую, самодовлеющую силу и становится тормозом на пути прогресса. (с) AXE

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

    Статус
    Оффлайн
    Регистрация
    19.04.2014
    Адрес
    Уфа, Россия
    Сообщений
    319
    Репутация:
    52 ±
    PHP код:
    ShowPlayerDialog(playerid121DIALOG_STYLE_MSGBOX"Описание команд","Команда - описание\nКоманда - описание\nКоманда - описание\nКоманда - описание ....... потом делаем переход - \", "Меню", "Закрыть"); 

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

    Статус
    Оффлайн
    Регистрация
    01.06.2014
    Адрес
    Москва
    Сообщений
    92
    Репутация:
    16 ±
    Цитата Сообщение от Nurick Посмотреть сообщение
    PHP код:
    ShowPlayerDialog(playerid121DIALOG_STYLE_MSGBOX"Описание команд","Команда - описание\nКоманда - описание\nКоманда - описание\nКоманда - описание ....... потом делаем переход - \", "Меню", "Закрыть"); 
    А когда очень много команд будет? + неудобно..
    Есть еще у кого-нибудь идеи?

  7. #7
    Аватар для Tracker1
    Проверенный

    Статус
    Оффлайн
    Регистрация
    30.07.2013
    Сообщений
    54
    Репутация:
    84 ±
    Циклом по массиву пробежаться - присоединить куски к стрингу.
    И все.

  8. Пользователь сказал cпасибо:
    Flime (29.06.2014)
  9. #8
    Аватар для codeo
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.04.2014
    Сообщений
    108
    Репутация:
    9 ±
    PHP код:
    stock openDWEAP(playerid)
    {
        new 
    string[50];
        for(new 
    j3;j++ ) format(stringsizeof(string),"%s%s\n"stringweapD[j]);
        
    ShowPlayerDialog(playeridDIALOG_1DIALOG_STYLE_LIST"Диалог"string"Выбрать""Отмена");
    }



    new 
    weapD[3][50]=
    {
        
    "1 ",
        
    "2 ",
        
    "3 "
    }; 

  10. Пользователь сказал cпасибо:
    Flime (29.06.2014)
  11. #9
    Аватар для DeimoS
    Модератор?

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

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

    Steve Pavlina

  12. #10
    Аватар для Flime
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.06.2014
    Адрес
    Москва
    Сообщений
    92
    Репутация:
    16 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Вряд ли прикрутка цикла к коду может считаться оптимизацией...
    Чем вас обычный format не устраивает?
    Не знаю причину, но когда много "\n" или чего-то еще, у меня просто из pawno выкидывает. "Windows ищет причину ошибки" и далее только остается закрыть программу. Вот я и ищу способ как-то это обойти :)

 

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

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

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

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

Ваши права

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