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

Реклама


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

    Статус
    Оффлайн
    Регистрация
    22.04.2013
    Адрес
    Краснодар
    Сообщений
    292
    Репутация:
    23 ±

    Сократить функцию

    Помогите сократить функцию.

    PHP код:
    Null3dKoikaSF(playerid)
    {
        switch(
    pTemp[playerid][pKoikasf])
        {
            case 
    0:
            {
                
    koika[0] = false;
            }
            case 
    1:
            {
                
    koika[1] = false;
            }
            case 
    1:
            {
                
    koika[2] = false;
            }
        }
        
    Update3dKoikaSF(playerid);

    PHP код:
    Update3dKoikaSF(playerid)
    {
        new 
    mes[64];
        if(
    koika[0] == false)
        {
            
    Update3DTextLabelText(dkoika[0],0xFFFFFFFF,"Место для лечения\nИспользуйте: {00BFFF}F");
        }
        else
        {
            
    format(messizeof(mes), "Пациент: {ffffff}%s\n{FFFF00}Ждёт приёма врача!",pData[playerid][pNickname]);
            
    Update3DTextLabelText(dkoika[0],0xFFFF00FF,mes);
        }
        if(
    koika[1] == false)
        {
            
    Update3DTextLabelText(dkoika[1],0xFFFFFFFF,"Место для лечения\nИспользуйте: {00BFFF}F");
        }
        else
        {
            
    format(messizeof(mes), "Пациент: {ffffff}%s\n{FFFF00}Ждёт приёма врача!",pData[playerid][pNickname]);
            
    Update3DTextLabelText(dkoika[1],0xFFFF00FF,mes);
        }

    Последний раз редактировалось DmX; 29.05.2016 в 04:57.

  2. #2
    Аватар для Jonick
    Пользователь

    Статус
    Оффлайн
    Регистрация
    26.12.2014
    Сообщений
    7
    Репутация:
    0 ±
    Можно использовать цикл
    PHP код:
    for(new i=0;i<2;i++)
    if(
    koika[i] == false
    И так далее)

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

    Статус
    Оффлайн
    Регистрация
    06.03.2016
    Адрес
    Moscow
    Сообщений
    161
    Репутация:
    44 ±
    типа того:
    PHP код:
    Null3dKoikaSF(playerid)
    {
        
    koika[pTemp[playerid][pKoikasf]] = false;
        
    Update3dKoikaSF(playeridpTemp[playerid][pKoikasf]);
    }

    Update3dKoikaSF(playeridpq)
    {
        new 
    mes[64];
        if(!
    koika[pq])
            
    format(messizeof mes"Место для лечения\nИспользуйте: {00BFFF}F");
        else
            
    format(messizeof mes"Пациент: {ffffff}%s\n{FFFF00}Ждёт приёма врача!"pData[playerid][pNickname]);
        
    Update3DTextLabelText(dkoika[pq], koika[pq] ? 0xFFFF00FF 0xFFFFFFFFmes);

    Последний раз редактировалось Nash_Brigers; 29.05.2016 в 12:31.
    Член сообщества Green Square.

  4. #4
    Аватар для Londlem
    Модератор

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Сообщений
    1,360
    Репутация:
    767 ±
    Nash_Brigers, не стоит забывать, что тернарная инструкция это тот же оператор "if", но он расписывается короче (не более того).
    Так что в вашем случае Update3DTextLabelText нужно поместить в каждую ветку условий.

  5. Пользователь сказал cпасибо:
    Nash_Brigers (29.05.2016)
  6. #5
    Аватар для Nash_Brigers
    Пользователь

    Статус
    Оффлайн
    Регистрация
    06.03.2016
    Адрес
    Moscow
    Сообщений
    161
    Репутация:
    44 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    Nash_Brigers, не стоит забывать, что тернарная инструкция это тот же оператор "if", но он расписывается короче (не более того).
    Так что в вашем случае Update3DTextLabelText нужно поместить в каждую ветку условий.
    Я ни о чём не забывал.

    Автору:
    PHP код:
    Null3dKoikaSF(playerid)
    {
        
    koika[pTemp[playerid][pKoikasf]] = false;
        
    Update3dKoikaSF(playeridpTemp[playerid][pKoikasf]);
    }

    Update3dKoikaSF(playeridpq)
    {
        if(!
    koika[pq])
            
    Update3DTextLabelText(dkoika[pq], 0xFFFFFFFF"Место для лечения\nИспользуйте: {00BFFF}F");
        else 
        {
            new 
    mes[64];
            
    format(messizeof mes"Пациент: {ffffff}%s\n{FFFF00}Ждёт приёма врача!"pData[playerid][pNickname]);
            
    Update3DTextLabelText(dkoika[pq], 0xFFFF00FFmes);
        }

    Последний раз редактировалось Nash_Brigers; 30.05.2016 в 10:49.
    Член сообщества Green Square.

 

 

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

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

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

Ваши права

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