ОсновноеRadiotalkПользовательское
MPCHAT - CMS хостинг чатов для профессионалов
90   •   Посмотреть все темы

Сообщения некоторим чатерам или групам

 

198
Flesh09 @Flesh09
Сообщения некоторим чатерам или групам. Например у меня єсть ПАРНИ і ДЕФФКИ, как мне зделать чтоби по клику например ПАРНИ, все сообщения йшли именно к ним в общаг или в приват???? 😒

1454
-мазахака- @-мазахака-
/заходиш скрипты /* [Подготовка фреймов и загрузка сообщений] */ там добвляем код /* [Подготовка фреймов и загрузка сообщений] */
var userlist="<table id=ul width=100%>"+
"<tr id=woman><td colspan=4>&nbsp;<a href=\"javascript:;\" onclick=\"parent.tonick('Девушкам: '); return false;\">~~~~~~~~~Девушки~~~~~~~~~</a></td><td id=womanc>0</td></tr>"+
"<tr id=man><td colspan=4>&nbsp;<a href=\"javascript:;\" onclick=\"parent.tonick('Парням: '); return false;\">~~~~~~~~~Пацанчики~~~~~~~</a></td><td id=manc>0</td></tr>"+
"<tr id=noman><td colspan=4>&nbsp;<a href=\"javascript:;\" onclick=\"parent.tonick('Им: '); return false;\">~~~~~~~~~ХЗ кто~~~~~~~</a></td><td id=nomanc>0</td></tr>"+
"</table>";

потом идем опять в скрипты /* [Функция - вывода сообщений и команд] */ и полностью заменяем код на етот /* [Функция - вывода сообщений и команд] */

