Просмотр полной версии : [Вопрос] SetPVarInt and глобальные переменные MAX_PLAYERS
Вот думаю что лучше использовать на небольших откатах? Переменные или пвары?
underwoker
26.05.2014, 18:20
Вот думаю что лучше использовать на небольших откатах? Переменные или пвары?
Вроде кто-то тестил, оказалось что разницы то как таковой нету, в основном на вкус.
PVar медленнее массивов, но разница настолько мала... В общем, как уже сказали, разницы нет. Если в массиве будут храниться значения не меньше 0 и не больше 255, можно использовать char (одна ячейка будет занимать не 4 байта, а 1). А так - дело вкуса. Но лучше MAX_PLAYERS переделать под число слотов на сервере
На мой взгляд массивы удобны для использования только в определенном моде. А вот PVar можно вытянуть из любого фс
Смысл в том что PVar обнулять не нужно)
Смысл в том что PVar обнулять не нужно)
Массивы тоже нужно обнулять только тогда, когда их значение используется в определённых проверках и передача данных одного игрока к другому может заставить неправильно работать код. И правильный код подразумевает под собой установку всех важных значений массивов перед этими самыми проверками, поэтому и обнуление не всегда нужно. То бишь если код имеет подобную структуру
new ololo[MAX_PLAYERS];
public OnDialogResponse(...)
{
ololo[playerid] = 1;
//Далее идут проверки на значение
}
То какой смысл обнулять данный массив при выходе? Он и так всегда будет иметь индивидуальное значение, ибо первое его использование идёт после установки для него значения. Надеюсь, понятна мысль.
Да и вам разве трудно написать банальную строчку
array[playerid] = 0;
И при этом каждый раз не писать
SetPVarInt(playerid, "array", 1);
или
SetPVarInt(playerid, "array", GetPVarInt(playerid, "array")+1);
??
Лично я использую pVar тогда, когда мне нужно хранить данные временно (например, при входе на сервер какой-нибудь таймер). Когда данные мне больше не нужны - я удаляю pVar и он отчищается из памяти. В остальных же случаях я использую массивы, ибо pVar гораздо неудобнее в написании и все его прелести теряются, если информация храниться долго (ну какой мне толк от того, что при выходе игрока с сервера освобождается в памяти 4 байта? Ровным счётом никакого)
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot