Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 1 из 1
  1. #1
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±

    [C++] SampFavorites - класс для работы со списком серверов (USERDATA.DAT)

    Описание

    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 пароль

    Использование

    1. #include <iostream>
    2. #include "SampFavorites.hpp"
    3.  
    4. int main()
    5. {
    6. SampFavorites data;
    7. data.open("USERDATA.DAT");
    8.  
    9. if (!data.isOpen()) {
    10. std::cout << "Error reading file" << std::endl;
    11. return 1;
    12. }
    13.  
    14. SampFavorites::Header header;
    15. SampFavorites::Server server;
    16.  
    17. header = data.getHeader();
    18.  
    19. std::cout << header.fileTag << "\n"
    20. << header.fileVersion << "\n"
    21. << header.serversCount << "\n";
    22.  
    23. for (int i = 0; i < header.serversCount; i++) {
    24. server = data.getServer(i);
    25.  
    26. std::cout << server.address << " | "
    27. << server.port << " | "
    28. << server.hostname << " | "
    29. << server.password << " | "
    30. << server.rcon << std::endl;
    31. }
    32.  
    33. server.address = (char *)"999.000.111.32";
    34. server.port = 4322;
    35. server.hostname = (char *)"test host";
    36. server.password = (char *)"pass22";
    37. server.rcon = (char *)"rcon1";
    38. data.addServer(server);
    39.  
    40. data.save("test.dat");
    41. return 0;
    42. }


    Скачать

    Последний раз редактировалось ziggi; 15.03.2018 в 20:27.

  2. 2 пользователя(ей) сказали cпасибо:
    DeimoS (09.07.2016) Seregamil (10.07.2016)
 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •