PDA

Просмотр полной версии : [Server] Pawn.Query (SAMP query mechanism)


oukibt
01.07.2021, 21:28
1. Описание:

С помощью этого плагина, вы сможете перехватывать и изменять данные ответа клиенту от сервера.

- Плагин может перехватывать такие запросы, как:


Players List

Server Information

Detailed Player List

Server Rules

Ping


Изменять данные вы сможете напрямую с помощью новых нативных функций.

1.1 Enums ( Энумераторы )

C++:






enum
Query_HookType
{
QHOOK_INFO
,
QHOOK_RULES
,
QHOOK_PLAYERS
,
QHOOK_DETAILED_PLAYERS
,
QHOOK_PING
,
}
;




Используется в функции EnableHookQuery для передачи типа хука

C++:






enum
Query_Players
{
PQ_pName
[
MAX_PLAYER_NAME
]
,
PQ_pScore
,
}
;




Используется для формирования массива игроков

C++:






enum
Query_DetailedPlayers
{
PQ_dID
,
PQ_dName
[
MAX_PLAYER_NAME
]
,
PQ_dScore
,
PQ_dPing
,
}
;




Используется для формирования массива игроков (детально)

C++:






enum
Query_Rules
{
PQ_rName
[
MAX_RULE_LENGTH
]
,
PQ_rValue
[
MAX_RULE_LENGTH
]
,
}
;




Используется для формирования массива серверных правил

1.2 Функции

C++:






native
EnableHookQuery
(
Query_HookType
:
Type
,
bool
:
enable
)
;




Аргументы:

Query_HookType: Type // Тип запроса для установки перехвата

bool: enable // true, чтобы начать перехват | false, чтобы завершить перехват

Позволяет начать перехват одного из доступных запросов.

C++:






native
SetServerPlayers
(
const
Players
[
]
[
Query_Players
]
,
const
size
=
sizeof
Players
)
;




Добавляет игроков на сервер, которые были записаны в массив.

C++:






native
SetServerRules
(
const
Rules
[
]
[
Query_Rules
]
,
const
size
=
sizeof
Rules
)
;




Устанавливает правила сервера, которые были записаны в массив.

C++:






native
SetServerInformation
(
bool
:
havePassword
,
MaxPlayers
,
const
hostname
[
]
,
const
gamemode
[
]
,
const
language
[
]
)
;




Устанавливает информацию о сервере.

C++:






native
SetServerDetailedPlayers
(
const
DetailedPlayers
[
]
[
Query_DetailedPlayers
]
,
const
size
=
sizeof
DetailedPlayers
)
;




Отправка подробных данных об игроках, которые были записаны в массив.

C++:






native
SendPing
(
bool
:
send
)
;




Этой функцией можно приостановить или возобносить отправку пинга.

1.3 Пример

C++:





[CODE]
#include
#include
main
(
)
{
}
public
OnGameModeInit
(
)
{
for
(
new
i
=
0
;
i



На выходе получится примерно вот так

https://cdn.discordapp.com/attachments/582915540285128725/859874440582004759/PQ.png

Вики:

https://github.com/o...Pawn.Query/wiki (https://github.com/oukibt/Pawn.Query/wiki)

2. Скачать:

https://github.com/o....Query/releases (https://github.com/oukibt/Pawn.Query/releases)

Исходный код:

https://github.com/oukibt/Pawn.Query/

alex.morozov
25.12.2023, 20:07
а в чем эта вещь полезна?