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

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

    SetPVarInt and глобальные переменные MAX_PLAYERS

    Вот думаю что лучше использовать на небольших откатах? Переменные или пвары?

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

    Статус
    Оффлайн
    Регистрация
    07.03.2014
    Сообщений
    331
    Репутация:
    47 ±
    Цитата Сообщение от DmX Посмотреть сообщение
    Вот думаю что лучше использовать на небольших откатах? Переменные или пвары?
    Вроде кто-то тестил, оказалось что разницы то как таковой нету, в основном на вкус.
    "Власть, кровь, няш-мяш, кровь, власть, Крым наш!" - (c) Наталья Поклонская.

    Критик должен быть готов и способен в любой момент и по первому требованию занять место критикуемого им и выполнять его дело продуктивно и компетентно. В противном случае критика превращается в наглую, самодовлеющую силу и становится тормозом на пути прогресса. (с) AXE

  3. #3
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    PVar медленнее массивов, но разница настолько мала... В общем, как уже сказали, разницы нет. Если в массиве будут храниться значения не меньше 0 и не больше 255, можно использовать char (одна ячейка будет занимать не 4 байта, а 1). А так - дело вкуса. Но лучше MAX_PLAYERS переделать под число слотов на сервере
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  4. #4
    Аватар для wAx
    ¯\_(ツ)_/¯

    Статус
    Оффлайн
    Регистрация
    13.12.2013
    Сообщений
    377
    Репутация:
    146 ±
    На мой взгляд массивы удобны для использования только в определенном моде. А вот PVar можно вытянуть из любого фс

  5. #5
    Аватар для DmX
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.04.2013
    Адрес
    Краснодар
    Сообщений
    292
    Репутация:
    23 ±
    Смысл в том что PVar обнулять не нужно)

  6. #6
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от DmX Посмотреть сообщение
    Смысл в том что PVar обнулять не нужно)
    Массивы тоже нужно обнулять только тогда, когда их значение используется в определённых проверках и передача данных одного игрока к другому может заставить неправильно работать код. И правильный код подразумевает под собой установку всех важных значений массивов перед этими самыми проверками, поэтому и обнуление не всегда нужно. То бишь если код имеет подобную структуру

    PHP код:
    new ololo[MAX_PLAYERS];


    public 
    OnDialogResponse(...)
    {
        
    ololo[playerid] = 1;
        
    //Далее идут проверки на значение

    То какой смысл обнулять данный массив при выходе? Он и так всегда будет иметь индивидуальное значение, ибо первое его использование идёт после установки для него значения. Надеюсь, понятна мысль.


    Да и вам разве трудно написать банальную строчку
    PHP код:
    array[playerid] = 0
    И при этом каждый раз не писать
    PHP код:
    SetPVarInt(playerid"array"1); 
    или
    PHP код:
    SetPVarInt(playerid"array"GetPVarInt(playerid"array")+1); 
    ??

    Лично я использую pVar тогда, когда мне нужно хранить данные временно (например, при входе на сервер какой-нибудь таймер). Когда данные мне больше не нужны - я удаляю pVar и он отчищается из памяти. В остальных же случаях я использую массивы, ибо pVar гораздо неудобнее в написании и все его прелести теряются, если информация храниться долго (ну какой мне толк от того, что при выходе игрока с сервера освобождается в памяти 4 байта? Ровным счётом никакого)
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

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

 

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

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

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

Ваши права

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