var pu = new Array;
function f(room,cmd,nick,tonick,text,time,colornick,color,var9,var10,var11,var12,var13,var14) {
if(ign_ok(nick) && cmd!=6 && cmd!=7) return 0;

/* Присвоение переменных */
if(cmd==5) {kill=var9; timeout=var10;}
else if(cmd==6 || cmd==7) {
inchat=text; mw=var9; st=var10; icon=var11; status=var12; love=var13; clan=var14;
if(colornick=='') colornick=fontnick[0];
if(color=='') color=fonttext[0];
/* скрыть ник невидимки */
if(invisible[nick]) return;
}
else {
sizenick=var9;size=var10;facenick=var11;face=var12;
if(colornick=='') colornick=fontnick[0];
if(sizenick=='') sizenick=fontnick[1];
if(facenick=='') facenick=fontnick[2];
if(color=='') color=fonttext[0];
if(size=='') size=fonttext[1];
if(face=='') face=fonttext[2];
}

/* Автоответчик */
if(loaded==1 && tonick==mynick && nick!=mynick) {
var autotext=parent.chat.document.fmsg.text0.value;
var obj=parent.chat.document.fmsg.autotext;
if(autotext && obj && obj.checked) {
parent.write.location.href='index.php?inc=write&'+parent.yourkey+'&text=/privat '+nick+': Автоответчик -> '+autotext+'&r='+Math.random();
}}

/* Проверка пользовательских команд для простого сообщения */
if(cmd==0) {
if(text.substr(0,5)=="/ping" && nick == mynick && loaded==1) {
var ping=new Date().getTime()-gettime; text="<font color=red><i>ping: "+ping+"ms</i></font> "; }

if(text.substr(0,6)=="/clear" && clearer[nick]) {
if(loaded==1) parent.left.document.getElementsByTagName("body")[0].innerHTML="";text="очищаю фрейм сообщений просьба обновить страницу!";}

if(text.substr(0,7)=="/reload" && reloader[nick]) {
if(loaded==1) parent.location.reload(); text="перезагружаю чат";}

if(text.substr(0,6)=="/alert" && alerter[nick]) {
text=text.substr(text.indexOf(": ")+2);
if(loaded==1 && mynick==tonick) alert(text); if(nick!=mynick) return;
text=tonick+": отправленна команда алерт";}
}

/* Добавление граф ников, градиента и формат времени */
set_nick=setgn(cmd,nick);
set_text=setgr(cmd,nick,text);
set_time="<font style='cursor:pointer;' onclick='parent.sendto(\" смотри на время "+time+" \");'>"+time+"</font> ";


/* Вывод простого сообщения */
if(cmd==0) {
symbol=symbols[0];if(nick==mynick) symbol=symbols[1];if(tonick==mynick || text.split(mynick+":").length>1) symbol=symbols[2];
if(tonick==mynick || text.split(mynick+":").length>1) symbol = symbols[2];

if(text.substr(0,9) == 'Девушкам:' && parent.mymw == '1') symbol = symbols[2]; // Если первые 9 символов текста равны искомому и наша переменная пола равна 1 - мы девочки!
if(text.substr(0,7) == 'Парням:' && parent.mymw == '0') symbol = symbols[2]; // Если первые 7 символов текста равны искомому и наша переменная пола равна 0 - мы мальчики!
if(text.substr(0,3) == 'Им:' && parent.mymw == '') symbol = symbols[2]; // Если первые 3 символа текста равны искомому и переменной пола нету - мы хз кто!

set_nick=" <a href='' onclick=\"parent.tonick('"+nick+": '); return false;\"><font size="+sizenick+" color="+colornick+" face='"+facenick+"'>"+set_nick+":</font></a> ";
set_text=" <font size="+size+" color="+color+" face='"+face+"'>" +set_text+"</font> ";
towr=symbol+set_time+set_nick+set_text+"<br>";
if(nick==mynick || tonick==mynick) myhistory+=towr;
wr(towr);
}

/* Вывод приватных сообщений */
if(cmd==1 || cmd==2) {
symbol=symbols[0];if(nick==mynick) symbol=symbols[3];if(tonick==mynick) symbol=symbols[4];
symbol2="";if(nick==mynick) symbol2=symbols[5];if(tonick==mynick) symbol2=symbols[6];
if(cmd==2) {symbol="";symbol2="";set_nick="<font size="+sizenick+" color="+colornick+" face='"+facenick+"'>"+set_nick+":</font> "; set_time=time;}
else set_nick=" <a href='' onclick=\"parent.ptonick('"+nick+": '); return false;\"><font size="+sizenick+" color="+colornick+" face='"+facenick+"'>"+set_nick+":</font></a> ";
set_text=" <font size="+size+" color="+color+" face='"+face+"'>"+symbol2+" "+set_text+"</font> ";
towr=set_time+symbol+set_nick+set_text+"<br>";
if(nick==mynick || tonick==mynick) myhistory+=towr;

/* - cmd=1 для обычного привата, фрейм или общее окно, cmd=2 приват в новом окне */
if(cmd==1 && privatok==1) {parent.privat.document.write("<div>"+towr+"</div>");parent.privat.scroll(0,1000000);}
else if(cmd==1) wr(towr);
else if(cmd==2) {
if(nick==mynick) pnick=tonick; else pnick=nick;
if(pu[pnick]==null || pu[pnick].closed) pu[pnick]=window.open("index.php?inc=privat&"+parent.yourkey+"&pnick="+pnick+"&pmess=<div>"+towr+"</div>","","scrollbars=no,width=500,height=400,noresize");
else {
pu[pnick].pframe.document.write("<div>"+towr+"</div><script>scroll(0,1000000);</"+"script>");
pu[pnick].document.fmsg.text0.focus();
}}}

/* Вывод выделенного сообщения '/me' или '/msg' */
if(cmd==3) {
wr(set_time+"<b>Сообщение от <font size=2 color="+colornick+">"+set_nick+":</font></b> <i>"+set_text+"</i><br>");
}

/* Вывод сообщения о вызове и сам вызов окном с музыкой '/call nick' */
if(cmd==4) {
if(tonick==mynick && loaded==1) alert("Вас вызывает в чат "+nick+"!");
wr(set_time+"<i>"+set_nick+" вызывает "+tonick+".</i><br>");
}

/* Вывод сообщения об удалении '/kill nick' и сам процесс */
if(cmd==5) {
if(tonick==mynick && loaded==1 && kill!=6 && kill!=7) {
if((kill==1)||(kill==2)||(kill==3)) {
act="kill";
setcookie(parent.chatlogin.replace("-","_")+"_mpban",tonick,timeout);
}
if(kill==4) act="window";
if(kill==5) act="prav";
parent.location.href="exit.html?"+parent.yourkey+"&act="+act+"&timeout="+timeout+"&grund="+text;
}
if(text.length>0) text=" Причина: "+text+". ";
if(timeout>0) {
if(timeout<61) timeout="На "+timeout+" минут.";
if(timeout==1440) timeout="На день!";
if(timeout==10080) timeout="На неделю!";
if(timeout==43200) timeout="На месяц!";
if(timeout>1000000) timeout="Навсегда!";
}
wr(set_time+"<i><a href='' onclick=\"parent.tonick('"+nick+": '); return false;\"><font color="+colornick+">"+set_nick+"</font></a> "+deltxt[kill]+" "+tonick+".</i> "+timeout+text+"<br>");
}

/* Вывод входа юзера в чат и добавление в нклист через add() */
if(cmd==6) {
if(inchat=='0' && room==myroom) {
set_nick="<a href='' onclick=\"parent.tonick('"+nick+": '); return false;\"><font color="+colornick+">"+set_nick+"</font></a>";
wr(set_time+"<font color=#00ff00>К нам приходит "+set_nick+".Поприветствуем!!!</font><br>");
}
add(nick,colornick,st,mw,icon,status,inchat,time,room,love,clan);
}

/* Вывод выхода юзера из чата и удаление из никлиста через del() */
if(cmd==7) {
if(inchat=='1' && room==myroom) {
wr(set_time+"<font color=#00ff00>От нас дает деру <b>"+set_nick+"</b> и сматываеться.</font><br>");
}
del(nick,colornick,st,mw,icon,status,inchat,time,room);
}

/* Сообщение о смене статуса участника и его изменение */
if(cmd==8) {
status=text;
for(var i=0;i<us.length;i++)
if(us[i]!= null && us[i][0]==nick){
us[i][5]=status;
if(icqtxt[status]) wr(set_time+"<font size=2 color="+colornick+"><b>"+set_nick+":</b></font> <i>"+icqtxt[status]+"</i><br>");
var obj=parent.users.document.getElementById("!"+nick);
while(obj.cells.length) obj.deleteCell(0);format(i,obj);
}}

/* Функция перехода в комнаты */
if(cmd==10) {
oldroom=room; setroom=text;
if(loaded==1) {
for(var i = 0;i<us.length;i++ ) if(us[i]!=null && us[i][0]==nick) {
us[i][6]=setroom;
update(oldroom,-1);update(setroom,1);
}
if(nick==mynick) {
myroom=setroom;
if(roomlog==1) {
parent.left.document.body.innerHTML="Подождите, осуществляется переход в другую комнату ...";
window.setTimeout("loadframes();",2000);
window.setTimeout("setstyle(rooms[myroom][2]);",4000);
return;
}
ucc=new Array();
parent.left.document.body.innerHTML="";
parent.users.document.getElementById('users').innerHTML=userlist;
window.setTimeout("for(var i=0;i<us.length;i++) if(us[i]!=null) add(us[i][0],us[i][1],us[i][2],us[i][3],us[i][4],us[i][5],'','',us[i][6],us[i][7],us[i][8]);",500);
setstyle(rooms[myroom][2]);
}
else {
for(var i = 0;i<us.length;i++ ) if(us[i]!=null && us[i][0]==nick) {
if(myroom==setroom) {add(us[i][0],us[i][1],us[i][2],us[i][3],us[i][4],us[i][5],'','',us[i][6],us[i][7],us[i][8]);}
else {var obj=parent.users.document.getElementById("!"+nick); if(obj) parent.users.document.getElementById('ul').deleteRow(obj.rowIndex); seprules(-1,us[i][2],us[i][3]);}
}}}
towr="";
if(nick==mynick && loaded==1) towr=set_time+"<i>Вы перешли в комнату -> <b>"+rooms[setroom][0]+"</b>.</i><br>";
else if(myroom==setroom) towr=set_time+"<i><a href='' onclick=\"parent.tonick('"+nick+": '); return false;\"><font color="+colornick+">"+nick+"</font></a> приходит к нам из комнаты -> <b>"+rooms[oldroom][0]+"</b>.</i><br>";
else if(myroom==oldroom) towr=set_time+"<i>"+nick+" уходит в комнату -> <b>"+rooms[setroom][0]+"</b>.</i><br>";
if(nick==mynick) myhistory+=towr;
wr(towr);
}

/* Конец функции f() */
}


