Перехват теллов на JavaScript

Автор : WorM
В настройках жабы на закладке Скрипты(Scripts) выбираем JScript или JScript.Encode.
Записываем это в файл commonlib.scr(3.7 Кб)↓272 или <имя_конфига>.scr в папочке Settings:
Scripts
//----------------------------------------Цвета------------------------------------------------
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 m_date = new Date();
  var Year = m_date.getYear();
  var Month = m_date.getMonth();
  var Day = m_date.getDate();
  var hours = m_date.getHours();
  var mins = m_date.getMinutes();
  var secs = m_date.getSeconds();
  if (hours < 10) {hours = "0" + hours; }
  if (mins < 10) {mins = "0" + mins; }
  if (secs < 10) {secs = "0" + secs; }
  if (Month < 10) {Month = "0" + Month; }
  if (Day < 10) {Day = "0" + Day; }
  var datastr = (Day + "." + Month +"." + Year + " " + hours + ":" + mins + ":"+secs );
  var tmp=jmc.Event;

  var say=/^(\x1B\[0;37m)?([А-Яа-я]+|Кто-то) сказал([аи])? : '(.+)'$/;
  var tell=/^(\x1B\[0;37m)?\x1B\[1;36m([А-Яа-я]+|Кто-то|Вы) сказал([аи])? ([А-Яа-я]+|кому-то|Вам) : '(.+)'\x1B\[0;37m$/;
  var gtell=/^(\x1B\[0;37m)?([А-Яа-я]+|Кто-то|Вы) сообщил([аи])? группе : '(.+)'$/;
  var shout=/^(\x1B\[0;37m)?\x1B\[1;33m([А-Яа-я]+|Кто-то) закричал([аи])? : '(.+)'(\x1B\[0;37m)?$/;
  var gossip=/^(\x1B\[0;37m)?\x1B\[0;33m([А-Яа-я]+|Кто-то) заметил([аи])? : '(.+)'(\x1B\[0;37m)?$/;
  var holler=/^(\x1B\[0;37m)?\x1B\[1;33m([А-Яа-я]+|Кто-то) заорал([аи])? : '(.+)'(\x1B\[0;37m)?$/;
  var clan=/^(\x1B\[0;37m)?(\x1B\[1;32m)?([А-Яа-я]+) дружине: \x1B\[1;31m'(.+)'\.\x1B\[0;37m$/;
  var alli=/^(\x1B\[0;37m)?(\x1B\[1;32m)?([А-Яа-я]+) союзникам: \x1B\[1;32m'(.+)'\.\x1B\[0;37m$/;

  if(say.test(tmp)==true) {
    res = say.exec(tmp);
    jmc.Output(BYEL+datastr+CWHT+"   "+res[2]+" сказал"+res[3]+" : '"+res[4]+"'");
    return;
  }
  if(tell.test(tmp)==true) {
    res = tell.exec(tmp);
    if((res[1]!='Кузнец') && (res[1]!='Волшебник') && (res[1]!='Умелец') && (res[1]!='Скорняк')
 && (res[1]!='Трактирщик') && (res[1]!='Травник') && (res[1]!='Индус') && (res[1]!='Пленник')
 && (res[1]!='Пекарь') && (res[1]!='Торговец') && (res[1]!='Подмастерье') && (res[1]!='Старуха')
 && (res[1]!='Старик')) {
      jmc.Output(BYEL+datastr+BWHT+"   "+res[2]+" сказал"+res[3]+" "+res[4]+" : '"+res[5]+"'");
    }
    return;
  }
  if(gtell.test(tmp)==true) {
    res = gtell.exec(tmp);
    jmc.Output(BYEL+datastr+"   "+res[2]+" сообщил"+res[3]+" группе : '"+res[4]+"'");
    jmc.Event=BYEL+res[2]+CNRM+" сообщил"+res[3]+" группе : '"+res[4]+"'";
    return;
  }
  if(shout.test(tmp)==true) {
    res = shout.exec(tmp);
    jmc.Output(BYEL+datastr+"   "+res[2]+" закричал"+res[3]+" : '"+res[4]+"'");
    return;
  }
  if(gossip.test(tmp)==true) {
    res = gossip.exec(tmp);
    jmc.Output(BYEL+datastr+CYEL+"   "+res[2]+" заметил"+res[3]+" : '"+res[4]+"'");
    return;
  }
  if(holler.test(tmp)==true) {
    res = holler.exec(tmp);
    jmc.Output(BYEL+datastr+"   "+res[2]+" заорал"+res[3]+" : '"+res[4]+"'");
    return;
  }
  if(clan.test(tmp)==true) {
    res = clan.exec(tmp);
    jmc.Output(BYEL+datastr+"   "+CNRM+res[3]+" дружине: "+BRED+"'"+res[4]+"'.");
    return;
  }
  if(alli.test(tmp)==true) {
    res = alli.exec(tmp);
    jmc.Output(BYEL+datastr+"   "+CNRM+res[3]+" союзникам: "+BGRN+"'"+res[4]+"'.");
    return;
  }
}

jmc.RegisterHandler("Incoming","CaptureTells();");
          
Работает это в Былинах.
Valid HTML 4.01 Transitional Правильный CSS! Counter
Created by WorM ©2006-2017