Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 3 из 3 ПерваяПервая 1 2 3
Показано с 21 по 23 из 23
  1. #21
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    А каким образом тогда переделывать функцию "SSkin"?
    Оптимизировать память научились, а оптимизировать по-настоящему важные вещи не научились :)

    PHP код:
    stock SSkin(playeridgendnatage)
    {
        new 
    idx GetPVarInt(playerid"SkinArrayIndex");

        if (
    idx >= MAX_SKINS_COUNT)
        {
            
    idx 0;
        }

        for (new 
    0sizeof(skins); i++)
        {
            if (
    reg_gend{i} == gend && reg_nat{i} == nat && (age >= reg_minage{i} && age <= reg_maxage{i}))
            {
                
    format(s_stringsizeof(s_string), "%i"idx);
                
    SendClientMessage(playerid, -1s_string);

                
    SetPlayerSkin(playeridskins[i][idx]);
                
    SetPVarInt(playerid"SkinArrayIndex"idx 1); 
                break;
            }
        }

        return 
    1;

    Я бы вообще всё это объединил бы в один массив, чтобы избавиться от бардака в виде reg_gend, reg_nat и т.п.

  2. Пользователь сказал cпасибо:
    PawnoNoob (15.05.2017)
  3. #22
    Аватар для PawnoNoob
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    257
    Репутация:
    3 ±
    А вот ещё вопросик, можно ли сделать как-нибудь переделать эту функцию так, чтобы было и туда, и обратно.

    Если я не так выразился, то объясню подробнее. Например, имеется два текстдрава, при нажатии на один идёт по порядку (от первого до пятого), а при нажатии на другой - наоборот (от пятого до первого). В голову не приходит идея по реализации данной "штуковины".

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

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    А вот ещё вопросик, можно ли сделать как-нибудь переделать эту функцию так, чтобы было и туда, и обратно.

    Если я не так выразился, то объясню подробнее. Например, имеется два текстдрава, при нажатии на один идёт по порядку (от первого до пятого), а при нажатии на другой - наоборот (от пятого до первого). В голову не приходит идея по реализации данной "штуковины".
    PHP код:
    stock SSkin(playeridbool:isnextgendnatage)
    {
        new 
    idx GetPVarInt(playerid"SkinArrayIndex");

        
    idx += isnext : -1;

        if (
    idx >= MAX_SKINS_COUNT) {
            
    idx 0;
        } else if (
    idx 0) {
            
    idx MAX_SKINS_COUNT 1;
        }

        for (new 
    0sizeof(skins); i++)
        {
            if (
    reg_gend{i} == gend && reg_nat{i} == nat && (age >= reg_minage{i} && age <= reg_maxage{i}))
            {
                
    format(s_stringsizeof(s_string), "%i"idx);
                
    SendClientMessage(playerid, -1s_string);

                
    SetPlayerSkin(playeridskins[i][idx]);
                
    SetPVarInt(playerid"SkinArrayIndex"idx); 
                break;
            }
        }

        return 
    1;

    Стартовый скин только задай сам.
    Или вызывай SSkin так:
    PHP код:
    SetPVarInt(playerid"SkinArrayIndex", -1);
    SSkin(playeridtruegendnatage); 

  5. Пользователь сказал cпасибо:
    PawnoNoob (17.05.2017)
 

 
Страница 3 из 3 ПерваяПервая 1 2 3

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

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

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

Ваши права

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