/* Функция обновления числа юзеров и выбора комнат */
function update(room,plus) {
obj=parent.users.document.getElementById("count"); if(obj) obj.innerHTML=uc;
if(!rooms[room] || rooms.length<2) return;
rooms[room][1]+=plus;
obj=parent.users.document.getElementsByName("setroom")[0];
if(obj) obj.options[room].innerHTML=rooms[room][0]+" ("+rooms[room][1]+")";
if(room==myroom) {obj=parent.users.document.getElementById("roomcount"); if(obj) obj.innerHTML=rooms[room][1];}
}

Отредактировано -мазахака- - 06.03.2009
1258
Сергей @seg
Вот это поудобней. ИМХО. Показывается только один раз . https://vmeste.eu/forum?pid=115990#p115990

1454
-мазахака- @-мазахака-
seg пишет:

Вот это поудобней. ИМХО. Показывается только один раз . https://vmeste.eu/forum?pid=115990#p115990

но таво что он просит там нема!

6600
Александр @admiral
dан пишет:

и полностью заменяем код на етот

если чесно даже не охото смотреть что там заменяем... если описываешь что-то хоть выделяй основные моменты, чтобы другие знали что именно у них надо заменить, скрипты могут очень сильно отличатся от твоих

1454
-мазахака- @-мазахака-
admiral пишет:

dан пишет:

и полностью заменяем код на етот

если чесно даже не охото смотреть что там заменяем... если описываешь что-то хоть выделяй основные моменты, чтобы другие знали что именно у них надо заменить, скрипты могут очень сильно отличатся от твоих

та я уже понял просто в падлу было ето делать выделять я имеюю ввиду
а так я все правельно написал?=))
чёт я сомневаюсь!

Отредактировано -мазахака- - 06.03.2009
1258
Сергей @seg
dан пишет:

seg пишет:

Вот это поудобней. ИМХО. Показывается только один раз . https://vmeste.eu/forum?pid=115990#p115990

но таво что он просит там нема!

А самому не дописать по аналогии? Есть группы мужчина, женщина.

1454
-мазахака- @-мазахака-
seg пишет:

dан пишет:

seg пишет:

Вот это поудобней. ИМХО. Показывается только один раз . https://vmeste.eu/forum?pid=115990#p115990

но таво что он просит там нема!

А самому не дописать по аналогии? Есть группы мужчина, женщина.

ет тож можна но если он незнает как ето поставить то он не сможет сам дописать!=))