Для pev надо определить тип данных. Для этого либо лезь в engine.inc, либо в progdefs.h из HLSDK. Да, неудобно, что тип там не описан. Можно написать предлоежние в багтрэкер AMX/X. Для fakemeta как я понял проблема не в регистрировании обработчика (хука), а в описании прототипа обработчика (т.е. перечня аргументов обработчика). Залезаешь в fakemeta_const.inc. Находишь комментарий /* Used with engfunc() */. Нам требуется, например,
Code
EngFunc_SetModel, // void ) (edict_t *e, const char *m);
Тогда обработчик будет выглядеть так:
Code
public fwSetModel(e, const m[])
Для тех, кто изучал Си, проблем по переводу аргументов из Си в PAWN нет. Общий механизм следующий:
edict_t *e -> e (целый)
char *m -> m[] (строка)
int modelIndex -> modelIndex (целый)
float *rgflMin -> Float:rgflMin[3] (кол-во элементов в принципе обычно три - координаты, но могут быть исключения)
float dist -> Float:dist