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

    Статус
    Оффлайн
    Регистрация
    24.05.2014
    Сообщений
    346
    Репутация:
    2 ±

    Оптимизировать код

    Можно ли как нибудь оптимизировать код
    PHP код:
    if(IsPlayerInAnyVehicle(playerid))
        {
             if(
    newkeys 65536)
              {
                if(
    GetPVarInt(playerid,"gInvs")) return true;
                  
    ShowInv(playerid);
                
    SetPVarInt(playerid"gInv"1);
            }
            return 
    1;
        }
        else
        {
            if(
    newkeys == KEY_CTRL_BACK)
            {
                if(
    GetPVarInt(playerid,"gInvs")) return true;
                 
    ShowInv(playerid);
                  
    SetPVarInt(playerid"gInv"1);
            }
        } 
    Последний раз редактировалось Osetin; 28.12.2015 в 20:40. Причина: Поправил.

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

    Статус
    Оффлайн
    Регистрация
    21.11.2013
    Сообщений
    551
    Репутация:
    274 ±
    Лучше на уроки по русскому языку в школу ходи.

  3. 2 пользователя(ей) сказали cпасибо:
    Sp1ke (28.12.2015) Unreal (28.12.2015)
  4. #3
    Аватар для ALIT13
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.05.2014
    Сообщений
    346
    Репутация:
    2 ±
    Цитата Сообщение от Seregamil Посмотреть сообщение
    Лучше на уроки по русскому языку в школу ходи.
    Можно ли как нибудь оптимизировать код ?

  5. #4
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от ALIT13 Посмотреть сообщение
    Можно ли как нибудь оптимизировать код
    PHP код:
    if(IsPlayerInAnyVehicle(playerid))
        {
             if(
    newkeys 65536)
              {
                if(
    GetPVarInt(playerid,"gInvs")) return true;
                  
    ShowInv(playerid);
                
    SetPVarInt(playerid"gInv"1);
            }
            return 
    1;
        }
        else
        {
            if(
    newkeys == KEY_CTRL_BACK)
            {
                if(
    GetPVarInt(playerid,"gInvs")) return true;
                 
    ShowInv(playerid);
                  
    SetPVarInt(playerid"gInv"1);
            }
        } 
    PHP код:
    new right_key IsPlayerInAnyVehicle(playerid) ? KEY_YES KEY_CTRL_BACK;

    if (
    right_key KEY_YES)
    {
        if (
    GetPVarInt(playerid"gInvs"))
            return 
    true;

        
    ShowInv(playerid);
        
    SetPVarInt(playerid"gInv"1);


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

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    PHP код:
    if (right_key KEY_YES
    Наверное, вы имели в виду "if (newkeys & right_key)" ?

    Как бы то ни было, это не совсем правильная оптимизация. Дело в том, что в исходном варианте в одном случае нажатие клавиши проверяется с помощью "&", а в другом с помощью "==", т.е. не допускается нажатие других клавиш.
    Поэтому более корректным будет следующий вариант:
    PHP код:
        if(IsPlayerInAnyVehicle(playerid) && (newkeys 65536) || (newkeys == KEY_CTRL_BACK))
        {
            if(
    GetPVarInt(playerid,"gInvs"))
                return 
    true;
            
    ShowInv(playerid);
            
    SetPVarInt(playerid"gInv"1);
        } 

    UPD: Беру свои слова обратно. В одной из веток if был return 1, а в другой нет.
    Топикстартеру: оставляйте свой код, как есть. Или решайте, что делать с return 1: убрать его в одной из веток if или добавить в конец другой.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  7. Пользователь сказал cпасибо:
    Unreal (01.01.2016)
 

 

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

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

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

Ваши права

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