Показать сообщение отдельно
Старый 16.03.2005, 01:02   #34
Далим
Гость
 
Сообщений: n/a
По умолчанию RE: Вопросы о Жабе

Цитата:
Сообщение от Master
Приведи примеры из конфига.
ну например простейшая обработка сообщений.

function WriteOutLog ()
{
if (arguments.length < 3) return;
var newDateObj = new Date();
var DateFileName = DirLogOut+newDateObj.getDate()+'-'+newDateObj.getMonth()+'-'+newDateObj.getFullYear()+'.log';
if (file.FileExists(DateFileName))
{
var f = file.OpenTextFile(DateFileName, ForAppending);
f.WriteLine("[ "+arguments[2]+" ] "+arguments[0]+" --> '"+arguments[1]+"'.");
f.Close();
}
else
{
var f = file.CreateTextFile(DateFileName, ForWriting);
f.WriteLine("[ "+arguments[2]+" ] "+arguments[0]+" --> '"+arguments[1]+"'.");
f.Close();
}
}

function doSayClanParser ()
{
if (arguments.length<3) return;
if (!isBeginLine(arguments[0])) return arguments[2];
if (isStatLine(arguments[0]))
arguments[0]=UtilDeleteStatLine(arguments[0]);
jmc.output (cLight+cYellow+'[ '+cWhite+'-клан-'+cLight+cYellow+' ] '+cRed+arguments[0]+' --> '+"'"+arguments[1]+"'.");
/* Записываем в лог. */
if (vNeedOutLog == 1)
{
WriteOutLog (arguments[0],arguments[1],'-клан-');
}
return arguments[2];
}
function doSayAlianseParser ()
{
if (arguments.length<3) return;
if (!isBeginLine(arguments[0])) return arguments[2];
if (isStatLine(arguments[0]))
arguments[0]=UtilDeleteStatLine(arguments[0]);
jmc.output (cLight+cYellow+'[ '+cWhite+'альянс'+cLight+cYellow+' ] '+cGreen+arguments[0]+' --> '+"'"+arguments[1]+"'.");
/* Записываем в лог. */
if (vNeedOutLog == 1)
{
WriteOutLog (arguments[0],arguments[1],'альянс');
}
return arguments[2];
}

function doSayChannelParser ()
{
if (arguments.length<4) return;
if (isStatLine(arguments[0]))
arguments[0]=UtilDeleteStatLine(arguments[0]);
jmc.output (cLight+cYellow+'[ '+cWhite+'-эфир-'+cLight+cYellow+' ] '+cDefault+cYellow+arguments[0]+' --> '+"'"+arguments[2]+"'");
/* Записываем в лог. */
if (vNeedOutLog == 1)
{
WriteOutLog (arguments[0],arguments[2],'-эфир-');
}
return arguments[3];
}

и соответственно включена обработка входящих строк, где обрабатываются эти функции : RegisterHandler, где проверяем цвета входящих сообщений, чтобы небыло что-то типа %0 заметил : '%1 сообщил группе 'бла бла бла'.' и это необработалось как сообщение группе.
  Ответить с цитированием