PDA

Просмотр полной версии : MMC. Вопрос.


Ferz
10.03.2006, 14:42
Загоревшись возможностью сравнить mmc и zmud, попытался попользоваться первым из них, но наткнулся на проблему при отладке конфига.
Вопрос: как заставить клиент показывать отсылаемые триггерами в мад строки?

Арчил
10.03.2006, 16:53
hook {
my $mess = shift;
# тут ты можешь с $mess делать что угодно
echo $mess;
$mess;
} 'send';


а сейчас придут гуру и расскажут, как сделать лучше и где у меня ошибки :)

Sir
11.03.2006, 18:59
Юзай repr().
Пример:trig{
MUD::repr(1);
sendl("есть пирог сумка");
MUD::repr(0);
} '^Вы думаете о еде\.$', "n:TICK";

Katras
04.09.2006, 10:28
О, может здесь можно задать общий вопросик ? :)

Первое. Есть такое не много переработанное.
http://academy.aladon.ws/files/mmc/mmc5.1.zip

Собственно вопрос.
После некоторых конфигов и в этой (версии Керда) у меня после логина на сервер пропадает отображение вводимой мною информации.
Как сделать, это отображаемым ?

Переплут
05.09.2006, 09:00
http://academy.aladon.ws/files/mmc/mmc5.1.zip

Собственно вопрос.
После некоторых конфигов и в этой (версии Керда) у меня после логина на сервер пропадает отображение вводимой мною информации.
Как сделать, это отображаемым ?
я не смотрел что приведено по ссылке, но если просто меняется цвет вводимого текста на черный -- то это решение:

LE::setcolors(11, 12);

Katras
05.09.2006, 11:44
2Переплут
Нет :(
Режим как при вводе пароля, нет движения ни курсора ни чего. Только с ключем -k вижу отображение нажатых клавиш и все.

Katras
06.09.2006, 16:25
Странно, не дают своё же редактировать ...

Вообще странность, удалил все версии ac. perl, поставил последнюю.
Теперь все показывает, и пароль тоже и в лог его пишет :(
Эт уже мне лишнего !

Ilya
23.09.2006, 10:04
Каким образом можно отправить в мад строку, чтоб она проходила обработку самим клиентом?

Например, создав алиас командой "/alias {ggg} {.ud}" можно писать ggg и в мад отправится уже обработанная строка, т.е. сперва u, потом d.

С обычным sendl'ом так не получается, он отправит ".ud".

lexik
23.09.2006, 15:09
sub ali{
my ($a,$c)=shift;
Parser::run_commands($a." ".$c);
}

я юзаю в таких случаях вместо sendl вышеприведенную процедуру и все нормально ;)

Ilya
24.09.2006, 00:14
Непоянл )
Что делает Parser::run_commands ?

Мне, собственно, хотелось сделать спидволков, чтоб они работали через через сам клиент, с его встроенной обработкой "." и ".." и расстановку задержек, чтоб не программить это всё самому.
Хотя, это не так сложно, наверно, будет даже лучше.

lexik
24.09.2006, 13:56
хорошо написал... вдумчиво...
не пойму только нафига что то самому крутить со спидволками когда они в клиенте на нормальном уровне? попробуй описать поточнее что ты хочешь получить ;)

Ilya
25.09.2006, 01:58
Ок, ещё раз с самого начала.

В чудесном mmc есть правильная поддержка спидволков. Введённая строчка, начинающаяся на '.' или '..' трактуется как спидволк - разделяется на отдельные буквы и отсылается с паузой после каждых пяти на случай какихнить проблем по пути.

Проблема: какой командой можно из конфига отправить строчку спидволка, т. е. строчку типа '.uueeenn', чтоб клиент её обработал? Не вручную же мне их печатать Ж)

И за одно, может кто поделится инфой по полезным штукам, которые умеет mmc, но которые не описаны в хелпе а запрятаны в его встроенные модули?

Ilya
26.09.2006, 03:04
И ещё вопрос.

Ктонить знает, почему не всегда просиходит событие тик? Клиент всегда выводит сообщение по поводу претика, а вот по поводу самого тика - не всегда. И в этом случае, не выполняется повешенный на тик хук.

lexik
26.09.2006, 08:28
Проблема: какой командой можно из конфига отправить строчку спидволка, т. е. строчку типа '.uueeenn', чтоб клиент её обработал? Не вручную же мне их печатать Ж)
скорее всего CMD::speedwalk("текстспидволка");

И за одно, может кто поделится инфой по полезным штукам, которые умеет mmc, но которые не описаны в хелпе а запрятаны в его встроенные модули?
попробуй посмотреть содержимое pm файликов в каталоге с mmc если у тебя их нету там, то скачай исходники mmc и просто разархивируй эти pm файлики - там увидишь много интересного

Shosin
20.11.2006, 12:10
Подскажите чего неправильно делаю не хочется присваиваться переменной $tget идущий после алиаса tg текст. Т.е. я пишу, например, "tg Bumba" и хочу, чтобы после этого $tget было присвоено значение Bumba. Где-то нашел, что используют такую штуку как @_ и сделал алиас:
alias {
$tget = @_;
} "tg";

Но он не пашет :(

Croston
20.11.2006, 12:48
perldoc shift

shift @_; -- @_ -- это массив, не скаляр.

Shosin
20.11.2006, 13:22
perldoc shift

shift @_; -- @_ -- это массив, не скаляр.
Не издевайся над ламером. Умных слов про скаляры не пойму, а перл для меня лишь кусок слова "перловка" :)
Лучше подскажи как правильно сделать.