game/onlineList.js
2022-12-19 20:26:14 +02:00

963 lines
32 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var sml_img = { };
Element.prototype.remove = function() {
this.parentElement.removeChild(this);
}
NodeList.prototype.remove = HTMLCollection.prototype.remove = function() {
for(var i = 0, len = this.length; i < len; i++) {
if(this[i] && this[i].parentElement) {
this[i].parentElement.removeChild(this[i]);
}
}
}
var chat = {
key:'',
room:'',
count:0,
time:0,
t:null, //timer
t2:null, //timer 2
t_all:{}, //time molch
r:0,
g:0,
rtime:37,
ct:{ '-1':0, '1':15, '2':30, '3':60, '4':300},
saveData:null,
msg_id:0,
nrg:0,
nozpros:0,
newmsg:0,
sound:0,
translit:0,
filter:0,
globalMsg:0,
ignoreList:{x:0,nms:[]},
citySys:0,
inObj:null,
userSendMessage: false,
efftxt:function(id,txt) {
var r = txt;
return r;
},
ignore: function (login) {
if (this.ignoreList[login] != undefined) {
if ($('#ignr_alu').attr('id') != undefined) {
$(`#ignr_u_${this.ignoreList[login]}`).remove();
}
delete this.ignoreList.nms[this.ignoreList[login]];
delete this.ignoreList[login];
return
//msg
}
this.ignoreList.x++;
this.ignoreList[login] = this.ignoreList.x;
this.ignoreList.nms[this.ignoreList.x] = login;
if ($('#ignr_alu').attr('id') != undefined) {
$('#ignr_alu').html(`${$('#ignr_alu').html()}<div id="ignr_u_${this.ignoreList.x}"> <b>${login}</b> <a target="_blank" href="https://new-combats.com/info/${login}"><img src="https://${top.c.img}/i/inf_capitalcity.gif" onMouseOver="top.hi(this,\'<b>Èíô. î ${login}</b>\',event,5,-2,2,2,\'\');" onMouseOut="top.hic();" onMouseDown="top.hic();"></a> <small><a href="javascript:void(0)" onclick="chat.ignorUn(${this.ignoreList.x})">Clear</a></small> </div>`);
}
return
},
getRandom: function (a, b) {
return a + ((b - a) * Math.random());
},
feerverk_id:0,
feerverk:function(name) {
if( name == 'fw04' ) {
var frc = {
'name':'fw04',
'x':19,
'top':this.getRandom(1,35),
'left':this.getRandom(0,365),
'width':135,
'sound':this.getRandom(8,10),
'height':99,
'zad':3
};
frc.left -= 35;
}
if( frc.name != undefined ) {
this.sendSound( frc.sound );
var obj = top.frames.main.document.getElementById('frvrks');
if( obj != undefined ) {
var newhtml = '';
var i = 1;
while( i <= frc.x ) {
newhtml += `<img style="display:none" id="frvanim_${this.feerverk_id}_img${i}" width="${frc.width}" height="${frc.height}" src="https://img.new-combats.com/fw/${frc.name}/${i}.gif">`;
i++;
}
newhtml = `<div id="frvanim_${this.feerverk_id}" style="z-index:5000;position:absolute;width:${frc.width}px;height:${frc.height}px;left:${frc.left}px;top:${frc.top}px;">${newhtml}</div>`;
$(obj).append(newhtml);
this.feerverk_go( this.feerverk_id , frc.x-1 , frc.name , frc.x , frc.zad );
this.feerverk_id++;
}
}
},
feerverk_go: function (id, time_back, img, x, zad) {
if (zad > 0) {
setTimeout(`chat.feerverk_go(${id},${time_back},"${img}",${x},0);`, 500 * zad);
} else {
time_back--;
var obj = top.frames.main.document.getElementById(`frvanim_${id}`);
if (time_back > 0) {
var img1 = top.frames.main.document.getElementById(`frvanim_${id}_img${(x-time_back+1)}`); //òåêóùàÿ
if (img1 != undefined) img1.style.display = 'none';
var img1 = top.frames.main.document.getElementById(`frvanim_${id}_img${(x-time_back+2)}`); //òåêóùàÿ
if (img2 != undefined) img2.style.display = '';
setTimeout(`chat.feerverk_go(${id},${time_back},"${img}",${x},0);`, 50);
} else top.frames.main.document.getElementById(`frvanim_${id}`).remove();
}
},
ignorUn: function (x) {
$(`#ignr_u_${x}`).remove();
this.ignore(this.ignoreList.nms[x]);
},
ignorListOpen: function () {
var date = '', i = 0;
var j = 1;
while (j <= this.ignoreList.x) {
if (this.ignoreList[this.ignoreList.nms[j]] != undefined) {
date += `<div id="ignr_u_${j}"> <b>${this.ignoreList.nms[j]}</b> <a target="_blank" href="https://new-combats.com/info/${this.ignoreList.nms[j]}"><img src="https://${top.c.img}/i/inf_capitalcity.gif" onMouseOver="top.hi(this,\'<b>Èíô. î ${this.ignoreList.nms[j]}</b>\',event,5,-2,2,2,\'\');" onMouseOut="top.hic();" onMouseDown="top.hic();"></a> <small><a href="javascript:void(0)" onclick="chat.ignorUn(${j})">Clear</a></small> </div>`;
}
j++;
}
win.add('ignorListWin', 'Ñïèñîê èãíîðèðóåìûõ', `<div id="ignr_alu">${date}</div>`, {}, 0, 1, 'min-width:200px;');
delete date;
},
// ñìàéëû
addSmile: function (id) {
$('#textmsg').val(`${$('#textmsg').val()} :${id}: `);
$('#textmsg').focus();
},
lookSmiles: function () {
if ($('#chbtn8').attr('class') == 'db cp chatBtn8_1') {
return this.lookSmilesWork('', 'chatBtn8_2')
}
return this.lookSmilesWork('none', 'chatBtn8_1')
},
lookSmilesWork: function (display, className) {
$('#ttSmiles').css('display', display);
$('#chbtn8').attr('class', `db cp ${className}`);
},
// îïòèìèçàöèÿ âñåõ êíîïîê
greyButton_work: function (elemId, className, method, count ) {
$(elemId).attr('class', `db cp ${className}`);
this[method] = count;
},
// êíîïêà ëåéêè
// 1
filterMsg: function () {
if ($('#chbtn1').attr('class') == 'db cp chatBtn1_1') {
return this.greyButton_work('#chbtn1', 'chatBtn1_2', "filter", 1)
}
return this.greyButton_work('#chbtn1', 'chatBtn1_1', "filter", 0)
},
// êíîïêà ñèñòåìíûõ ñîîáùåíèé
// 2
systemMsg: function () {
if ($('#chbtn4').attr('class') == 'db cp chatBtn4_1') {
this.greyButton_work('#chbtn4', 'chatBtn4_2', "citySys", 1)
$.cookie('citySys', 1);
return
}
this.greyButton_work('#chbtn4', 'chatBtn4_1', "citySys", 0)
$.cookie('citySys', 0);
return
},
// êíîïêà àóäèîñîîáùåíèé
// 3
soundChat: function () {
if ($('#chbtn7').attr('class') == 'db cp chatBtn7_1') {
return this.greyButton_work('#chbtn7', 'chatBtn7_2', "sound", 1)
} else if ($('#chbtn7').attr('class') == 'db cp chatBtn7_2') {
return this.greyButton_work('#chbtn7', 'chatBtn7_3', "sound", 2)
}
return this.greyButton_work('#chbtn7', 'chatBtn7_1', "sound", 0)
},
// êíîïêà òðàíñëèòà
// 4
translitChat: function () {
if ($('#chbtn6').attr('class') == 'db cp chatBtn6_1') {
return this.greyButton_work('#chbtn6', 'chatBtn6_2', "translit", 1)
}
return this.greyButton_work('#chbtn6', 'chatBtn6_1', "translit", 0)
},
subValSend: '',
subSend: async function () {
if ($('#textmsg').val() != '') {
if ($('#textmsg').val() != this.subValSend) {
if (this.nozpros == 0) {
this.trmb();
var textmsg = $('#textmsg').val();
if (cb_date[cb_select] == 7 && (textmsg.match(/to *\[(.*?)\].*/i) || textmsg.match(/private *\[(.*?)\].*/i))) {
for (var cb in cb_date) {
if (cb_date[cb] == 5) {
open_cb(cb, null);
}
}
}
if (typeof window.online_send_jqxhr == "undefined" || window.online_jqxhr.readyState === 4) {
window.online_send_jqxhr = $.post('online.php?r' + c.rnd + '&cas' + ((new Date().getTime()) + Math.random()), {
msg: textmsg,
key: this.key,
mid: this.msg_id,
rndo: c.rnd,
cb: cb_date[cb_select]
}, function (data) {
chat.clearText();
chat.fc();
chat.genchatData(data, 1);
chat.scrollNow(true)
});
}
}
}
}
},
addto:function(login, type2) {
var loginaddT = login;
var s = '';
if($('#'+$(this.inObj).attr('id')).attr('id') == undefined) {
$('#textmsg').focus();
s = $('#textmsg').val();
} else $(this.inObj).focus();
var reg555 = new RegExp("private\\s*\\[(.*?)\\]","");
var reg551 = new RegExp("to\\s*\\[(.*?)\\]","");
var test1 = s.match(reg555);
if(s.match(reg555) == null) {
type = "to";
} else if(s.match(reg551) == null) {
type = "private";
}
var type3 = 'to';
var reg2 = new RegExp(""+type+"(\\s*)\\[(.*?)\\]","");
var cs = s.replace(reg2,""+type+"$1[,$2,]");
var slogin = login.replace(/([\^.*{}$%?\[\]+|\/\(\)])/g,"\\$1");
var reg = new RegExp(""+type+"\\s*\\[.*,\\s*"+slogin+"\\s*,.*\\]","");
var result = '';
var reg3 = new RegExp(""+type+"\\s*\\[(.*?)\\]","");
while(res = s.match(reg3)) {
// result += res[1]+',';
result += `${res[1]},`;
s = s.replace(reg3,'');
}
result = result.replace(/,$/,'');
var prar = result.split(',');
for(i = 0; i < prar.length; i++) {
prar[i] = prar[i].replace(/^\s+/,'');
prar[i] = prar[i].replace(/\s+$/,'');
}
var str = prar.join(', ');
if(str) login += ', ';
space = '';
if (!s.match(/^\s+/)) space = ' ';
var prob = '';
if($('#'+$(this.inObj).attr('id')).attr('id') == undefined && (this.inObj == null || $('#main').contents().find('#'+this.inObj.id).attr('id') == undefined))
{
if (!cs.match(reg))
{
if (type2 == 'to') {
if (test1 != null) type2 = 'private';
}
if (loginaddT == 'klan' && type2 == 'private') {
if (login == 'klan, ') {
s = type2 + ' [klan] to [' + prob + '' + str + '' + prob + ']' + space + s;
} else {
s = type2 + ' [klan]' + space + s;
}
}
else {s = type2+' ['+prob+''+login+str+''+prob+']'+space+s;}
} else {
if(type3 == 'to') type3 = "private";
s = type3+' ['+prob+''+str+''+prob+']'+space+s;
}
} else s = login+str;
if (this.inObj != null && $('#main').contents().find(`#${this.inObj.id}`).attr('id') != undefined) {
$('#main').contents().find(`#${this.inObj.id}`).val(s);
} else if ($('#' + $(this.inObj).attr('id')).attr('id') == undefined) {
$('#textmsg').val(s);
} else $(this.inObj).val(s);
},
clearText: function () {
$('#textmsg').val('');
},
reflesh: function () {
this.time = 0;
this.testTimer(true);
},
reMoney: function () {
$('#moneyGM').html(`${top.c.money} êð.`);
},
testTimer: function (n) {
clearTimeout(this.t);
if ($.cookie('btl') != this.btl) {
if ($.cookie('btl') > 0) {
this.sendSound(2);
if (top.frames['main'].smnpty == undefined) {
top.frames['main'].location.href = "main.php";
}
}
this.btl = $.cookie('btl');
}
if (this.rtime != this.ct[$.cookie('chatCfg0')] && this.ct[$.cookie('chatCfg0')] != undefined) {
this.rtime = this.ct[$.cookie('chatCfg0')];
if (this.time > this.rtime) this.time = this.rtime;
}
if (this.rtime >= 5 || this.r == 0) //was >- 30 lakris fix
{
if (this.time < 1) {
var aot = {
0: 0,
1: 1,
2: 0
};
if ($('#chcf10').attr('checked') == true) aot[2] = 1;
if ($('#autoRefOnline').attr('checked') == true || this.r == 0 || n != false) {
aot[0] = 1;
}
if (this.nozpros == 0) {
if (typeof window.online_jqxhr == "undefined" || window.online_jqxhr.readyState === 4) {
window.online_jqxhr = $.getJSON(`online.php?r${c.rnd}&cas${((new Date().getTime()) + Math.random())}`, {key: this.key, mid: this.msg_id, r1: aot[0], r2: aot[1], r3: aot[2], rndo: c.rnd}, function (data) {
if (data.rnd != null) {
chat.genchatData(data);
if (data.key != undefined) chat.saveData = data;
this.g++;
c.rnd = data.rnd;
}
});
}
}
this.time = 5;
this.r++;
} else this.time--;
this.t = setTimeout('chat.testTimer(false);clearTimeout(this.t);', 1000);
}
},
gUser:function(data,ol) {
var rt = '';
function data_work (count) {
data[count] = this.replaceAll(data[count], "\\", '\\\\');
data[count] = this.replaceAll(data[count], "[s1;]", '"');
data[count] = this.replaceAll(data[count], "[s2;]", '`');
data[count] = this.replaceAll(data[count], "[s3;]", '');
data[count] = this.replaceAll(data[count], "[s4;]", '');
data[count] = this.replaceAll(data[count], "<", '');
data[count] = this.replaceAll(data[count], ">", '');
}
if(data[1]!=undefined) {
rt = data[1];
if( rt == 'Àäìèíèñòðàòîð' ) rt = this.efftxt('fire',rt);
if (ol == true) {
rt = `<a href="javascript:void(0)" onClick="chat.addto(\'${data[1]}\',\'to\')">${rt}</a>`;
}
else rt = `<b>${rt}</b>`;
if(data[13]!=0) rt = `<span class="uCss${data[13]}">${rt}</span>`;
if (data[10] > 0) {
rt = `<s onmouseout="top.hic()" onmousedown="top.hic()" onmouseover="top.hi(this,\'Ïåðñîíàæ áûë çàáëîêèðîâàí\',event,3,1,1,2,\'\')">${rt}</s>`;
}
if (data[8] != 0) data_work(8)
else if (data[9] != 0) data_work(9)
// òóò
function rtData (count) {
return rt = `<img height="15" src="https://${top.c.img}/i/align/align${data[count]}.gif">${rt}`;
}
if(data[4]!=0)
{
rt = `<a href="/clan/${data[4]}" title="${data[4]}" target="_blank"><img width="24" height="15" src="https://${c.img}/i/clan/${data[4]}.gif"></a>${rt}`;
}
if( data[16] > 0 ) rtData(16)
rtData(3)
if(c.lvl>-1)
{
if(c.city==data[6])
{
if (data[12] > 0) {
rt = `<a href="javascript:void(0)" onClick="chat.addto(\'${data[1]}\',\'private\')"><img title="Ïåðñîíàæ ñðàæàåòñÿ" src="https://${c.img}/i/lock1.gif" width="20" height="15"></a>${rt}`;
} else {
rt = `<a href="javascript:void(0)" onClick="chat.addto(\'${data[1]}\',\'private\')"><img src="https://${c.img}/i/lock.gif" width="20" height="15"></a>${rt}`;
}
}else{
rt = `<img style="padding-right:3px;" onmouseout="top.hic()" onmousedown="top.hic()" onmouseover="top.hi(this,\'Ïåðñîíàæ ñåé÷àñ â ${data[6]}\',event,3,1,1,2,\'\')" src="https://${c.img}/i/city_ico/${data[6]}.gif" width="17" height="15">${rt}`;
}
}
rt += `[${data[2]}]<a href="https://${c.url}/info/${data[0]}" target="_blank"><img style="vertical-align:baseline" width="12" height="11" src="https://${top.c.img}/i/inf_${data[5]}.gif" title="Èíô. î ${data[1]}" /></a>`;
if (data[11] > top.c.time) {
rt += ` <img id="img_molch${data[1]}" width="24" height="15" style="cursor:help" src="https://${c.img}/i/sleep2.gif" onmouseout="top.hic()" onmousedown="top.hic()" onmouseover="top.hi(this,\'Íà ïåðñîíàæà íàëîæåíî çàêëÿòèå ìîë÷àíèÿ.<br>Áóäåò ìîë÷àòü åùå <span id=\\\'molch${data[0]}\\\'>${this.timeOut(data[11])}</span>\',event,3,1,1,2,\'\');chat.justRefMolch(${data[0]})">`;
this.addRefMolch(data[0], data[11]);
}
if (data[14] != "") {
rt += ` <img width="24" height="15" style="cursor:help" src="https://${c.img}/i/travma2.gif" onmouseout="top.hic()" onmousedown="top.hic()" onmouseover="top.hi(this,\'Ó ïåðñîíàæà ${data[14]}\',event,3,1,1,2,\'\');">`;
}
if (data[13] > 0) {
if (data[13] == 2) {
rt += ` <a target="main" href="/main.php?atak_user=${data[0]}" title="Êðîâàâîå íàïàäåíèå íà ${data[1]}"><img width="13" height="13" src="https://${c.img}/i/clear.gif"></a>`;
} else {
rt += ` <a target="main" href="/main.php?atak_user=${data[0]}" title="Íàïàñòü íà ${data[1]}"><img width="13" height="13" src="https://${c.img}/i/curse_attack.gif"></a>`;
}
}
if( data[15] == 1 ) rt = `<span class=woman >${rt}</span>`
} else rt = '<i>íåâèäèìêà</i>[??]'
return rt;
},mlch:{},
justRefMolch: function (id) {
$(`#molch${id}`).html(this.timeOut(this.mlch[id]));
},
addRefMolch: function (id, tm) {
this.t_all[id] = setTimeout(`chat.refMolch(${id})`, 1000);
this.mlch[id] = tm;
},
refMolch: function (id) {
clearTimeout(this.t_all[id]);
if (this.mlch[id] > 0) {
$(`#molch${id}`).html(this.timeOut(this.mlch[id]));
this.t_all[id] = setTimeout(`chat.refMolch(${id})`, 1000);
return
}
$(`#img_molch${id}`).remove();
return delete this.mlch[id], this.t_all;
},
fc: function () {
$('#textmsg').focus();
},
timeOut: function (v) {
msPerDay = '';
dt = new Date();
dt.setTime((v - c.time) * 1000);
m1 = dt.getUTCMonth();
d1 = dt.getUTCDay();
h1 = dt.getUTCHours();
min1 = dt.getUTCMinutes();
sec = dt.getUTCSeconds();
if (m1 > 0) msPerDay = `${m1} ìåñ. `;
if (d1 > 0 && Math.floor((v - c.time) / (60 * 60 * 24)) == d1) msPerDay = `${d1} ä. `;
if (h1 > 0) msPerDay += `${h1} ÷. `;
if (min1 > 0) msPerDay += `${min1} ìèí. `;
if (sec > 0 && msPerDay != '') msPerDay += `${sec} ñåê. `;
if (msPerDay == '') msPerDay = 'ìåíüøå ìèíóòû.';
delete m1, d1, h1, min1, sec;
return msPerDay;
},
deleteMessage: async function (id, fc) {
if (fc == 1) top.msgdeleted(id)
else {
$(`#msg_${id}`).remove();
$(`#msg_${id}_sys`).remove();
if (top.c.admin > 0) {
await fetch(`online.php?jack=${c.rnd}&cas${((new Date().getTime()) + Math.random())}`, {
method: "POST",
delMsg: id
})
}
}
},
clear: function () {
if ($('#textmsg').val() == '') {
if (confirm('Î÷èñòèòü îêíî ÷àòà?')) {
if (top.des == 1) {
$(`#canal${top.cb_date[top.cb_select]}`).html('');
$('#textmsg').focus();
return
}
$('#canal5').html('');
$('#textmsg').focus();
return
}
}
return $('#textmsg').val('');
},
scrollNow: function (userTrue) {
var $chat_list = document.getElementById("chat_list")
var $countChatList = $chat_list.scrollHeight - $chat_list.scrollTop
if ($countChatList < $chat_list.offsetHeight + 60) {
return $chat_list.scrollBy(0, $chat_list.scrollHeight)
}
if (userTrue) return $chat_list.scrollBy(0, $chat_list.scrollHeight)
},
msgcount:0,
sendMsg:function(data) {
var msg_see = 1;
var global_type = 0;
if( data[5] != undefined ) {
if( data[5].substring(0,7) == 'global:' ) {
global_type = 1;
data[5] = data[5].substring(7);
}
}
if (data[0] == 'new') {
data[0] = `new_msg_ ${this.newmsg++}`;
}
if (data[2] == 'delete') this.deleteMessage(data[0]);
else if (data['d'] > 0) this.deleteMessage(data['d']);
else if (data['s'] > 0) this.deleteMessage(data['s']);
else if(data[0]!=undefined && top.document.getElementById(`msg_${data[0]}`) == undefined)
{
var msg = '';
if(data[0]!=0)
{
if(top.c.admin > 0) {
if(data[12] == 1) {
msg += '<small style="color:red;text-decoration:blink"> <b>un</b>active </small>';
}
}
if(data[3]!='')
{
if(data[16] > 0) {
msg += `[<a href="javascript:void(0)" oncontextmenu="top.infoMenu(\'Íåâèäèìêà\',event,\'chat\'); return false;" onClick="chat.addto(\'Íåâèäèìêà\',\'to\')">${data[3]}</a>]`;
}else{
msg += `[<a href="javascript:void(0)" oncontextmenu="top.infoMenu(\'${data[3]}\',event,\'chat\'); return false;" onClick="chat.addto(\'${data[3]}\',\'to\')">${data[3]}</a>]`;
}
if(chat.ignoreList[data[3]]!=undefined) msg_see = 0;
}
if(data[4]!='')
{
var forYou = 0;
//òîò êòî ïèñàë
//êîìó íàïèñàëè, ðàçáîð ìàññèâà
if(data[4]!='')
{
var to = '',to2 = '',arr = data[4].split(','),i = 0,vl = '';
//òåì êîìó ïèñàëè
while(i!=-1)
{
if(arr[i]!=undefined)
{
vl = this.trim(arr[i]);
if (vl.toLowerCase() == top.c.login.toLowerCase()) {
forYou++;
}
if (vl.toLowerCase() == top.c.login.toLowerCase()) {
vl = this.trim(data[3]);
}
if (i > 0) {
to += ', ';
to2 += ', ';
}
if (data[3] != '') {
to += `<span style="cursor:pointer" onclick="chat.addto(\'${vl}\',\'private\');" oncontextmenu="top.infoMenu(\'${this.trim(arr[i])}\',event,\'chat\'); return false;">${this.trim(arr[i])}</span>`;
if (this.trim(arr[i].toLowerCase()) != top.c.login.toLowerCase()) {
to2 += this.trim(arr[i]);
} else {
if (data[2] == 2) to2 += this.trim(arr[i]);
else to2 += this.trim(vl);
}
}
} else i = -2;
i++;
}
}
if(data[2] == 6 || data[2] == 8) {
var zmlogin = new RegExp("\\[login:(.*?)\\]","");
var reflcd = new RegExp("\\[reflesh_main_zv_priem:(.*?)\\]","");
if (data[5].match(zmlogin) != null) {
zmlogin = data[5].match(zmlogin)[1];
data[5] = data[5].replace(`[login:${zmlogin}]`, `<a onMouseDown="top.loginGo(\'${zmlogin}\',event);" oncontextmenu="top.infoMenu(\'${zmlogin}\',event,\'chat\'); return false;" title="${zmlogin}" style="cursor:pointer;" onClick="chat.multiAddto(\'${zmlogin}\',\'to\');">${zmlogin}</a>`);
}
if (data[5].match(reflcd) != null) {
reflcd = data[5].match(reflcd)[1];
data[5] = data[5].replace(`[reflesh_main_zv_priem:${reflcd}]`, '');
}
}
//Ñîáèðàåì ìàññèâ êîìó àäðåñîâàíî ñîîáùåíèå
if (data[2] == 6) {
//ëè÷íàÿ ñèñòåìêà, âíèìàíèå
msg += ' <span style="color:red">Âíèìàíèå!</span> ';
} else if (data[2] == 2)
{
if (forYou > 0) {
msg += ` <span style="color:${data[6]}"><b>to [${to2}]</b></span>`;
} else {
msg += ` <span style="color:${data[6]}">to [${to2}]</span>`;
}
}else if(data[2]==3)
{
if (this.trim(data[3].toLowerCase()) == top.c.login.toLowerCase()) {
forYou++;
}
if (data[3] != '') {
if (data[4] == 'klan' && data[2] == 3) {
msg += ' <span class="klan"><span style="cursor:pointer" onclick="chat.multiaddto(\'klan\',\'private\');">private [klan]</span></span>';
} else if (data[4] == 'paladins' && data[2] == 3) {
msg += ' <span class="klan"><span style="cursor:pointer" onclick="chat.multiaddto(\'paladins\',\'private\');">private [paladins]</span></span>';
} else if (data[4] == 'tarmans' && data[2] == 3) {
msg += ' <span class="klan"><span style="cursor:pointer" onclick="chat.multiaddto(\'tarmans\',\'private\');">private [tarmans]</span></span>';
} else {
msg += ` <span class="private"><span style="cursor:pointer" onclick="chat.multiaddto(\'${to2}\',\'private\');">private [ </span>${to}<span style="cursor:pointer" onclick="chat.multiAddto(\'${to2}\',\'private\');"> ]</span></span>`;
}
}
}
}
msg += ' ';
}
data[5] = this.replaceAll(data[5],"[s1;]",'"');
data[5] = this.replaceAll(data[5],"[s2;]",'\'');
data[5] = this.replaceAll(data[5],"[s3;]",'<');
data[5] = this.replaceAll(data[5],"[s4;]",'>');
if ($.cookie('chatCfg2') != 0) {
data[5] = chat.testSmile(data[5]);
}
if (data[6] != 'Black' && data[6] != '') {
msg += `<font color="${data[6]}">${data[5]}</font>`;
} else msg += data[5];
if(data[2] == 21) {
//e text
var text = `[loginfrom] ${data[5]}`;
var ftps = `<i><a href="javascript:void(0)" oncontextmenu="top.infoMenu(\'${data[3]}\',event,\'chat\'); return false;" onClick="chat.addto(\'${data[3]}\',\'to\')">${data[3]}</a></i>`;
var mblogin = new RegExp("\\[login:(.*?)\\]","");
text = text.replace('[loginfrom]',ftps);
if(text.match(mblogin)!=null)
{
mblogin = text.match(mblogin)[1];
text = text.replace(`[login:${mblogin}]`,`<i><a href="javascript:void(0)" oncontextmenu="top.infoMenu(\'${mblogin}\',event,\'chat\'); return false;" onClick="chat.addto(\'${mblogin}\',\'to\')">${mblogin}</a></i>`);
}
msg = `<i>${text}</i>`;
}
if(data[1]>0)
{
var td = new Date((parseInt(data[1]))*1000);
td = [td,null,null,null];
td[1] = td[0].getHours();
td[2] = td[0].getMinutes();
td[3] = td[0].getSeconds();
td[4] = td[0].getDay();
td[5] = td[0].getMonth();
td[6] = td[0].getYear();
var j = 1;
while (j < 6) {
if (td[j] < 10) td[j] = `0${td[j]}`;
j++;
}
var cls = forYou > 0 ? 'date2' : 'date'
if (data[11] > 0) {
msg = `<font style="cursor:help" color="red" onmouseout="top.hic()" onmousedown="top.hic()" onmouseover="top.hi(this,\'Îòïðàâèòåëü íàêàçàí çà íàðóøåíèå ïðàâèë îáùåíèÿ<br>Îòêëþ÷èòü îòîáðàæåíèå ïîäîáíûõ ñîîáùåíèé ìîæíî â íàñòðîéêàõ ÷àòà.\',event,3,1,1,3,\'\')"> <b>!</b> </font>${msg}`;
}
if (data[10] > 0) {
msg = `<font style="cursor:help" color="green" onmouseout="top.hic()" onmousedown="top.hic()" onmouseover="top.hi(this,\'Ýòî ãëîáàëüíîå ñîîáùåíèå, îíî ìîæåò áûòü îòïðàâëåíî èç ëþáîé ëîêàöèè<br>Îòêëþ÷èòü îòîáðàæåíèå ïîäîáíûõ ñîîáùåíèé ìîæíî â íàñòðîéêàõ ÷àòà.\',event,3,1,1,3,\'\')"> <b>G</b> </font>${msg}`;
}
var msg22 = '<span ';
if(top.c.admin > 0) {
msg22 += `oncontextmenu="chat.deleteMessage(${data[0]});
return false;" `;
}
// ÎÏÒÈÌÈÇÀÖÈß!!!
if( data[8] == 2 ) {
if( data[14] == undefined ) {
data[14] = '--:--';
}
if( data[14] == '--:--' && data[1] > 0 ) {
data[14] = data[1];
var date14 = new Date(data[14]*1000);
data[14] = `${date14.getHours()}:${date14.getMinutes()}`;
}
msg22 += `class="${cls}">${data[14]}</span> `;
}else{
if( data[13] == undefined ) {
data[13] = '--:--';
}
if( data[13] == '--:--' && data[1] > 0 ) {
data[13] = data[1];
var date13 = new Date(data[13]*1000);
data[13] = `${date13.getHours()}:${date13.getMinutes()}`;
}
msg22 += `class="${cls}">${data[13]}</span> `;
}
msg = msg22+msg;
}
this.msgcount++;
msg = `<span class="m0c1" id="msg_${data[0]}">${msg}<br></span>`;
if (forYou > 0 && this.sound > 0 && this.trim(data[3].toLowerCase()) != top.c.login.toLowerCase()) {
this.sendSound(1);
}
if(msg_see == 1)
{
if(this.trim(data[3].toLowerCase()) == top.c.login.toLowerCase() || forYou == 1 || this.filter == 0)
{
if( data[9] > 0 ) this.sendSound(data[9]);
if( data[15] != undefined && data[15] != 0 ) {
this.feerverk( data[15] );
this.feerverk( data[15] );
}
if( top.des == 1 ) {
if( data[2] < 4 || global_type == 1 ) {
//Îáû÷íûé ÷àò
chat.textColor_Work('#canal5', msg, 5)
if( global_type == 1 ) {
//Ñèñòåìíûé ÷àò
chat.textColor_Work('#canal4', msg, 4)
}
}else{
//Ñèñòåìíûé ÷àò
chat.textColor_Work('#canal4', msg, 4)
chat.textColor_Work('#canal5', msg, 5)
}
}
else $('#canal5').html(`${$('#canal5').html()}${msg}`);
}
}
this.scrollNow(false);
return delete forYou, cls, msg_see, msg, arr;
}
},
textColor_Work: function (canal ,messg, count) {
$(canal).html(`${$(canal).html()}${messg}`);
top.blueTextSee(count);
},
testKey: function (m, v) {
var i = 0, r = v;
v = false;
while (i != -1) {
if (m[i] != undefined) {
if (m[i] == r) {
v = i;
i = -2;
}
}
else i = -2;
i++;
}
delete r, m;
return v;
},
isNumber: function (s) {
return s = !isNaN(s) ? true : false
},
testSmile: function (txt) {
txr = txt.split(':');
var i = 1,
j = 0,
smid = 0;
while (i <= txr.length) {
if (txr[i] != undefined) {
smid = this.testKey(top.sml, txr[i]);
imsml = txr[i].split('-');
if (((smid != false || smid == 0) && this.isNumber(txr[i]) != true) || (imsml != undefined && imsml[0] == '%usersmile%')) {
if (j < 3 && this.isNumber(top.sml[smid]) != true && (top.sml[smid] != undefined || imsml[0] == '%usersmile%')) {
// òóò
if (imsml[0] == '%usersmile%') {
txt = txt.replace(`\:%usersmile%-${imsml[1]}\:`, `<img src="https://${top.c.img}/i/smile/${(imsml[1].toLowerCase())}.gif" title="Èìåííîé ñìàéëèê">`);
} else {
txt = txt.replace(`\:${txr[i]}\:`, `<img src="https://${top.c.img}/i/smile/${(txr[i].toLowerCase())}.gif" style="cursor:pointer" width="${top.sml[smid+1]}" height="${top.sml[smid+2]}" onclick="chat.addSmile(\'${(txr[i].toLowerCase())}\')">`);
}
j++;
}
}
}
i++;
}
return txt;
},
trmb: function () {
if (this.translit == 1) {
$('#textmsg').val(this.convert2($('#textmsg').val()));
}
},
replaceAll: function (t, v, s) {
return t.split(v).join(s);
},
convert2:function(txt)
{
var trn = new Array();
trn = txt.split(' ');
for(var i=0;i<trn.length;i++) {
if(trn[i].indexOf("https://") < 0 && trn[i].indexOf('@') < 0 && trn[i].indexOf("www.") < 0 && !(trn[i].charAt(0)==":" && trn[i].charAt(trn[i].length-1)==":")) {
if ((i<trn.length-1)&&(trn[i]=="to" || trn[i]=="private")&&(trn[i+1].charAt(0)=="[")) {
while ( (i<trn.length-1) && (trn[i].charAt(trn[i].length-1)!="]") ) i++;
} else { trn[i] = this.convert(trn[i]); }
}
}
return trn.join(' ');
},
map_en:Array('s`h','S`h','S`H','s`Õ','sh`','Sh`','SH`',"'o",'yo',"'O",'Yo','YO','zh','w','Zh','ZH','W','ch','Ch','CH','sh','Sh','SH','e`','E`',"'u",'yu',"'U",'Yu',"YU","'a",'ya',"'A",'Ya','YA','a','A','b','B','v','V','g','G','d','D','e','E','z','Z','i','I','j','J','k','K','l','L','m','M','n','N','o','O','p','P','r','R','s','S','t','T','u','U','f','F','h','H','c','C','`','y','Y',"'"),
map_ru:Array('ñõ','Ñõ','ÑÕ','ñÕ','ù','Ù','Ù','¸','¸','¨','¨','¨','æ','æ','Æ','Æ','Æ','÷','×','×','ø','Ø','Ø','ý','Ý','þ','þ','Þ','Þ','Þ','ÿ','ÿ','ß','ß','ß','à','À','á','Á','â','Â','ã','Ã','ä','Ä','å','Å','ç','Ç','è','È','é','É','ê','Ê','ë','Ë','ì','Ì','í','Í','î','Î','ï','Ï','ð','Ð','ñ','Ñ','ò','Ò','ó','Ó','ô','Ô','õ','Õ','ö','Ö','ú','û','Û','ü'),
addSm: function (i) {
$('#textmsg').focus();
top.document.textmsg.value += ` :${i}: `;
},
convert_work: function (id) {
newstr = str.match(id)[0];
str = str.replace(str.match(id)[0], '');
},
convert: function (str) {
var p1 = new RegExp("private\\s*\\[(.*?)\\]", "");
var t1 = new RegExp("to\\s*\\[(.*?)\\]", "");
var newstr = '';
if (str.match(p1) != null) this.convert_work(p1)
else if (str.match(t1) != null) this.convert_work(t1)
for (var i = 0; i < this.map_en.length; ++i)
while (str.indexOf(this.map_en[i]) >= 0) str = str.replace(this.map_en[i], this.map_ru[i]);
newstr += str;
return newstr;
},
sendSound: function (s) {
var svolm = 100;
if (this.sound == 0) svolm = 0
else if (this.sound == 1) svolm = 25;
else if (this.sound == 2) svolm = 100;
var isInternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
if (isInternetExplorer && window.document["Sound"] && typeof window.document["Sound"].SetVariable !== "undefined") {
window.document["Sound"].SetVariable("Volume", svolm);
window.document["Sound"].SetVariable("Sndplay", s);
}
else if(document.getElementById('Sound2') && typeof document.getElementById('Sound2').SetVariable !== "undefined") {
document.getElementById('Sound2').SetVariable("Volume", svolm);
document.getElementById('Sound2').SetVariable("Sndplay", s);
}
},
getSwf:function(val) {
var M$ = navigator.appName.indexOf("Microsoft")!=-1
return (M$ ? window : document)[val]
},
trim: function (s) {
return this.rtrim(this.ltrim(s));
},
ltrim: function (s) {
return s.replace(/^\s+/, '');
},
rtrim: function (s) {
return s.replace(/\s+$/, '');
},
multiaddto: function (users, tp) {
var arr = users.split(',');
var i = arr.length;
while (i >= 0) {
if (arr[i] != undefined) {
this.addto(arr[i], tp);
}
i--;
}
},
osize:function(obj) {
var size = 0, key;
for (key in obj) {
if (obj.hasOwnProperty(key)) size++;
}
return size;
},
//Ãåíåðèðóåì äàííûå
genchatData:function(data,prs)
{
if (prs == 1) {
data = $.parseJSON(data);
}
if (data == null && this.saveData != null) {
data = this.saveData;
data.js = '';
data.rn = undefined;
data.key = undefined;
}
//Ïîëó÷àåì ñîîáùåíèå
if (data.msg != undefined) {
var ms = $.parseJSON(data.msg);
if (ms['ld'] > this.msg_id) this.msg_id = ms['ld'];
var i = 0;
while (i <= ms['id']) {
if (ms[`m${i}`] != undefined) this.sendMsg(ms[`m${i}`]);
i++;
}
}
//Åñëè åñòü JS
if (data.js != '') eval(data.js);
if(data.rnd!=undefined) c.rnd = data.rnd;
if (data.rn != undefined) {
if ($('#chcf10').attr('checked') == true) {
$('#roomName').html(`${data.rn}<br><small>Îáùèé îíëàéí: ${data.xu}</small>`);
}
else $('#roomName').html(`${data.rn} (${data.xu})`);
}
if(data.key!=undefined) this.key = data.key;
if(data.list!=undefined)
{
var i = 0, ji = $.parseJSON(data.list), onll = '', fSort = {}, flSort = {},flSortSee = '"Ñëóæáà Ïîääåðæêè"';
//ñîðòèðóåì äàííûå
while (i <= data.xu) {
if (ji[i] != undefined) {
jj = ji[i][1].toLowerCase(); //ïî ëîãèíó
fSort[jj] = i;
flSort[i] = jj;
flSortSee += `,"${flSort[i]}"`;
}
i++;
}
flSortSee = eval(`[${flSortSee}]`);
if ($.cookie('chatCfg9') == 1) flSortSee.sort(game.sort2);
else flSortSee.sort(game.sort1);
//Âûâîäèì äàííûå
i = 0;
var onll_alh = '';
while (i <= data.xu) {
if (fSort[flSortSee[i]] != undefined) {
if (ji[fSort[flSortSee[i]]][3] == 50) {
onll_alh += `<span class="m0c1">${this.gUser(ji[fSort[flSortSee[i]]],true)}</span>`;
} else {
onll += `<span class="m0c2">${this.gUser(ji[fSort[flSortSee[i]]],true)}</span>`;
}
}
i++;
}
$('#onlist').html(`${onll_alh}${onll}`);
}
}
}