Цитата:
Сообщение от
$continue$
PHP код:
new id_create_global_textdraw = 0;
PHP код:
stock td_TextDrawCreate(Float:x, Float:y, text[])
{
id_create_global_textdraw ++;
return TextDrawCreate(Float:x, Float:y, text[]);
}
#if defined _ce_TextDrawCreate
#undef TextDrawCreate
#else
#define _ce_TextDrawCreate
#endif
#define TextDrawCreate td_TextDrawCreate
PHP код:
stock td_TextDrawDestroy(Text:text)
{
id_create_global_textdraw --;
return TextDrawDestroy(Text:text) ;
}
#if defined _ce_TextDrawDestroy
#undef TextDrawDestroy
#else
#define _ce_TextDrawDestroy
#endif
#define TextDrawCreate td_TextDrawDestroy
Вместо "td_" должен быть префикс, связанный по смыслу с поставленной перед перехватчиком задачей.
Например, здесь нужно было перехватить создание текстдравов, чтобы подсчитать их общее количество на сервере для отладки, поэтому подошли бы префиксы "debug_" или "count_".
В директивах, используемых для перехвата, вместо "_ce_" нужно ставить префикс "_ALS_". Этот префикс общеприятый для перехватов, т.к. если вместо него выдумывать свои префиксы, компилятор будет ругаться на повторное объявление макроса (и кто знает, что ещё может пойти не так?)
Ошибки незначительные, но всё же не стоило давать советы другим, если сам не до конца разбираешься.