Можно ли сделать так, что бы мой перехват срабатывал после всех остальных, а если их нет, то после самого колбека/функции?
Можно ли сделать так, что бы мой перехват срабатывал после всех остальных, а если их нет, то после самого колбека/функции?
Но и перехват должен быть самым последним среди всех.PHP код:
public Function(Args)
{
#if defined Prefix_Function
Prefix_Function(Args);
#endif
//Тут твой код
return 1;
}
#if defined _ALS_Function
#undef Function
#else
#define _ALS_Function
#endif
#define Function Prefix_Function
#if defined Prefix_Function
forward Prefix_Function(Args);
#endif
А вообще в таких ситуациях лучше создавать функцию и прописывать её вызов в коллбэке, который перехватываешь. Так ты точно можешь контролировать момент, когда твой код будет обработан
Если не секрет, для чего вообще может понадобиться делать перехват именно самым последним? Просто интересно, ибо ни разу не встречал таких ситуаций. Вполне возможно, что и в вашем случае можно сделать так, чтобы перехват не зависел от всей остальной цепочки вызовов.
я такой же код делал:
Но не был уверен, а если в самом колбеке или в других перехватах стоит завершение кода (return), мой код ниже сработает?
Мне нужно чтобы определенная функция вызывалась после OnPlayerConnect (точнее в конце). Доступ к самому колбеку не имею.
Понятно, а есть ещё другие варианты, быть может я не смогу поставить свой перехват последним? Или никаких выходов больше нет? (Кроме таймеров)
Элементарно. Чуть более года назад что-то подобное делал. Понадобилось лично мне для того, чтобы выводить сообщения при загрузке и выгрузке всех инклуд независимо от порядка подключения последним (варнинг о несовпадении версии при загрузке и статистика при выгрузке).