Описание
C++ класс, который предоставляет функции для работы со списком избранных серверов SA-MP лаунчера. Список избранных серверов находится по адресу %USERPROFILE%\Documents\GTA San Andreas User Files\SAMP\USERDATA.DAT.
Будет полезно для тех, кто создаёт или планирует создавать собственный лаунчер для SA-MP.
Спецификация формата хранения
Заголовок файла:
№ Размер (байт) Описание 1 4 Тэг файла (SAMP) 2 4 Версия файла (1) 2 4 Количество серверов
Сервер:
№ Размер (байт) Описание 1 4 Размер IP адреса 2 Зависит от значения №1 IP адрес 3 4 Порт 4 4 Размер названия сервера 5 Зависит от значения №4 Название сервера 6 4 Размер пароля 7 Зависит от значения №6 Пароль 8 4 Размер rcon-пароля 9 Зависит от значения №8 Rcon пароль
Использование
#include <iostream> #include "SampFavorites.hpp" int main() { SampFavorites data; data.open("USERDATA.DAT"); if (!data.isOpen()) { std::cout << "Error reading file" << std::endl; return 1; } SampFavorites::Header header; SampFavorites::Server server; header = data.getHeader(); std::cout << header.fileTag << "\n" << header.fileVersion << "\n" << header.serversCount << "\n"; for (int i = 0; i < header.serversCount; i++) { server = data.getServer(i); std::cout << server.address << " | " << server.port << " | " << server.hostname << " | " << server.password << " | " << server.rcon << std::endl; } server.address = (char *)"999.000.111.32"; server.port = 4322; server.hostname = (char *)"test host"; server.password = (char *)"pass22"; server.rcon = (char *)"rcon1"; data.addServer(server); data.save("test.dat"); return 0; }
Скачать
- Последняя версия архивом: https://github.com/ziggi/SampFavorites/releases
- Посмотреть не скачивая: SampFavorites.hpp, SampFavorites.cpp