Инфо из amxmodx.inc:
/* Returns player userid. */
native get_user_userid(index);
Если выполнить команду amx_who, то консоль нам вернет вот такую таблицу ( завит от количества игроков на сервере и наличие плагина с данной командой, плагин с админскими командами входит в стандартный набор amxmodx)
Clients on server:
# nick IP userid imm ViP access
1 Admin 192.168.50.120 10 No Yes
2 BotName 127.0.0.1 11 No No z
3 (1)BotName 127.0.0.1 12 No No z
4 (2)BotName 127.0.0.1 13 No No z
5 (3)BotName 127.0.0.1 14 No No z
6 (4)BotName 127.0.0.1 15 No No z
7 (5)BotName 127.0.0.1 16 No No z
Total 7
Грубо говоря, первый столбик это индекс игроков на сервере, а вот колона userid и есть тот идентификатор с которым работают такие команды как kick или amx_ban# nick IP userid imm ViP access
1 Admin 192.168.50.120 10 No Yes
2 BotName 127.0.0.1 11 No No z
3 (1)BotName 127.0.0.1 12 No No z
4 (2)BotName 127.0.0.1 13 No No z
5 (3)BotName 127.0.0.1 14 No No z
6 (4)BotName 127.0.0.1 15 No No z
7 (5)BotName 127.0.0.1 16 No No z
Total 7
Синтаксис:
get_user_userid(index)
- index - id игрока
Тип функции:
Native
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "[amxmodx.inc] get_user_menu"
#define VERSION "1.0"
#define AUTHOR "Admin"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /kick","f_KickPlayer")
}
public f_KickPlayer(id){
server_print("kick #%d player index != userid",id)
server_cmd("kick #%d player index != userid",id)
new userid = get_user_userid(id)
server_print("kick #%d Correct command",userid)
server_cmd("kick #%d Correct command",userid)
}
Описание:
Данный пример сделает из вас мазохистов, не пугайтесь, всего то на пару секунд ( это сделано что бы не нагромождать лишнего и использовать всем привычные функции).
Выполняя команду say /kick, сервер вас кикнет ив своей консоли напишет вот такое сообщение:
kick #1 player index != userid
kick #7 Correct command
Admin : /kick
Dropped Admin from server
Reason: Kicked :Correct command
Те кто внимательно смотрели код и это сообщении, думаю уже догадались о всем происходящем, если нет, я поясню.kick #7 Correct command
Admin : /kick
Dropped Admin from server
Reason: Kicked :Correct command
Для того что бы кикнуть игрока с сервера, необходимо воспользоваться командой kick, вот ее синтаксис:
kick
usage: kick < name > | < # userid >
usage: kick < name > | < # userid >
Как видно нам нужно указать или имя или userid, а в примере сначала подставляется индекс игрока, по этому то его и не кикает с сервера.
Далее, с помощью функции get_user_userid, был получен его userid и подставлен в команду и вас с успехом выкидывает с сервера.
Надеюсь вы поняли разницу между index и userid. Для понимания вот еще можно что добавить:
index игрока может быть от 1 до 32,то есть можно сказать индекс это занимаемый слот игроком.