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

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    516
    Репутация:
    21 ±

    bool или пвар?

    Всем привет. Если где то используется 1/2 (например GPS), что лучше использовать bool или PVar?

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

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    bool - на самом деле, в Pawn нет bool (bool - должно занимать 1 байт в памяти), на самом деле занимает 4 байта.
    Выгоды от работы с bool практически нет.
    PVar - прототип динамической памяти, выделял, поработал, удалил. Но, у PVar есть ограничение 800 (Если не ошибаюсь) PVars на одного игрока

    Преимущества использования PVar'ов над массивами размером в MAX_PLAYERS:
    1) PVar'ы доступны из всех загруженных гейммодов и скриптов, упрощая модуляризация вашего кода.
    2) PVar'ы автоматически удаляются, когда игрок выходит с сервера, что означает вам не нужно вручную сбрасывать переменные для следующего подключившигося игрока.
    3) Больше нет нужды в сложных енумах/playerInfo-структурах.
    4) Экономит память, не расходуя ее на элементы под playerid'ы, которые, возможно, вообще никогда не будут использованы.
    5) Вы можете легко перечислять и выводить/хранить список PVar'ов. Это упрощает как отладку, так и хранение информации об игроках.
    6) Если даже PVar не был создан, при запросе его значения возвращается 0 по умолчанию.
    7) PVar'ы могут хранить очень большие строки используя динамически выделяемую память.
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Хочу заметить: Если вы присвоите какому-либо pvar'у значение 0, то этот pvar не удалится.

    На самом деле создание pvar'а ( SetPVarInt ) очень ресурсоёмкая операция.

    Если вы уверены, что в дальнейшем не будете использовать данный pvar, то обязательно удаляйте его с помощью DeletePVar.

  4. #4
    Аватар для StevenH
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    516
    Репутация:
    21 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    Хочу заметить: Если вы присвоите какому-либо pvar'у значение 0, то этот pvar не удалится.

    На самом деле создание pvar'а ( SetPVarInt ) очень ресурсоёмкая операция.

    Если вы уверены, что в дальнейшем не будете использовать данный pvar, то обязательно удаляйте его с помощью DeletePVar.
    Спасибо). Если мне пвар больше не нужен, я не ровняю его нулю, а удаляю (DeletePVar).

 

 

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

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

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

Ваши права

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