ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   [Server] Pawn.Query (SAMP query mechanism) (https://forum.antichat.xyz/showthread.php?t=1392879)

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/attachmen...2004759/PQ.png

Вики:

https://github.com/o...Pawn.Query/wiki

2. Скачать:

https://github.com/o....Query/releases

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

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

alex.morozov 25.12.2023 20:07

а в чем эта вещь полезна?


Время: 01:24