![]()  | 
	
		
 mmc - печать из триггера ПОСЛЕ строки. 
		
		
		Срабатывает триггерт на строку, и печатает сообщение через echo(). Так вот сообщения всегда выводятся ДО строки, на которую сработал триггер. А можно ли как-то умудриться напечатать их после? 
	 | 
		
 Насколько мне известно, есть два способа: 
	1) Обрабатывать в триггере raw-текст строки, вызвавшей срабатывание триггера и находящийся в переменных $_ и $; и менять этот текст, добавляя после свой. Документация http://mmc.mud.ru/mmc.txt, описание MMC API, функция trig. 2) Возможно более простой - при срабатывании триггера создавать ещё один триггер на любую строку (^.*$), который выведет необходимый текст а затем удалится. Возможная проблема - задержка вывода текста до получения следующей строки (без "реж сж" почти невозможно, в "реж сж" вполне возможно). Также вопрос производительности, если таких систем будет довольно много - может начать тормозить. От вопросов производительности, кстати, не надо отмахиваться - я видел конфиг, который начинал тормозить на спаме из принца (какой там спам - фигня одна), не говоря уже о каких-нибудь рипеях (1,2,3).  | 
		
 не выходит. не дает писать на другой строке. =( 
	рисует квадратики вместо каретки и все.  | 
		
 почему у меня такое чувство что глубоко законспирированный раххаль все таки поигрывает в мад)) 
	 | 
		
 не. я не он. 
	 | 
		
 Развивая тему $_ 
	Код: 
	P::trigКод: 
	P::trigЦитата: 
	
  | 
		
 Цитата: 
	
 Код: 
	P::trig { | 
		
 ну, во-первых, после $: = '' будет '' и в $; и в $_, но это не суть) 
	по сути - спасибо) ништяк)  | 
		
 2 diver: 
	Самый имхо нормальный вариант в итоге: Код: 
	P::trig | 
		
 Цитата: 
	
  | 
		
 Вложений: 1 
		
		Цитата: 
	
 '-' - disable - запретить применение этого триггера (по умолчанию все триггеры создаются активными) 'g' - gag - клиент не должен печатать совпавшую строку 'm' - multiple - ищутся все вхождения <regexp> в строке, а не только первое <число> - priority - приоритет, определяющий порядок применения триггеров. Триггеры применяются в порядке уменьшения приоритетов. По умолчанию у всех триггеров приоритет равен 1000. 's'|'n' - save|nosave - сохранять ли триггер в файл конфигурации при выходе 'f' - fall-through - обычно клиент прекращает поиск триггеров, после первого совпадения. Если необходимо применять другие триггеры после этого, при его определении необходимо указать флаг 'f'. 'x<число>' - максимальное число срабатываний, после которого триггер автоматически отключатся, по умолчанию не ограничено, счетчик сбрасывается по команде /enable Пример простого триггера: action {^You are hungry\.$} {get bread $container;eat bread} 1000gs:CORE пользуюсь я этим так: Код: 
	доку к ммц от автора можно взять тут: http://mmc.mud.ru/mmc.txt и тут:  | 
		
 Цитата: 
	
  | 
		
 Я тут подумал - $:=''; убивает дальнейшие триги, которые могут хотеть сработать на эту строчку. 
	Короче, вот что работает (проверил) : Код: 
	my $str=""; | 
		
 Тролль 
	опробовал. круто. хотят тут есть один косячек на мой взгляд, тем не менее в маде работает великолепно. перешел на эту систему =) только изменил под свои нужды. Код: 
	our $strAfterTrig=""; | 
| Часовой пояс GMT +4, время: 07:40. | 
	Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot