Передача аргументов при срабатывании хука

Общие вопросы по OpenKore обсуждаются здесь. Можно сказать, что это - основной раздел форума.
Возник вопрос? Вам сюда.

Модератор: 4epT

Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
igogo
Начинающий
Сообщения: 33
Зарегистрирован: Ср июл 09, 2008 10:09 pm

Передача аргументов при срабатывании хука

Сообщение igogo »

Использую хук "target_died", вот кусочек кода из Attack.pm, где он находится:
if ($monsters_old{$ID} && $monsters_old{$ID}{dead}) {
message T("Target died\n"), "ai_attack";
Plugins::callHook("target_died");
monKilled();

Вопрос - как в функции, которая пишется в плагине и цепляющаяся к этому хуку, определить имя этого убитого монстра?

Нашел что-то касающееся этого вот здесь
:http://forums.openkore.com/viewtopic.ph ... ied#p26279. Но там значение передается в макрос, а как воспользоваться им в плагине я не знаю.
Аватара пользователя
Kissa2k
Профессионал
Сообщения: 1304
Зарегистрирован: Пн дек 04, 2006 8:33 pm

Re: Вопрос по плагину.

Сообщение Kissa2k »

Никак - хук вызывается без аргументов. Нужно их добавить, изменить на что-то такое:

Код: Выделить всё

...
if ($monsters_old{$ID} && $monsters_old{$ID}{dead}) {
		message T("Target died\n"), "ai_attack";
		Plugins::callHook("target_died", {ID => $monsters_old{$ID}});
		monKilled();
...
igogo
Начинающий
Сообщения: 33
Зарегистрирован: Ср июл 09, 2008 10:09 pm

Re: Вопрос по плагину.

Сообщение igogo »

Kissa2k
Это я понял. Я не понял каким образом обратиться к этой ID в теле функции плагина?
my $name = ???
EternalHarvest
Разработчик
Сообщения: 819
Зарегистрирован: Пн окт 27, 2008 9:49 pm

Re: Вопрос по плагину.

Сообщение EternalHarvest »

Код: Выделить всё

Plugins::callHook($hookname, $args);

sub callee {
	my ($hookname, $args, $userdata) = @_;
}
igogo
Начинающий
Сообщения: 33
Зарегистрирован: Ср июл 09, 2008 10:09 pm

Re: Передача аргументов при срабатывании хука

Сообщение igogo »

EternalHarvest
Спасибо!
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Re: Передача аргументов при срабатывании хука

Сообщение kLabMouse »

EternalHarvest
ММ... может нас стоит импрувнуть Хуки?
А то их много, и они всё ещё сыроватые, как етот.
Ответить