Инфо из engine.inc:
/* Forward for impulses. */
forward client_impulse(id, impulse);
Синтаксис:
public client_impulse ( id, impulse )
- id - id игрока
- impulse - Какую impulse команду использовал
Примечание: Каждый фрейм игрок ни чего ен использует и будет вызываться impulse 0
Если вам необходимо поймать какую то определенную команду используйте функцию register_impulse
Тип функции:
Forward
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <engine>
#define PLUGIN "[engine.inc] client_impulse"
#define VERSION "1.0"
#define AUTHOR "Admin"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
}
public client_impulse(id,impulse){
if(impulse != 0)
client_print(id,print_chat,"Oy use impulse: %d",impulse)
}
Описание:
Самые внимательные читатели наверняка уже все поняли, где стоит функция и что внутри происходит, для тех тко еще не силен в скриптинге поясняю:
public client_impulse(id,impulse){
данная функция вызывается каждый фрейм, то есть каждый кадр. Если тут проделывать какие то сложные действия, то однозначно будут лаги на сервере.
Так как есл иигрок не использует ни какую команду то получается impulse 0, по этому далее идет проверка
if(impulse != 0)
Где отсеиваются все эти ненужные срабатывания функции.
Попробуйте включить фонарик на сервере и вы увидите текстовое сообщение и номер impulse команды/