- Функция имеет 2 аргумента ent, const model[] - ent индекс entity, const model[] модель которая установлена(устанавливается)
- Функция не чего не возвращает
При регистрации необходимо указать пре или пост(до или после).
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#define PLUGIN "[fakemeta.inc] FM_SetModel"
#define VERSION "0.1"
#define AUTHOR "Mon[str]"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
//Зарегистрируем форвард
register_forward(FM_SetModel, "fm_SetModel_Post", 1); //Ставим пост так как нам не нужно не чего блочить - 1
}
public fm_SetModel_Post(ent, const model[])
{
//Если попадает в условие выходим из функции
if(!pev_valid(ent) || !equali(model, "models/w_hegrenade.mdl", 22))
return;
client_print(0, print_chat, "Set model HeGrenade it's True");
}
Описание:
В данном примере мы рассматриваем отлов броска взрывной гранаты.
Как я указал в комментариях я зарегистрировал данный форвард.
В функции мы проверяем на существование объекта и на совпадение устанавливаемой модели в данном случае это взрывная граната.
Если одно из аргументов попало в условие то выходим из функции то есть дальнейший код не выполниться.
Если все правильно получилось то в момент когда вы кинете взрывную гранату вам в чат напишет сообщение
Set model HeGrenade it's True
Так как когда игрок кидает гранату возле него появляется entity дается ускорение и прочее и как раз в тот момент когда устанавливается модель пишет это сообщение.