ScavengeSurvive/settings
A simple ini-based settings library for loading server settings with defaults. Supports arrays of ints, floats and strings!
Установка через sampctl
sampctl package install ScavengeSurvive/settings
Выполните в папке проекта. sampctl скачает пакет и его зависимости.
Зависит от 3 пакетов
- sampctl/samp-stdlibнет в этом каталоге
- Southclaws/samp-logger★ 20
- Southclaws/samp-ini★ 6
Используется в 2 пакетах
README.md
settings
A simple ini-based settings library for loading server settings with defaults. Supports arrays of ints, floats and strings!
Installation
Simply install to your project:
sampctl package install ScavengeSurvive/settings
Include in your code and begin using the library:
#include <settings>
Usage
Since this library is designed for loading settings on initialisation, API
usability takes priority over optimisation, settings file will be opened and
closed on each call. You can avoid this by setting the optional parameter
openfile to false. The *Array functions do this by opening the file once,
calling the respective GetSetting* function in a loop then closing/comitting
the file.
Here's an example of loading a set of MySQL connection settings:
new
gMySQLHost[128],
gMySQLPort[6],
gMySQLUser[64],
gMySQLPass[256]; // disclaimer: I don't actually know the max values for MySQL params!
main() {
GetSettingString("config.ini", "mysql_host", "localhost", gMySQLHost);
GetSettingString("config.ini", "mysql_port", "6317", gMySQLPort);
GetSettingString("config.ini", "mysql_user", "local", gMySQLUser);
GetSettingString("config.ini", "mysql_pass", "1234", gMySQLPass);
}
Here's an example of some ints and floats:
new
gRoundTime,
Float:gSpawnX,
Float:gSpawnY,
Float:gSpawnZ;
main() {
GetSettingInt("config.ini", "round_time", 900, gRoundTime);
GetSettingFloat("config.ini", "spawn_x", 300.0, gSpawnX);
GetSettingFloat("config.ini", "spawn_y", 1800.0, gSpawnY);
GetSettingFloat("config.ini", "spawn_z", 16.0, gSpawnZ);
}
You can also do arrays! Under the hood, this just appends the index to the key
separated by a / character.
new
gInfoMessage[10][128], // 10 info messages, 128 chars each
gInfoMessageCount;
main() {
GetSettingStringArray("config.ini", "info_message", "Add new messages in config.ini!", gInfoMessage, gInfoMessageCount);
}
Testing
To test, simply run the package:
sampctl package run
And observe y_testing output.
Страница собрана из того, что GitHub публикует о репозитории. samp.directory не хранит этот код. Сообщить о проблеме с этой записью