Показать сообщение отдельно
Старый 02.06.2006, 16:53   #16
Devastator
Отличник форума
 
Регистрация: 18.10.2005
Адрес: Пермь
Сообщений: 273
По умолчанию

Раз просили поделюсь )) и поясню
Гдето раньше Worm уже вкладывал перехват тело, ну вот выложу тоже самое ну чуть доработанное )) в доработке помогла Зиля

var CNRM = "\x1B[0;0m";
var CBLK = "\x1B[0;30m";
var CRED = "\x1B[0;31m";
var CGRN = "\x1B[0;32m";
var CYEL = "\x1B[0;33m";
var CBLU = "\x1B[0;34m";
var CMAG = "\x1B[0;35m";
var CCYN = "\x1B[0;36m";
var CWHT = "\x1B[0;37m";
var CNUL = "";

var BBLK = "\x1B[1;30m";
var BRED = "\x1B[1;31m";
var BGRN = "\x1B[1;32m";
var BYEL = "\x1B[1;33m";
var BBLU = "\x1B[1;34m";
var BMAG = "\x1B[1;35m";
var BCYN = "\x1B[1;36m";
var BWHT = "\x1B[1;37m";

var BKBLK = "\x1B[40m";
var BKRED = "\x1B[41m";
var BKGRN = "\x1B[42m";
var BKYEL = "\x1B[43m";
var BKBLU = "\x1B[44m";
var BKMAG = "\x1B[45m";
var BKCYN = "\x1B[46m";
var BKWHT = "\x1B[47m";

function CaptureTells()
{
var tmp=jmc.Event;
var tely=/\[1;36m([А-Яа-я]+|Кто-то) сказал[а]? Вам : '(.+)'$/;
var ytel=/\[1;36mВы сказали ([А-Яа-я]+|Кому-то) : '(.+)'$/;
var gtel=/^(\[0;32m\d+H\[0;37m \[0;32m\d+M\[0;37m (\?\?\?|\d+о) Зауч\:.+> )?([А-Яа-я]+|Кто-то) сообщил[а]? группе : '(.+)'$/;
var ygtel=/^(\[0;32m\d+H\[0;37m \[0;32m\d+M\[0;37m (\?\?\?|\d+о) Зауч\:.+> )?Вы сообщили группе : '(.+)'$/;
var gdtel=/^(\[0;32m\d+H\[0;37m \[0;32m\d+M\[0;37m (\?\?\?|\d+о) Зауч\:.+> )?([А-Яа-я]+) дружине: \[1;31m'(.+)'.\[0;37m$/;
var gstel=/^(\[0;32m\d+H\[0;37m \[0;32m\d+M\[0;37m (\?\?\?|\d+о) Зауч\:.+> )?([А-Яа-я]+) союзникам: \[1;32m'(.+)'.\[0;37m$/;
if(tely.test(tmp)==true)
{
res = tely.exec(tmp);
if((res[1]!='Кузнец') && (res[1]!='Умелец') && (res[1]!='Скорняк') && (res[1]!='Трактирщик') && (res[1]!='Травник') && (res[1]!='Индус') && (res[1]!='Пленник') && (res[1]!='Пекарь') && (res[1]!='Торговец') && (res[1]!='Подмастерье'))
{
jmc.Output(""+BYEL+"$TIME | "+CWHT+" "+res[1]+" Вам : "+BCYN+"'"+res[2]+"'");
Tells(""+BYEL+Date()+" | "+CWHT+" "+res[1]+" Вам : "+BCYN+"'"+res[2]+"'");
}
}
if(ytel.test(tmp)==true)
{
res = ytel.exec(tmp);
jmc.Output(""+BYEL+"$TIME | "+CWHT+" Вы "+res[1]+" : "+BCYN+"'"+res[2]+"'");
Tells(""+BYEL+Date()+" | "+CWHT+" Вы "+res[1]+" : "+BCYN+"'"+res[2]+"'");
}
if(gtel.test(tmp)==true)
{
res = gtel.exec(tmp);
jmc.Output(""+BYEL+"$TIME | "+CWHT+" "+res[3]+" группе : "+BWHT+"'"+res[4]+"'");
Tells(""+BYEL+Date()+" | "+CWHT+" "+res[3]+" группе : "+BWHT+"'"+res[4]+"'");
}
if(ygtel.test(tmp)==true)
{
res = ygtel.exec(tmp);
jmc.Output(""+BYEL+"$TIME | "+CWHT+" Вы группе : "+BWHT+"'"+res[3]+"'");
Tells(""+BYEL+Date()+" | "+CWHT+" Вы группе : "+BWHT+"'"+res[3]+"'");
}
if(gdtel.test(tmp)==true)
{
res = gdtel.exec(tmp);
jmc.Output(""+BYEL+"$TIME | "+CWHT+" "+res[3]+" дружине : "+BRED+"'"+res[4]+"'");
Tells(""+BYEL+Date()+" | "+CWHT+" "+res[3]+" дружине : "+BRED+"'"+res[4]+"'");
}
if(gstel.test(tmp)==true)
{
res = gstel.exec(tmp);
jmc.Output(""+BYEL+"$TIME | "+CWHT+" "+res[3]+" союзникам :"+BGRN+" '"+res[4]+"'");
Tells(""+BYEL+Date()+"| "+CWHT+" "+res[3]+" союзникам :"+BGRN+" '"+res[4]+"'");
}
}

jmc.RegisterHandler("Incoming","CaptureTells()");


function Tells(name)
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var file = fso.OpenTextFile("tells.txt",8);
file.WriteLine(""+name+"");
file.Close();
}
__________________
Владение орфографией русского языка - это как кунг-фу, истинные мастера которого не применяют его без надобности.
Devastator вне форума   Ответить с цитированием