Просмотр полной версии : [Вопрос] Как перехватывать уже перехваченную функцию?
SergGrey
17.07.2017, 21:11
Почитал несколько тем по перехватам, но так и не понял как ПРАВИЛЬНО нужно перехватывать функцию, которая, например, уже была перехвачена античитом. То есть допустим античит перехватил SetPlayerPos и изменил его на свой acc_SetPlayerPos, а я хочу ещё и дополнить эту функцию параметром время, на которое игрок будет заморожен при вызове этой функции. Как в моде перехватить уже перехваченную античитом функцию, чтобы её дополнить?
Можешь дальше и перехватывать.. Пример:
// Античит
stock acc_SetPlayerPos(playerid, Float:X, Float:Y, Float:Z)
{
// манипуляции для античита
return SetPlayerPos(playerid, X, Y, Z);
}
#if defined _ALS_SetPlayerPos
#undef SetPlayerPos
#else
#define _ALS_SetPlayerPos
#endif
#define SetPlayerPos acc_SetPlayerPos
stock SetPlayerPosEx(playerid, Float:X, Float:Y, Float:Z)
{
// манипуляции для отдельного
return SetPlayerPos(playerid, X, Y, Z);
}
#if defined _ALS_SetPlayerPos
#undef SetPlayerPos
#else
#define _ALS_SetPlayerPos
#endif
#define SetPlayerPos SetPlayerPosEx
- - - Добавлено - - -
P.s. Если в чем то я не прав, поправьте, но всегда делал так, и думаю так вполне можно делать)
Перехваченную функцию можно перехватывать сколько угодно, но с разными тегами разумеется. Разница будет только в очереди срабатывание перехватов.
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot