Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 14
  1. #1
    Аватар для Flime
    Пользователь

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

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

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

    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
    Адрес
    Нижний Новгород
    Сообщений
    482
    Репутация:
    180 ±
    Так думаю проще:

    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
    Репутация:
    15 ±
    Цитата Сообщение от 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
    Сообщений
    333
    Репутация:
    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
    Адрес
    Уфа, Россия
    Сообщений
    313
    Репутация:
    51 ±
    PHP код:
    ShowPlayerDialog(playerid121DIALOG_STYLE_MSGBOX"Описание команд","Команда - описание\nКоманда - описание\nКоманда - описание\nКоманда - описание ....... потом делаем переход - \", "Меню", "Закрыть"); 

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

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

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

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

  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
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Вряд ли прикрутка цикла к коду может считаться оптимизацией...
    Чем вас обычный format не устраивает?
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

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

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

 

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

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

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

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

Ваши права

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