 |

16.06.2021, 11:32
|
|
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами:
5332594
Репутация:
163
|
|
Описание: Получает инфу о сервере сампа. это мой вариант реализации. предлагайте свои идеи по улучшению и ругайте мой код!!
GitHub: https://github.com/Receiver1/re_samp_query_mechanism
Использование:
C++:
Код:
auto
sqm
=
c_sqm
::
singleton
(
)
;
sqm
->
initialize
(
"176.32.37.93"
,
7777
)
;
auto
srv_info
=
sqm
->
handle
(
sqm
->
query
(
QUERYTYPE_SERVERINFO
,
1
)
)
;
// Now srv_info contains: is_locked, players, max_players, host_name, game_mode, language
Пакеты:
Враперры можно найти в wrappers.hpp
|
|
|

16.06.2021, 11:33
|
|
Участник форума
Регистрация: 26.09.2020
Сообщений: 137
С нами:
2963755
Репутация:
33
|
|
Ники с Arizona RP сможет получать?
|
|
|

16.06.2021, 11:54
|
|
Познавший АНТИЧАТ
Регистрация: 18.08.2017
Сообщений: 1,568
С нами:
4598023
Репутация:
183
|
|
Сообщение от RomanBZK
Ники с Arizona RP сможет получать?
C++:
Код:
// Now srv_info contains: is_locked, players, max_players, host_name, game_mode, language
- Закрытый ли сервер
- Количество игроков
- Максимальное количество игроков
- Имя хоста
- Гейммод
- Язык
Значит не может, логично?
|
|
|

16.06.2021, 11:59
|
|
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами:
5332594
Репутация:
163
|
|
Сообщение от Vintik
C++:
Код:
// Now srv_info contains: is_locked, players, max_players, host_name, game_mode, language
- Закрытый ли сервер
- Количество игроков
- Максимальное количество игроков
- Имя хоста
- Гейммод
- Язык
Значит не может, логично?
для получения списка игроков другой пакет есть: QUERYTYPE_PLAYERLIST, - но сервер не вернёт ничего, если игроков больше 100
|
|
|

22.08.2021, 09:38
|
|
Участник форума
Регистрация: 08.03.2019
Сообщений: 121
С нами:
3781678
Репутация:
113
|
|
|
|
|

24.04.2022, 10:59
|
|
Познающий
Регистрация: 18.09.2019
Сообщений: 31
С нами:
3502227
Репутация:
63
|
|
Форк этого же проекта, но с реализацией через boost::asio: https://github.com/Tim4ukys/re_samp_query_mechanism
+ не обязательно вводить IP (80.66.82.249 и 01.gtarp.ru одно и тоже выйдет в итоге)
Сорьки, что аппую тему. Зря старался чтоль?=((
Сообщение от Спойлер
example.cpp:
[CODE]
#include
#include
#include "SQM.h"
// https://www.blast.hk/threads/781/post-128505
int
randomInteger
(
int
min
,
int
max
)
{
static
std
::
random_device rd
;
static
std
::
default_random_engine
e1
(
rd
(
)
)
;
std
::
uniform_int_distribution
uniform_dist
(
min
,
max
)
;
return
uniform_dist
(
e1
)
;
}
int
main
(
int
argc
,
char
*
argv
[
]
)
{
SQM sm
{
"01.gtarp.ru"
,
"7777"
}
;
std
::
cout
(
)
;
std
::
cout
(
)
;
for
(
const
auto
&
[
rkey
,
rr
]
:
rul
.
m_arrRules
)
{
std
::
cout
(
)
;
size_t i_player
{
}
;
for
(
const
auto
&
pl
:
players
.
m_arrPlayer
)
{
std
::
cout
5
)
{
std
::
cout
(
)
;
tick
=
GetTickCount64
(
)
-
tick
;
std
::
cout
Вывод:

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