В теме 3 сообщения

m1n1vv
Свой человек

Знаете ли вы, что можно хранить не более 32 переменных, которые могут принимать значения логического типа true/false, в одной переменной? Вы не только сэкономите память, но также наведете порядок в своем коде. С использованием char можно будет хранить только 8 флагов!

Если у вас есть, допустим, 100 переменных логического типа, то вы будете использовать 195 Кб пространства. Используя 4 массива с флагами, вы затратите только 8 Кб. Результат будет тот же, но вы сэкономите 187 Кб пространства.


Объявление:

enum
    PlayerFlags: (<< = 1)
    {
        LOGGED = 1, //очень важно, чтобы значение первой константы было 1
        ANIMLOADING,
        RESPAWN
    };

new
    PlayerFlags:Player[MAX_PLAYERS];

 

Как это используется:

//приравняет все флаги к 0
Player[playerid] = PlayerFlags:0;
 
//значение флага ANIMLOADING будет истина (1)
Player[playerid] |= ANIMLOADING;

 

//значение флага ANIMLOADING будет ложь (0)
Player[playerid] &= ~ANIMLOADING;

 

//установит противоположное значение флага ANIMLOADING
Player[playerid] ^= ANIMLOADING;

 

//вернет значение флага ANIMLOADING
Player[playerid] & ANIMLOADING;

 

Автор: Slice

Перевод данной версии: @m1n1vv 

Отредактировано пользователем DEST
Причина: правки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Лишние сообщения почищены. Не обратил внимание, что это перевод. А значит, содержание будет примерно одинаково (в сети есть практически такой же перевод от 2014 года). Авторство поправил. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Бот
Великий Гуру

АВТОМАТИЧЕСКИ СФОРМИРОВАННОЕ СООБЩЕНИЕ:

Данная тема была перемещена модерацией или администрацией портала PAWNO-RUS.RU! 

Перемещена из: "Скриптинг PAWN > Готовые решения"

Перемещена в: "Скриптинг PAWN > Уроки"

 

С уважением, ваш Бот! 

Если вы НЕ согласны с переносом данной темы в раздел "Скриптинг PAWN > Уроки", пожалуйтесь на это сообщение в жалобе указав причины вашего недовольства. Спасибо. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • gooding
      От gooding
      Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
      Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
       
       

    • gooding
      От gooding


      Скачать файл PAR RP | Уникальный мод без багов
      Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
      Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
       
       

      Добавил gooding Добавлено 20.11.2024 Категория Моды Автор GOODING (Я)  
    • Kalinin
      От Kalinin
      1. Набираю команду для создания CRMP сервера.
      2. Вакансии  которые свободны. Связь через TG @kalinin_sql
      Нам нужны;
      1.Кодеры
      2.Маперы
      3.СММ
      Так-же дружная работа. По поводу зарплаты будем обговаривать все лично в беседе ТГ
       
    • whccompany
      От whccompany
      Rostov Role Play | Rostov RP | CRMP Mobile Project объявляет набор людей в свою команду: Нам требуются:
       
      1. Маппера:
      Сдельная оплата труда от 250 до 3000 рублей/ за 1 работу
       
      2. Специалист по Text Draw:
      Сдельная оплата труда от 400 до 3500 рублей/ за одну работу
       
      3. Pawn разработчик:
      Заработная плата от 10 000 рублей/месяц
       
      4. Программист для создания лаунчера и сайта UCP с автодонатом:
      Заработная плата от 10 000 рублей/месяц
       
      Контакты для связи:
       
      ВКонтакте
       
      Telegram