Вот думаю что лучше использовать на небольших откатах? Переменные или пвары?
Вид для печати
Вот думаю что лучше использовать на небольших откатах? Переменные или пвары?
PVar медленнее массивов, но разница настолько мала... В общем, как уже сказали, разницы нет. Если в массиве будут храниться значения не меньше 0 и не больше 255, можно использовать char (одна ячейка будет занимать не 4 байта, а 1). А так - дело вкуса. Но лучше MAX_PLAYERS переделать под число слотов на сервере
На мой взгляд массивы удобны для использования только в определенном моде. А вот PVar можно вытянуть из любого фс
Смысл в том что 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 байта? Ровным счётом никакого)