Перейти к публикации
  • Регистрация
Max Sokolov

query_client_cvar - проверка кваров игрока

Рекомендованные сообщения

Проверка кваров игрока

Инфо cvars.inc

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/**
* Позволяет плагину узнать значение клиентского квара, путем отправки специального запроса.
*
* @note пример того, как можно оформить вызываемую callback функцию
*
* public cvar_query_callback(id, const cvar[], const value[], const param[])
 
*   id      - индекс игрока
*   cvar    - запрашиваемый квар
*   value   - значение квара у игрока
*   param   - необязательные доп. данные
*
* @param id            индекс игрока
* @param cvar          запрашиваемый квар
* @param resultFunc    имя callback функции
* @param paramlen      размер массива доп. данных
* @param params        доп. данные, которые будут переданы в callback
*
* @noreturn
* @error               Сообщение об ошибке будет выдано в следующих случаях:
*                       - если индекс игрока находится за пределами диапазона от 1 до
*                         MaxClients
*                       - игрок не подключен
*                       - callback функция не объявлена
*                       - в процессе запроса возникли проблемы
*/
 
native query_client_cvar(id, const cvar[], const resultFunc[], paramlen=0, const params[]="");




пример проверки:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <amxmodx>
 
#define PLUGIN  "Check client cvar"
#define VERSION "1.0"
#define AUTHOR  "amxxmodx.ru"
 
#define MAX_CLIENTS 32
#define NAME_LEN    32
 
#define TASKID_CHECK_CLIENT_CVAR 12345
 
// Название квара
#define CVAR_NAME "rate"
 
new user_name[NAME_LEN];
 
public plugin_init()
{
  register_plugin(PLUGIN, VERSION, AUTHOR);
}
 
public client_putinserver(id)
{
  set_task(1.0, "check_client_cvar", id + TASKID_CHECK_CLIENT_CVAR);
}
 
public check_client_cvar(taskid)
{
  new id = taskid - TASKID_CHECK_CLIENT_CVAR;
   
  if (!is_user_connected(id)) {
    return;
  }
   
  // Запрашиваем значение клиентского квара
  query_client_cvar(id, CVAR_NAME, "cvar_query_callback");
}
 
public cvar_query_callback(id, const cvar[], const value[])
{
  get_user_name(id, user_name, charsmax(user_name));
   
  // Если квар не существует value будет 'Bad CVAR request'
  log_amx("User: '%s', cvar: '%s', value: '%s'", user_name, cvar, value);
}
  • Мне нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×

Важная информация

Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим. Условия использования Политика конфиденциальности Правила