Код:
trig {$: = "\003J!!!!!!\003PОТШИБЛИ МЕМ\003J!!!!!!"; sendl("гд БЛЯ! МНЕ ВЫШИБЛИ МЕМ!!!");} '^Внезапно Вы осознали, что у Вас напрочь отшибло память.', '1000nf:OpovBezum';
trig {$: = "\003J !!!!!! \003PПЕЧАТЬ\003J !!!!!! ";} '^Магия\, запечатывающая входы\, пропала\.', '1000nf:Pechat';
trig {
my $who = $1;
my $how = $2;
my $to = $3;
$to =~ s/на восток/на ВОСТОК!!!/;
$to =~ s/на запад/на ЗАПАД!!!/;
$to =~ s/на север/на СЕВЕР!!!/;
$to =~ s/на юг/на ЮГ!!!/;
$to =~ s/вверх/ВВЕРХ!!!/;
$to =~ s/вниз/ВНИЗ!!!/;
$: = "\003P---\[\003O$who\003P\]---\003H у$how $to";
}
'^(.*) у(\S+) (на восток|на запад|на север|на юг|вверх|вниз)\.$', '800nf:Incoming';
trig {
my $staff = $1;
my $type = $2;
my $where = $3;
$where =~ s/поясе с мешочками/сумке ЛБ/;
$where =~ s/рыцарском мешке/сумке ДНЗ/;
$where =~ s/серебряном кошеле/новой сумке РП/;
$where =~ s/суме из волчьей шкуры/сумке РСП/;
$where =~ s/мохнатой сумке/сумке ЗАО/;
$where =~ s/походной сумке из мягкой кожи/старой сумке РП/;
$where =~ s/белой пушистой сумке/сумке ГД/;
$where =~ s/кого-то/\003Iкого-то\003H/;
$: = "\[\003P$staff\003H\] $type \[\003O$where\003H\]";
} '^([^\'\"\:]+) (одета на|одето на|одет на|одеты на|находится у|находится в) (.*)\.$', '1000nf:Locate';
trig {$: = "\003J$1 \003Hв трупе \003P$2\003H."} '^([^\'\"\:]+) находится в трупе (.*)\.' , '1000nf:Dead';
trig {$: = "$1: \003O$2";} '^(Юг|Север|Запад|Восток|Верх|Низ): (.*)$', '1000nf:Ogl';
trig {$: = "$1 - \003O$2";} '^(Юг |Север|Запад|Восток|Верх |Низ ) - (.*)$', '1000nf:Ogl';
trig {$: = "\003H$1 союзникам: \003J\'$2\.\'"} '^(\S+) союзникам: \'(.*)\'\.$' , '1500nf:Aliance';
trig {sendl("пол все.красн ${U::pack}")} 'Теперь Вы стали (.*) красного пузырька', '1500nf:AutoPack';
trig {sendl("пол все.всевид ${U::pack}")} 'Теперь Вы стали (.*) напитка всевидения', '1500nf:AutoPack';
trig {sendl("пол все.черное ${U::pack}")} 'Теперь Вы стали (.*) черного зелья', '1500nf:AutoPack';
trig {
my $who = $1;
my $what = $3;
if (($who eq 'Лидер')&&($what eq 'команда')) {sendl('команда')};
$: = "\003L$who ГРУППЕ: \'$what\'";
} '^(\S+) (сообщил|сообщила|сообщили) группе : \'(.*)\'$', '1000n:COMM';
trig {sendl('оседл драк');sendl('ю');sendl('привяз драк');sendl('с');} '^ Кащей Бессмертный свистом призвал верхового Дракона\.', '1500nf:Kash';
trig {sendl("гд выучил $1")} '^Буквально через несколько минут Вы узнали секрет заклинания "(.*)"\.', '2000nf:Spell';
trig {$: = "\003BЛ\003Cа\003Dз\003Eу\003Fр\003Gн\003Iа\003Lя \003Jпентаграмма возникла в воздухе."} '^Лазурная пентаграмма возникла в воздухе.', '1000nf:Penta';
trig {${U::door} = $1;
${U::door} =~ s/\s/\./g;
sendl("взлом ${U::door} ${U::direct}");
sendl("отпер ${U::door} ${U::direct}");
sendl("открыт ${U::door} ${U::direct}");}
'Закрыто \((.*)\)\.', '1000nf:Grab';
trig {
echo("\003P\#\#\# \#\#\# \#\#\#\#\#\#\#\# \#\#\#\#\#\#\# \#\#\# \#\#\#\#\#\#\# \#\#\#\#\#\#\# \#\#\# \#\#\# \#\#\#");
echo("\003P\#\#\# \#\#\# \#\#\#\#\#\#\#\# \#\#\#\#\#\#\# \#\#\# \#\#\#\#\#\#\# \#\#\#\#\#\#\# \#\#\# \#\#\# \#\#\#");
echo("\003P\#\#\#\# \#\#\# \#\#\# \#\#\# \#\#\# \#\#\# \#\#\# \#\#\# \#\#\# \#\#\# \#\#\#");
echo("\003P\#\#\#\#\#\#\#\# \#\#\# \#\#\# \#\#\#\#\#\#\# \#\#\# \#\#\#\#\#\# \#\#\#\#\#\# \#\#\# \#\#\# \#\#\#");
echo("\003P\#\#\#\#\#\#\#\# \#\#\# \#\#\# \#\#\#\#\#\#\# \#\#\# \#\#\# \#\#\# ");
echo("\003P\#\#\# \#\#\#\# \#\#\#\#\#\#\#\# \#\#\# \#\#\#\#\#\# \#\#\#\#\#\#\# \#\#\#\#\#\#\# \#\#\# \#\#\# \#\#\#");
echo("\003P\#\#\# \#\#\# \#\#\#\#\#\#\#\# \#\#\# \#\#\#\#\#\# \#\#\#\#\#\#\# \#\#\#\#\#\#\# \#\#\# \#\#\# \#\#\#");} '^Невидимые оковы мешают Вам сбежать\.$', '1000nf:NeFlee';
bindkey { sendl('север') ; $U::direct = "север " ;if ($U::fastwalk eq "1") {echo("n"); $U::fastwalk_path =($U::fastwalk_path.'n')} } "k8";
bindkey { sendl('юг') ; $U::direct = "юг " ;if ($U::fastwalk eq "1") {echo("s"); $U::fastwalk_path =($U::fastwalk_path.'s')} } "k2";
bindkey { sendl('запад') ; $U::direct = "запад " ;if ($U::fastwalk eq "1") {echo("w"); $U::fastwalk_path =($U::fastwalk_path.'w')} } "k4";
bindkey { sendl('восток'); $U::direct = "восток" ;if ($U::fastwalk eq "1") {echo("e"); $U::fastwalk_path =($U::fastwalk_path.'e')} } "k6";
bindkey { sendl('вверх') ; $U::direct = "вверх " ;if ($U::fastwalk eq "1") {echo("u"); $U::fastwalk_path =($U::fastwalk_path.'u')} } "k9";
bindkey { sendl('вниз') ; $U::direct = "вниз " ;if ($U::fastwalk eq "1") {echo("d"); $U::fastwalk_path =($U::fastwalk_path.'d')} } "k3";
$U::fastwalk = "0";
$U::fastwalk_path = "";
my %fastwalks = ();
open (fast,"fast.txt");
while (<fast>) {
$line=$_;#копирование из переменной по умолчанию в лайн
chomp($line);#отрубание перевода строки в конце лайна
($name,$fastwalk_path)=split(/\~/,$line,-1);#перегон из лайна значений в переменные, разделитель ~, количество неограничено
$fastwalks{$name}=$fastwalk_path;
};
close(fast);
alias {$U::name=$_[0];
if (defined $fastwalks{$U::name}) {echo("Такой фастволк уже есть.")} else {echo("Новый фастволк - $U::name");$U::fastwalk="1"};$U::fastwalk_path="";} "фаст";
alias {$U::fastwalk="0"; $fastwalks{$U::name}=$U::fastwalk_path;
open (fast,">>fast.txt");print fast "$U::name\~$fastwalks{$U::name}\n";close(fast);} "нефаст";
alias { $req=$_[0];
foreach $item (keys %fastwalks) {
if ($item =~ m/$req/) {print "\[$item\] $fastwalks{$item}\n"};
};
} "фаствсе";
alias {$item=$_[0];$fastwalk_path=$fastwalks{$item}} "фастбежать";
trig {sendl("спрят")} '^(Вы не сумели остаться незаметным\.|Вы прекратили прятаться\.|Ваши передвижения стали заметны\.|Вы стали заметны окружающим\.)', '1000nf-:AutoHide';
alias {enable(AutoHide); sendl("${U::group} Буду ныкаться!");} "автохайдда";
alias {disable(AutoHide); sendl("${U::group} Все, не буду больше прятаться...");} "автохайднет";
alias {sendl("колд !ледяной щит! @_");
sendl("колд !кам! @_");
sendl("колд !мигание! @_");
sendl("колд !затум! @_");
sendl("колд !защита! @_");
sendl("колд !сила! @_");
sendl("колд !ледяная аура! @_");
sendl("колд !воздушная аура! @_");
sendl("колд !защита от тьмы! @_");
} "каст";