Отладка блока doCommand, вывод своих сообщений в консоль

Разработка новых функций.

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

Аватара пользователя
QnX
Энтузиаст
Сообщения: 140
Зарегистрирован: Пт янв 04, 2008 10:15 am

Отладка блока doCommand, вывод своих сообщений в консоль

Сообщение QnX »

Задача:
при использовании множества блоков doCommand tele с различными условиями понять какой из них и когда срабатывает, а какой нет.
Решение:
Я в блок обработки условий checkSelfCondition добавил следующее:
1. Открываем файл: ./src/Misc.pm
2. Ищем код my %hookArgs (строка:~4048);

Часть блока выглядит так:

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

	
	my %hookArgs;
	$hookArgs{prefix} = $prefix;
	$hookArgs{return} = 1;
	Plugins::callHook("checkSelfCondition", \%hookArgs);
	return 0 if (!$hookArgs{return});

	return 1;
и перед ним вставляем следующее:

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

	if ($config{$prefix . "_log"}) {
		if ($config{$prefix."_log"} =~ /^(.*)$/) {
			message TF("log: %s.\n", $1), "info";
		}
	}
таким образом получается следующий код:

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

	if ($config{$prefix . "_log"}) {
		if ($config{$prefix."_log"} =~ /^(.*)$/) {
			message TF("log: %s.\n", $1), "info";
		}
	}

	my %hookArgs;
	$hookArgs{prefix} = $prefix;
	$hookArgs{return} = 1;
	Plugins::callHook("checkSelfCondition", \%hookArgs);
	return 0 if (!$hookArgs{return});

	return 1;
В самом конфиге впринципе теперь в любом блоке использующем SelfCondition, можно добавить параметр
log Моя отладочная информация {любой ваш текст}

doCommand tele {
hp < 40%
sp < 40%
aggressives > 4
inLockOnly 1
notWhileSitting 1
notInTown 1
disabled 0
log Валим мало хп & сп
}
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Re: Отладка блока doCommand, вывод своих сообщений в консоль

Сообщение 4epT »

а ещё чтобы не коробить кору, можно использовать самодельную консольную команду:
eval message TF("log: Валим мало хп & сп\n"), "info"
например:
doCommand eval message TF("log: Валим мало хп & сп\n"), "info";;tele {
hp < 40%
sp < 40%
aggressives > 4
inLockOnly 1
notWhileSitting 1
notInTown 1
disabled 0
log Валим мало хп & сп
}
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Аватара пользователя
QnX
Энтузиаст
Сообщения: 140
Зарегистрирован: Пт янв 04, 2008 10:15 am

Re: Отладка блока doCommand, вывод своих сообщений в консоль

Сообщение QnX »

Согласен, думал об этом ... мое решение мне показалось проще для восприятия
Ответить