Данная функция встречается почти что в каждом плагине. В ней часто обнуляют массивы используемые в плагине, добавляют игроку какие то свойства,изменяют настройки конфига необходимые для игры на данном сервере/моде и еще куча других дел делают в этой функции.
Инфо из amxmodx.inc:
/* Called on client connection. */
forward client_connect(id);
Синтаксис:
public client_connect ( id )
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <fun>
#define PLUGIN "Client connectet to server"
#define VERSION "1.0"
#define AUTHOR "Admin"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
}
public client_connect(id){
set_user_gravity(id,0.5)
}
Описание:
В плагине нет ни каких команд, он автоматически при коннекте к серверу, устанавливает гравитацию игра равную половине серверной.
Для того что бы понять, в какой момент вызывается данная функция, вот еще один пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Secundomer connecta"
#define VERSION "1.0"
#define AUTHOR "Admin"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
}
new secundomer[33]
public client_connect(id){
secundomer[id] = 0
set_task(1.0, "counter", 0, _, _, "b", 0)
}
public counter(id){
secundomer[id]++
client_print(0,print_chat,"The player has joined %d seconds ago",secundomer)
server_print("The player has joined %d seconds ago",secundomer)
}
В момент когда игрок коннектится, вызывается client_connect, в которой мы с помощью функции set_task, задаем бесконечное повторение функции counter для него. Чуть ранее мы заранее зарегистрировали новый глобальный массив new secundomer[33] в который будет заносить +1 секунду каждый раз когда выполняется данная функция.
То есть после того как мы заходя на сервер вызвали функцию client_connect, через 1 секунду начал работать секундомер, который с первой же секунды начинает в консоль сервера выдавать числа от 1 и до бесконечности, пока мы находимся на сервере. Мы же в свою очередь зайдя на сервер смотрим в чат и видим число к примеру 5, но в консоле сервера же есть 1 2 3 4, значит эта функция вызывается раньше на 4 секунды чем мы зашли на сервер. Так же обратите внимание что это время может быть у всех разное и зависит оно от производительности машины клиента и качества его соединения с сервером.