Инфо из ham_const.inc:
/**
* Description: Called whenever two entities touch.
* Forward params: function(this, idother);
* Return type: None.
* Execute params: ExecuteHam(Ham_Touch, this, idother);
*/
Ham_Touch
- Вызывается когда объекты соприкасаются
- function(this, idother) - id первого объекта, id второго объекта
- Функция ни чего не возвращает
Пример:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#define PLUGIN "[amxmodx.inc] Multi Forward`s"
#define VERSION "1.0"
#define AUTHOR "Admin"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
//Для оружия лежащего на карте
RegisterHam(Ham_Touch, "armoury_entity", "fwdTouch")
//Если игрок выкинул оружие
RegisterHam(Ham_Touch, "weaponbox", "fwdTouch")
}
public fwdTouch(ent, id) {
//Выводим сообщение о блоикровке
client_print(id,print_chat,"O6/\oM")
//Блокируем событие
return HAM_SUPERCEDE
}
Описание:
Обратите внимание на то, что мы блокируем не само поднятие оружие, а касание оружия, по этому мы и не можем поднять.
То есть грубо говоря для нас оно не существует. Так же текстовое сообщение будет вызываться столько же раз сколько у вас фпс, так как событие соприкосновения будет происходить пока вы не сойдете с оружия.
На картинке представлен список всех возможных типов объектов ( спасибо PomanoB`у)