Система серверных переменных
Система серверных переменных (в сокращении SVar) - это новый способ динамического создания серверных переменных в глобальном пространстве, т.е. к одной переменной можно получить доступ и из игрового мода (gamemode), и из подключаемого сценария (filterscript).
Они работают точно так же, как PVars, но не привязаны к конкретному ID игрока.
Эта система была представлена в SA-MP 0.3.7 R2-1 и не будет работать на ранних версиях!
Система SVar аналогична системе PVar, за исключением того, что SVar создаёт глобальные серверные переменные, не привязанные к ID игроков, которые не изменяются даже при смене игрового режима (gamemode).
Преимущества
-
SVar'ы могут быть созданы и считаны во всех запущенных сценариях сервера (игровые режимы, скрипты, инклуды и т.д.)
-
SVar легко вывести или записать куда-то с помощью перебора. Это делает отладку намного проще.
-
Если попытаться получить доступ к ещё не созданной серверной переменной, она всё ещё вернёт значение по умолчанию - 0.
-
В SVar можно хранить очень большие строки при помощи динамически выделяемой памяти.
-
Можно устанавливать, получать и создавать SVar прямо во время игры.
Недостатки
- SVar в несколько раз медленнее, чем обычные переменные. Как правило, предпочтительнее пожертвовать памятью, нежели скоростью, но не наоборот.
Функции
- SetSVarInt: установить целочисленное значение серверной переменной.
- GetSVarInt: получить целочисленное значение серверной переменной.
- SetSVarString: установить строчное значение серверной переменной.
- GetSVarString: получить строчное значение серверной переменной.
- SetSVarFloat: установить число с плавающей точкой в качестве значения серверной переменной.
- GetSVarFloat: получить целочисленное значение серверной переменной в виде числа с плавающей точкой.
- DeleteSVar: удалить серверную переменную.