Инфо из hamsandwich.inc:
/**
* Stops a ham forward from triggering.
* Use the return value from RegisterHam as the parameter here!
*
* @param fwd The forward to stop.
*/
native DisableHamForward(HamHook:fwd);
Синтаксис:
DisableHamForward ( HamHook:fwd )
- HamHook:fwd - Возвращаемое значение RegisterHam (при регистрации события)
Тип функции:
Native
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#define PLUGIN "[hamsandwich] DisableHamForward"
#define VERSION "1.0"
#define AUTHOR "Admin"
new HamHook:g_fwdTakeDamage
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
g_fwdTakeDamage = RegisterHam(Ham_TakeDamage,"player","damager",0)
register_clcmd("say /off","f_off")
}
public f_off(){
DisableHamForward(g_fwdTakeDamage)
client_print(0,print_chat,"Forward TakeDamege is desable")
}
public damager(victim, inflicator, attacker, Float:damage){
if(!is_user_connected(attacker))
return;
if(victim == attacker || !victim)
return;
client_print(0,print_chat,"Damage: %.1f health:%d",damage,get_user_health(victim))
}
Описание:
В данном примере зарегистрировано событие нанесение урона и для наглядности некоторые данные выводятся в чат игрокам.
так же зарегистрирована команда say /off, которая вызывает функцию f_off, внутри которой с помощью DisableHamForward мы выключаем работу форварда и сообщение в чат больше не будет показываться, так как не будет работать вызываться вся функция damager
Обратите внимание что g_fwdTakeDamage это глобальная переменная и значение для нее мы получаем когда регистрируем форвард
g_fwdTakeDamage = RegisterHam(Ham_TakeDamage,"player","damager",0)