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

🔒 Готовые решения для чатов (старая версия с фреймами)

 

458
ridz @ridz
Надпись в анкете в зависимости от пола
Например если Вы хотите чтобы надпись Пробыл(a) в чате выводилась как Пробыло для бесполых, Пробыл для М или Пробыла для Ж саму надпись можно заменить на скрипт
<script>
if('%mw%'==1) pol='Пробыла в чате';
else { if('%mw%'==0) pol='Пробыл в чате'; else pol='Пробыло в чате'; }
document.write(pol);
</script>

если нужны другие надписи просто поменяйте в этом скрипте сообщения на нужные вам.
Другой способ найдите в надписи букву а в круглых скобках (a) и замените отмеченное красным на скрипт
<script>if('%mw%' == 1) document.write("a");</script>

Между словом и скриптом который добавляет букву если пол женский не должно быть пропуска.

458
ridz @ridz
Вывод статусов ICQ в зависимости от пола Кому не надо изменять нулевой статус ICQ и кто не пользуется /* Авто смена статуса при молчании */ смотрите пример ниже. Кто использует автостатус посмотрите внесены ли у вас изменения как сказано здесь https://vmeste.eu/forum?pid=141785#p141785 и тут https://vmeste.eu/forum?pid=51792#p51792
Далее пример рассмотрен на стандартных скриптах чата, если у вас количество статусов иное будьте внимательны с номерами статусов.
Следующие изменения идут только для нулевого статуса!!!
Добавляем статус для девушек, который у них будет вместо нулевого
/* Вывод статусов ICQ */
var stn2= new Array();
stn2[0] ='<img src=http://mpchat.com/blank/img/status/0.gif>';
stn2[1] ='<img src=http://mpchat.com/blank/img/status/1.gif>';
stn2[2] ='<img src=http://mpchat.com/blank/img/status/2.gif>';
stn2[3] ='<img src=http://mpchat.com/blank/img/status/3.gif>';
stn2[4] ='<img src=http://mpchat.com/blank/img/status/4.gif>';
stn2[5] ='<img src=http://mpchat.com/blank/img/status/5.gif>';
stn2[6] ='<img src=Ссылка на картинку для девушек>';

Затем
/* Сообщение о смене статусa ICQ */
var icqtxt= new Array();
icqtxt[0]='меняю статус на -> свободен';
icqtxt[1]='меняю статус на -> работаю';
icqtxt[2]='меняю статус на -> в привате';
icqtxt[3]='меняю статус на -> читаю';
icqtxt[4]='меняю статус на -> скоро буду';
icqtxt[5]='меняю статус на -> меня нет';
icqtxt[6]='меняю статус на -> свободна';

номера добавленного статуса stn2[6] и вывода статуса icqtxt[6] должны совпадать!!!
Запоминаем этот номер 6 (он у Вас может быть иным) и затем в скриптах чата в /* Добавление ника в таблицу участников */
находим строку if(stn2[stat2]==null) icqst=''; else icqst=stn2[stat2]; и над ней ставим
if(stat2=='0'&&mw_u=='1') stat2='6';

Потом находим в скриптах /* Обрабатывает строку ввода текста для отправления */ функцию function msg_send() и перед её последней фигурной скобкой ставим
if(away[laststatus]&&mymw=='0') {window.setTimeout("setstatus(0);",2000);}
if(away[laststatus]&&mymw=='1') {window.setTimeout("setstatus(6);",2000);}

Кто ставил в это место ранее if(away[laststatus]) window.setTimeout("setstatus(0);",2000); как написано здесь https://vmeste.eu/forum?pid=51792#p51792 то эту строку надо убрать.
Затем во фрейме участников найдите в селекторе <option value=0>свободен и замените это на скрипт
<script language="JavaScript" type="text/javascript">
if (parent.mymw==1) {document.write("<option value=6>свободна</option>")}
else {document.write("<option value=0>свободен</option>")}
</script>

Пример для тех кому не надо менять нулевой статус и для всех остальных статусов:
Пропишите свой статус для М и свой статус Ж в /* Вывод статусов ICQ */ например занят/занята
stn2[7] ='<img src=Ссылка на картинку занят>';
stn2[8] ='<img src=Ссылка на картинку занята>';

тоже в /* Сообщение о смене статусa ICQ */
icqtxt[7]='меняю статус на -> занят';
icqtxt[8]='меняю статус на -> занята';

и добавьте скрипт во фрейм участников ,в сам селектор выбора статусов ,в любое место до тега </select> учитывая номера статусов!!!
<script language="JavaScript" type="text/javascript">
if (parent.mymw==1) {document.write("<option value=8>занята</option>")}
else {document.write("<option value=7>занят</option>")}
</script>

458
ridz @ridz
Графник у собеседника к которому обращаются и (или) нажимаемый ник собеседника (если он у него конечно есть)
Добавлено: Возможность нажимать на ник собеседника для в ставки в поле ника.(учитывается где находиться ник собеседника в привате или в простом сообщении)
В админке -=Модерация=- Скрипты в чате /* [Функция - вывода сообщений и команд] */ добавьте красное
/* Добавление граф ников, градиента и формат времени */
set_nick=setgn(cmd,nick);

if (tonick&&text.substring(0,1)!="/" ){if(cmd==1 || cmd==2){text=text.replace(tonick+":","<a href='' onclick=\"parent.ptonick('"+tonick+": '); return false;\"><font size="+size+" color="+color+" face='"+face+"'>"+setgn(cmd,tonick)+":</font></a>");}
else {text=text.replace(tonick+":","<a href='' onclick=\"parent.tonick('"+tonick+": '); return false;\"><font size="+size+" color="+color+" face='"+face+"'>"+setgn(cmd,tonick)+":</font></a>");}}// граф для собеседника и его нажимаемый ник

set_text=setgr(cmd,nick,text);
set_time="<font style='cursor:pointer;' onclick='parent.sendto(\" см. "+time+" \");'>"+time+"</font> ";

Кто ставил неон + градиент на ник добавить так
set_nick=setgrn(cmd,nick,nick);// градиент для ника
if (set_nick==nick){set_nick=setgn(cmd,nick)};// граф для ника если нет градиента для ника
set_nick=setneon(cmd,nick,set_nick,0);// неон для ника

if (tonick&&text.substring(0,1)!="/" ){if(cmd==1 || cmd==2){text=text.replace(tonick+":","<a href='' onclick=\"parent.ptonick('"+tonick+": '); return false;\"><font size="+size+" color="+color+" face='"+face+"'>"+setgn(cmd,tonick)+":</font></a>");}
else {text=text.replace(tonick+":","<a href='' onclick=\"parent.tonick('"+tonick+": '); return false;\"><font size="+size+" color="+color+" face='"+face+"'>"+setgn(cmd,tonick)+":</font></a>");}}// граф для собеседника и его нажимаемый ник


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

Кому нужен просто нажимаемый ник собеседника без графа замените setgn(cmd,tonick) на tonick

458
ridz @ridz
Ранг модератор раздела на форуме чата. Если разделу назначены модераторы, то их сообщения в данном разделе выйдут с рангом "Модератор раздела ХХХ"
Жёлтым добавлена репутация в виде картинки звезды (проставьте сами за какое количество сообщений будет выдаваться звезда).
В админке -=Шаблоны=- Форум найдите /* Определение ранга по кол-ву сообщений*/ и добавьте красное
function rang(nick,c) {
var zvezda = "";
var stzvezda = 10; //стоимость звезды

st="Новичок";
if(c>100) st="Пользователь";
if(c>500) st="Бывалый";
if(c>1000) st="Знаток";
if(c>2000) st="Мастер";
if(c>5000) st="Профессионал";
for (var i=0; i<f_f.length; i++) { if (f_f[i][0]==forum) {af=f_f[i][3].split(", ");
for(k=0; k<af.length; k++) {if(nick==af[k]) st="Модератор раздела \""+f_f[i][1]+"\"";}}}

a=mods.split(", ");
for(k=0; k<a.length; k++) if(nick==a[k]) st="Модератор";
if(nick=="Креведко") st="йа_креведко";// особый статус для ника
for (var i=stzvezda; i<=c; i+=stzvezda) {zvezda+="<img width=20 src=http://imgs.su/coolsmile/81.gif >"}

var nagrada="";
var str = new Array();
str['Ник']='<img src="ссылка на награду" border="0" title="Пам пам пам">';
str['Ник_ещё']='<img src="ссылка на награду" border="0" title="Пам пам пам">';
if(str[nick]!=null) nagrada=str[nick];

return "Ранг: "+st+"<br>"+zvezda+"<br>"+nagrada+"<br>";
}

Добавлено отмечено розовым награда для определённого ника
строки
var str = new Array();
str['Ник']='<img src="ссылка на награду" border="0" title="Пам пам пам">';
str['Ник_ещё']='<img src="ссылка на награду" border="0" title="Пам пам пам">';

можно перенести в отдельный файл поставив вверху страницы форума скрипт
<script src="ССЫЛКА_НА_ФАЙЛ" type="text/javascript"></script>

Кто хочет может изменить отмеченное зелёным на Администратор по существу это и есть администраторы назначаемые в параметрах чата глобальные модераторы форума . а модераторы раздела назначаются при создании темы форума.
Вывод модераторов раздела на главной форума никами со ссылками на их анкеты
найдите в скриптах форума в части /* Загрузка форумов и селекта быстрого перехода, проверка доступа */
строку if(f_f[i][3]) moders='<br><i>Модераторы: '+f_f[i][3]+'</i>'; и замените на
mds='';
if(f_f[i][3]) {afm=f_f[i][3].split(", "); for(k=0; k<afm.length; k++) mds+="<a href=?inc=info&nick="+afm[k]+" target=info>"+afm[k]+"</a> "; moders='<br><i>Модераторы раздела: '+mds+'</i>';}

скриншот

458
ridz @ridz
Скрипт знак зодиака для анкеты . ZloVeЩиЙ благодарю за идею !!!(тема перенесена)
<tr><td>Знак зодиака</td><td><script language="JavaScript" type="text/javascript">
den='%birthday%';
xden=den.substr(3,2)+den.substr(0,2);
if (xden<="0100"){document.write("");}
else if(xden>="0321"&&xden<="0420")document.write("Овен");
else if(xden>="0421"&&xden<="0521")document.write("Телец");
else if(xden>="0522"&&xden<="0621")document.write("Близнецы");
else if(xden>="0622"&&xden<="0723")document.write("Рак");
else if(xden>="0724"&&xden<="0823")document.write("Лев");
else if(xden>="0824"&&xden<="0923")document.write("Дева");
else if(xden>="0924"&&xden<="1023")document.write("Весы");
else if(xden>="1024"&&xden<="1122")document.write("Скорпион");
else if(xden>="1123"&&xden<="1221")document.write("Стрелец");
else if(xden>="1222"||xden<="0120")document.write("Козерог");
else if(xden>="0121"&&xden<="0219")document.write("Водолей");
else if(xden>="0220"&&xden<="0320")document.write("Рыбы");
</script>&nbsp;</td></tr>

PS Для вставки картинки за место текста "Овен" например, пропишите её в теге img: "<img src='img/oven.jpg' title='Овен' alt='Овен'>"
else if(xden>="0321"&&xden<="0420")document.write("<img src='img/oven.jpg' title='Овен' alt='Овен'>");

Отредактировано ridz - 06.02.2011
458
ridz @ridz
Запрет полный для незарегистрированных на приват))) и рекламу ссылками (тема перенесена)
Для отключения привата: находим в скриптах чата /* Обрабатывает строку ввода текста для отправления */
и после if (msg=='') return false;
ставим
if(parent.regist != 1&&msg.split("/privat").length>1) {alert("Вам запрещено писать в приват!"); return false;}

пробуйте )))

ещё можно отключить английский у незарегистрированных и у тех кто только что зарегистрировался и ещё не получил статуса
таким образом снимается проблема рекламы ссылками
Вариан 1.
тамже находим
msg_text=translit(msg_text);
и ставим ниже
var ssilka=/([A-Za-z\/]+)/gim;
if(parent.regist != 1||parent.mystatus==0) {msg_text=msg_text.replace(ssilka, "");if(!msg_text) {alert("Вам нельзя писать латиницей!"); return false;}}

красное это для тех кто только что зарегистрирован . фунция транслита сохраняется но в лог английские слова и буквы непопадут.
конечно если коды смайлов написаны по английски новички ими не смогут воспользоваться , но если цифрами то никаких проблем.
Добавлено!!!
Вариант 2. с сохранением текста в логе чата
находим
msg_text=translit(msg_text);
и ставим ниже
if(parent.regist != 1||parent.mystatus==0) {
msg_text=msg_text.replace(/(http\S+|www\S+|[A-Za-z\/]+)/gim , '(span) $1 (/span)')}

зелёное добавлять при необходимости для замены ссылок или английского у определённого статуса
находим
/* Добавление граф ников, градиента и формат времени */
и выше этой строки добавляем

if(parent.admin==1) {text=text.replace(/\(span\)(.*?)\(\/span\)/gim , '<span style="color: #FF0000;font-size: larger;border: #FFFF00 1px solid;"> $1 </span>')} else {text=text.replace(/\(span\)(.+?)\(\/span\)/gim , '<span style="display: none"> $1 </span>')};
text=text.replace(/\(span\).*/gim , '');

/* Добавление граф ников, градиента и формат времени */

Пояснение: Во втором варианте администраторы видят запрещённый текст выделенный красным цветом в жёлтой рамке прямо в логе чата, у остальных чатлан он отсутствует.
Стиль для администратора можно добавить изменить тут <span style="color: #FF0000;font-size: larger;border: #FFFF00 1px solid;">

Отредактировано ridz - 18.01.2010
458
ridz @ridz
Любимая песня в анкете с автозапуском при наличии ссылки в mp3 формате. (тема перенесена)
это в настройки
<tr><td>Ваша ссылка на любимую песню (mp3)</td><td><input name=field4 size="40" class=text maxlength=200 value='%field4%'></td></tr>
это в анкету
<tr><td>Любимая песня</td><td>
<script language="JavaScript" type="text/javascript">
if('%field4%'!='') {document.write("<embed type=\"application/x-shockwave-flash\" src=\"http://mpchat.com/blank/player.swf\" allowfullscreen=\"false\" flashvars=\"file=%field4%&autostart=true\" width=\"250\" height=\"20\">");}
</script> </td></tr>

если вы уже использовали %field4% заменить на другой field , ссылки прямые для песен.

Любимый видеоклип с ютуб в анкете )))
это в настройки
<tr><td>Ссылка на видеролик с youtube</td><td><input name=field5 size="40" class=text maxlength=200 value='%field5%'></td></tr>
а этот скрипт в анкету куда хотите
<script language="JavaScript" type="text/javascript">
if('%field5%'!=''&&'%field5%'!='-'){
ss2009='%field5%';
var ss2009=ss2009.replace("watch?v=", "v/");
ss400='src="'+ss2009+'&hl=ru&fs=1"';
document.write('<embed '+ss400+' type=application/x-shockwave-flash allowscriptaccess=always allowfullscreen=true width=320 height=265></embed>')}
</script>

если уже использовали field5 замените на другой

458
ridz @ridz
Возможность пользоваться почтой с титульника , если вы поставили галочку "запомнить" при входе в чат, выйдя из чата у вас будет возможность пользоваться почтой не входя в чат.(тема перенесена)
найдите скрипт на титульнике
<script>
if(i_aidn) document.write("<input type=hidden name=i_aidn value="+i_aidn+">");
if(mynick && myid) document.write("<input type=hidden name=nick value='"+mynick+"'><input type=hidden name=id value='"+myid+"'><b>"+mynick+"</b> <a href=?cookie_off=1>выйти?</a><br><br>");
else {
document.write("Логин: <a href=index.php?inc=reg target=iframe>регистрация</a><br><input name=nick type=text class=text><br>");
document.write("Пароль: <a href=index.php?inc=mail target=iframe>выслать</a><br><input name=pass type=password class=text><br>");
document.write("<input type=checkbox name=cookie_on> - запомнить<br>");
}
</script>

и замените на
<script type="text/javascript" >
if(i_aidn) document.write("<input type=hidden name=i_aidn value="+i_aidn+">");
if(mynick && myid) document.write("<input type=hidden name=nick value='"+mynick+"'><input type=hidden name=id value='"+myid+"'><a href=# onclick=\"window.open('index.php?inc=post&nick='+mynick+'&id='+myid,'post','width=490,height=300,scrollbars');return false\" target=_blank title='Просмотр почты не заходя в чат' id=idpost>Ваша почта</a><br><b>"+mynick+"</b><br><a href=?cookie_off=1>выйти?</a><br>");
else {
document.write("Логин:<br> <a href=index.php?inc=reg target=iframe>регистрация</a><br><input name='nick' type=text class=text><br>");
document.write("Пароль: <a href=index.php?inc=mail target=iframe>выслать</a><br><input name='pass' type=password class=text><br>");
document.write("<input type=checkbox name='cookie_on'> - запомнить<br>");
}
</script>

458
ridz @ridz
Скрипт сколько прошло дней с регистрации+ скрипт "Прошло дней с последнего визита" поменяйте
%regdate% на %lastvisit% и замените надпись )))
(тема перенесена)
<tr><td>Прошло дней с регистрации</td><td><script language=JavaScript>
den='%regdate%';
var ret =/(\d\d).(\d\d).(\d\d)/;
ret.exec(den);
xmes=RegExp.$2+"/"+RegExp.$1+"/20"+RegExp.$3;
datareg = new Date(xmes);
datanew = new Date();
datan = (datanew.getTime() - datareg.getTime()) / (1000*60*60*24);
if (RegExp.$1){document.write(Math.round(datan));}
</script></td></tr>

вставить в таблицу в анкете

458
ridz @ridz
Ссылки через транслит без искажения (тема перенесена)
как вариант:
найдите скриптах чата в /* Обрабатывает строку ввода текста для отправления */
msg_text=translit(msg_text);
и замените на
var ss300=new Array();
var ss400=new Array();
a=msg_text.split('<br>').join(' <br> ').split(' ');
for(k=0;k<a.length;k++) {
if(a[k].substr(0,7)=='http://') {ss300[k]=a[k];ss400[k]=translit(ss300[k]);}
}
msg_text=translit(msg_text);
for(k=0;k<ss300.length;k++) msg_text=msg_text.replace(ss400[k], ss300[k]);

458
ridz @ridz
Плеер с кнопкой отключения и скрытием ника который ставит музыку смотреть также по этой теме тут https://vmeste.eu/forum?pid=143469#p143469
Отмеченное зелёным пауза и статусы отмечено синим ставить по желанию

В скрипты чата в раздел /* [НАСТРОЙКИ] */ поставить
/* Вкл/выкл плеера*/
var myzikano=0;


/* Пауза между запуском песен */
var timeout="00:00:00";
var timeplay=3;//сколько минут пауза
var timeplayId;
var datan=1000*60*timeplay;

в раздел /* [Функции - общие] */

/* Функция паузы на музыку */
function time_play(a)
{a=a.split(":");
var ttt = new Date();
ttt.setHours(a[0]);
ttt.setMinutes(a[1]);
ttt.setSeconds(a[2]);
return ttt;
}
/* Функция вывода паузы на музыку */
function vivod_play(a)
{clearTimeout(timeplayId);
parent.users.document.getElementById("video").innerHTML=a;
a--;
if(a>0){timeplayId=setTimeout("vivod_play('"+a+"')", 1000)} else {parent.users.document.getElementById("video").innerHTML=''};
}

тамже в скриптах в части /* [Функция - вывода сообщений и команд] */ перед!!! /* Автоответчик */ поставьте код

if (timeout!="00:00:00"){datan= time_play(time).getTime()-time_play(timeout).getTime();if (datan<0) {datan=86400000-(time_play(timeout).getTime()-time_play(time).getTime())} ;};
if ((datan<1000*60*timeplay)&&loaded==1){vivod_play(Math.round((1000*60*timeplay-datan)/1000))};
if (datan>1000*60*timeplay){vivod_play(0)};
if (text.split("[play]").length>1&&(datan<1000*60*timeplay)&&loaded==1) {if(nick!=mynick)return; else text="Пожалуйста подождите, идёт пауза после запуска предыдущей песни, следующий запуск возможен через "+Math.round((1000*60*timeplay-datan)/1000)+" сек или после "+time_play(timeout).getHours()+":"+(time_play(timeout).getMinutes()+timeplay)+":"+time_play(timeout).getSeconds()};
if (text.split("[play]").length>1){timeout=time;vivod_play(Math.round((1000*60*timeplay)/1000))};

stat="";
for(var i=0;i<us.length;i++){if(us[i]!= null && us[i][0]==nick)stat=us[i][2];};
if(invisible[nick]&&loaded==1)stat=1;//статус для невидимок ставить любой из тех статусов которым вы разрешили ставить музыку
if (text.split("[play]").length>1&&(stat==""||loaded==0))return;

if(nick=='НИК'||nick=='ЕЩЁ_НИК'||stat=='1'||stat=='ЕЩЁ_Номер_статуса'){t=text.split('[play]'); if(t[1]) {sizenick='4';size='4';nick='Дискжокей';color='#000000';colornick='#000000';facenick='Monotype Corsiva';face='Monotype Corsiva';t2=t[1].split('[/play]'); if(t2[0]&&myzikano==0) {var autostart='true'; if(loaded==0) autostart='false'; text=text.replace('[play]'+t2[0]+'[/play]','<embed type="application/x-shockwave-flash" src="http://mpchat.com/blank/player.swf" allowfullscreen="false" flashvars="file='+t2[0]+'&autostart='+autostart+'" width="250" height="20">');} else text=text.replace('[play]'+t2[0]+'[/play]','Музыка выключена!')}}

Вывод сколько секунд паузы осталось до возможности следующего запуска песни во фрейм участников (в любое место там)
<div id=video ></div>

Если вывод ставите в другой фрейм измените название фрейма в функции вывода отмечено выше users в function vivod_play(a)

и сама кнопка отключения или в нижний фрейм или во фремй участников
<input type=checkbox onclick="if(this.checked) {parent.myzikano=1;parent.loadframes();} else {parent.myzikano=0;parent.loadframes();}" title="Вкл-выкл музыку">

Инструкция пропишите свои ники в местах отмеченных красным и/или стаусы как отмечено синим
Зелёное это пауза чтобы запускающие песню не мешали друг другу , сообщение "подождите" увидит только ник попытавшийся запустить песню ранее назначенного вами срока.
Примечание!!! При установке синего для возможности запуска плеера по статусу ника -- строки с песнями запущенные ранее вашего входа в чат вы неувидите , также кнопка обновление в чате уберёт строки с плеерами.
Для запуска плеера посылать в чат простым сообщением код [play]Прямая ссылка в инете на mp3 файл[/play]
Если поставить галочку в чекбоксе , вместо плеера будет выводиться надпись 'Музыка выключена!'



Кнопка вставки тега [play][/play] by admiral (тема перенесена)

Держите DJ кнопку)))

1. В любой фрейм, выше </head> вставляем скрипт:
<script>
function mptags(t1,t2) {
var obj=parent.chat.document.getElementsByName("text0")[0]; obj.focus();
var pos1 = obj.selectionStart, pos2 = obj.selectionEnd;
if(typeof(pos1)=="number") {
obj.value = obj.value.substring(0, pos1) + t1 + obj.value.substring(pos1, pos2) + t2 + obj.value.substring(pos2, obj.value.length);
var pos3=pos2+t1.length+t2.length; obj.setSelectionRange(pos3,pos3);
}
else if(parent.chat.document.selection) {
var range=parent.chat.document.selection.createRange();
range.text=t1+range.text+t2; range.select();
}
else obj.value += t1 + t2;
obj.focus();
}
</script>

Более подробней можно почитать тут Скриптик идеальной установки тегов в чате >>>
2. Заходим в Фреймы - Фрейм чата нижний и в нужное нам место, где будет кнопка, прописываем:
<script language="javascript" type="text/javascript">
if(parent.mynick=='НИК DJ' || parent.mynick=='ЕЩЕ НИК DJ'||parent.mystatus=='номер статуса'||parent.mystatus=='номер статуса') {
document.write("<input type=button onclick=\"mptags('[play]','[/play]');\" value=\"Dj-кнопка\" class=input_button title=\"Вставить ссылку в поле ввода текста, выделить её, нажать Dj-кнопку и отправить музыку в чат\">"); }</script>

то, что красным вставляем ники тех кого наделили правами, то что выделено синим - подсказка, как бы инструкция)
оранжевым выделено как вставить статусы которым разрешено запускать музыку
Кнопка вставки тега [play][/play] (вариант без скрипта 1.)
В коде 2. в предыдущем варианте
onclick=\"mptags('[play]','[/play]');\"

поменять на
onclick=\"parent.chat.document.fmsg.text0.value='[play]'+parent.chat.document.fmsg.text0.value+'[/play]';parent.chat.document.fmsg.text0.focus();\"

Инструкция В пустое окно ввода текста вставить ссылку нажать кнопку , выделять ссылку нет необходимости .


458
ridz @ridz
Случайное фото с выводом ника под фотографией со ссылкой на его анкету в виде таблицы в одну строку
(тема перенесена )(обновлено)
Обязателен информер с парамером randfotos
Как ставить информер и выводить случайное фото смотрите здесь https://vmeste.eu/forum?pid=5680#p5680

<table>
<tr>
<script>
html="";
if(!i_randfotos.length) html+="Нет фотографий!";
for(var i=0; i<i_randfotos.length;i++) {
foto=i_randfotos[i];
html="<td><a href=?inc=gallery&foto="+foto[0]+" target=_blank title='Дата: "+foto[1]+"\nГалерея: "+foto[2]+"\nПодпись: "+foto[3]+"\nНажмите чтобы увидеть фото целиком'><center><img height=100 src=gallery/trumb/"+foto[0]+".jpg border=0></a><br /><a title='"+foto[2]+"\nАнкета' href=?inc=info&nick="+foto[2]+" target=_blank>"+foto[2]+"</a></center></td> ";
document.write(html);}
</script>
</tr>
</table>

Добавить красное в тоже самое место как указано ниже если нужно ограничение по ширине, 130 максимальная ширина(можно изменять )
<img height=100 src=gallery/trumb/"+foto[0]+".jpg onload='if(this.width>130) this.width=130' border=0>

Для вывода столбиком
<tr> и </tr>

перенести в скрипт


html="<tr><td>.........................</td></tr> ";

Отредактировано ridz - 08.06.2011
458
ridz @ridz
Чередование цвета фона в никлисте Благодарю crigon за идею!!!
Можно раскрашивать либо одну ячейку , либо всю строку целиком
В скрипты чата в раздел /* [Функции - общие] */ поставить
/* Функция чередования цвета фона в никлисте */
function chetcolor(){
var chetnoe = '1';
var chet = '#00BFFF'; //цвет чётных ячеек
var nechet = '#E0FFFF';//цвет нечётных ячеек
var chetcell = '1'; //номер ячейки для раскрашивания
var chetrow = '1'; //раскрашивать всю строку 1 только одну ячейку 0
var tabul=parent.users.document.getElementById('ul');
for (var i=0; i<tabul.rows.length; i++) {
if (tabul.rows[i].id!='woman'&&tabul.rows[i].id!='man'&&tabul.rows[i].id!='noman') {chetnoe 🙁 chetnoe==0)? '1':'0';
if (chetrow == '1')
{for (var n=0; n<tabul.rows[i].cells.length; n++) {if (n==2){continue;};tabul.rows[i].cells[n].style.backgroundColor=(chetnoe==0)? nechet:chet;}}
else {tabul.rows[i].cells[chetcell].style.backgroundColor=(chetnoe==0)? nechet:chet;}}
else {
if (tabul.rows[i].id=='woman') {var chet = '#FF69B4';var nechet = '#FFB6C1'; }; //цвета для девушек
if (tabul.rows[i].id=='man') {var chet = '#00BFFF';var nechet = '#E0FFFF';}; //цвета для парней
if (tabul.rows[i].id=='noman') {var chet = '#33CC33';var nechet = '#33FF66';}; //цвета для неизвестных
}

}}

Добавлено отмеченное синим цветом добавлять если вам нужно пропустить какую-то ячейку при раскарашивании
2 это номер ячейки которую нужно пропустить .
Добавлено отмеченное розовым цветом ставить если нужны иное своё чередование цветов для девушек, парней и тд. для модераторов и администрации прописать самостоятельно по этому образцу.
В разделе /* [Функции - формирования никлиста] */ добавить красное
/* Функции добавления и удаления пользователей в массиве никлиста */
var uc = 0;
var us = new Array();
var ucc=new Array();
var index=0;
function separate(obj,c) {
if(ucc[obj+"c"]==null) ucc[obj+"c"]=c; else ucc[obj+"c"]+=c;
parent.users.document.getElementById(obj+"c").innerHTML=ucc[obj+"c"];
if(c==1) return parent.users.document.getElementById(obj).rowIndex+1;
}
function seprules(type,st,mw) {
//if(mw=='0') index=separate("man",type);
//else if(mw=='1') index=separate("woman",type);
//else if(mw=='') index=separate("noman",type);
}

function add(nick,colornick,st,mw,icon,status,inchat,time,room,love,clan){
if(loaded==0) return;
var l=us.length;
for(var i = 0;i<l;i++ ) if(us[i]!=null && us[i][0]==nick)break;
us[i]=new Array(nick,colornick,st,mw,icon,status,room,love,clan);
if (i==l) {uc++; update(room,1);}
if(room==myroom) {
nickid="!"+nick;
obj=parent.users.document.getElementById(nickid);
ul=parent.users.document.getElementById('ul');
if(obj) ul.deleteRow(obj.rowIndex);
index=ul.rows.length;
seprules(1,st,mw);
var obj=ul.insertRow(index); obj.id=nickid;
format(i,obj);

}}

function del(nick,colornick,st,mw,icon,status,inchat,time,room) {
if(loaded==0) return;
for(var i=0; i<us.length; i++)
if( us[i] != null && us[i][0] == nick ) {uc--; update(us[i][6],-1); us[i] = null; break;}
if(room==myroom) {
nickid="!"+nick;
obj=parent.users.document.getElementById(nickid);
ul=parent.users.document.getElementById('ul');
ul.deleteRow(obj.rowIndex);
seprules(-1,st,mw);
chetcolor();
}}

и ещё тут
/* Добавление ячеек в таблицу */
tr.insertCell(0).innerHTML=set_privat;
tr.insertCell(1).innerHTML=set_nick; tr.cells[1].width="100%";
tr.insertCell(2).innerHTML=set_st;
tr.insertCell(3).innerHTML=set_icqst;
tr.insertCell(4).innerHTML=set_ign;
tr.insertCell(5).innerHTML=set_mw;
chetcolor();
}

Окрашиваются строки в которых находяться ники, если у вас есть дополнительная разбивка на администацию добавьте в отмеченное зелёным &&tabul.rows[i].id!='adm'&&tabul.rows[i].id!='mod' подробнее о разделении никлиста смотреть здесь https://vmeste.eu/forum?pid=46840#p46840
Ячейки в строке начинаются с 0.
Срипт можно использовать и тем кто не делал разбивки по полу или администрации ничего не меняя в нём.
Как это выглядит если строки полностью окрашивать смотрите на скриншоте

458
ridz @ridz
Сообщение о бане в анкете заблокированоого ника и (или) скрытие анкеты от просмотра В админке -=Шаблоны=- Анкета вставить информер с параметром lastban как это сделать подробнее смотреть здесь https://vmeste.eu/forum?pid=5680#p5680 если у вас уже есть информер просто добавьте этот параметр указав примерное число всего забаненных, например так:
<script src=index.php?inc=informer&lastban=10></script>

0 Вариант простой алерт при открытии анкеты забаненного
<script>
for(var i=i_lastban.length-1;i>=0;i--) {
ban=i_lastban[i];
if (ban[3]=='нет') ban[3]='не указана';
if (ban[2]=='%nick%'){alert("Ник "+ban[2]+" Заблокирован Время блокировки: "+ban[4]+" Причина: "+ban[3]+" Осталось: "+ban[5]+" мин"); }
}
</script>

1 Вариант сообщение в таблице анкеты , просто вставьте в таблицу в нужное вам место следующий код
<tr id="banshow" style="display:none"><script>
for(var i=i_lastban.length-1;i>=0;i--) {
ban=i_lastban[i];
if (ban[3]=='нет') ban[3]='не указана';
if (ban[2]=='%nick%'){document.write("<td>Ник "+ban[2]+" <font color=\"#FF0000\">Заблокирован</font> </td><td>Время блокировки:<br>"+ban[4]+"<br>Причина: "+ban[3]+"<br> Осталось: "+ban[5]+" мин</td>");document.getElementById('banshow').style.display="block"}
}
</script>
</tr>

2 Вариант. Вывод сообщения о бане и скрытие анкеты в случае бана (или по желанию)
1 часть Вставить код Сразу после тега
<body class=info-body>
<table id="banshow" style="display:none">
<tr><script>
show = '1';
for(var i=i_lastban.length-1;i>=0;i--) {
ban=i_lastban[i];
if (ban[3]=='нет') ban[3]='не указана';
if (ban[2]=='%nick%'){show = '0';document.write("<td>Ник "+ban[2]+" <font color=\"#FF0000\">Заблокирован</font> </td><td>Время блокировки:<br>"+ban[4]+"<br>Причина: "+ban[3]+"<br> Осталось: "+ban[5]+" мин</td>");document.getElementById('banshow').style.display="block";}
}
</script>
</tr>
</table>
<script language="JavaScript" type="text/javascript">
if('%field3%' =='1'){show = '0';document.write("<b><font face='Monotype Corsiva' size=+2 color='red'>Анкета скрыта от просмотра</font></b>");}
</script>

<div id="anketashow" style="display:block">
<script>if(show == '0') document.getElementById('anketashow').style.display="none";</script>

и внизу анкеты перед закрывающим тегом боди добавляем закрывающий тег див красное
2 часть
</div>
</body>
</html>

Отмеченное зелёным + простое скрытие анкеты добавлять по желанию вместе со следующим кодом для вставки в настройки
3 часть
<tr><td>Отображение анкеты</td><td>
<script>
document.write("<input type=hidden name=field3 class=text maxlength=1 value='%field3%'>");
if('%field3%'==1) sel='checked'; else sel='';
print='<input type=checkbox name=anketa '+sel+' onclick="if(!this.checked) field3.value=0;else field3.value=1"> - скрыть анкету от просмотра<br>';
document.write(print);
</script>
</td></tr>

Если вы использовали %field3% замените его другим.Даже если человек скроет анкету сообщение о бане сохраниться.
Только скрытие анкеты без сообщения о бане
Кому необходимо только скрытие анкеты по желанию информер НЕ СТАВИТЬ!!! а всю первую часть заменить на код
<script language="JavaScript" type="text/javascript">
show = '1'
if(%field3% =='1'){show = '0';document.write("<b><font face='Monotype Corsiva' size=+2 color='red'>Анкета скрыта от просмотра</font></b>");}
</script>
<div id="anketashow" style="display:block">
<script>if(show == '0') document.getElementById('anketashow').style.display="none";</script>

а вторую и третью части ставить без изменений.
Сообщение о бане на скриншоте.

458
ridz @ridz
Траслит на лету Отличие от обычного траслита визуально видно замену при вводе текста и сохраняются ссылки, адреса почты и смайлы вставленные копированием
В админке -=Фреймы=- Фрейм чата нижн.
Сначала найдите строку формы и добавьте красное
<form action='index.php?inc=write' method=post target="write" name="fmsg" enctype="multipart/form-data" onSubmit="transzamena(1);return (parent.msg_send());">

потом найдите строку ввода текста и добавьте красное
<input type=text class=text name=text0 size=80 maxlength=500 onKeyUp="transzamena(0)">

Ниже строки ввода добавьте скрипт
<script language="JavaScript" type="text/javascript">
document.write("<"+"script src=http://mpchat.com/blank/translit.js></"+"script>");
function translit(msg){
if (msg) {
for (i=0; i<engRegSmall.length; i++) {msg = msg.replace(engRegSmall[i], rusSmall[i])}
for (i=0; i<engRegBig.length; i++) {msg = msg.replace(engRegBig[i], rusBig[i])}
}
return msg;
}

function transzamena(n)
{if (document.fmsg.transnow.value == 1 )
{var strvvoda=document.fmsg.text0.value;
var retend =/[jcsz\']$/gim;
var ret =/\x2A|\w\.\w/gim;
a=strvvoda.split(' ');
var ttt = "";
for(k=0;k<a.length;k++) {
ret.test("123");retend.test("123");
if (ret.test(a[k])==false&&retend.test(a[k])==false) {a[k]=translit(a[k]);}
ret.test("123");retend.test("123");
if (retend.test(a[k])==true&&k<a.length-1&&ret.test(a[k])==false){a[k]=translit(a[k]); }
ret.test("123");retend.test("123");
if (retend.test(a[k])==true&&k==a.length-1&&ret.test(a[k])==false&&n==1){a[k]=translit(a[k]); }
if (k==0){ttt+=a[k]} else {ttt+=" "+a[k]};

}
document.fmsg.text0.value=ttt;}}

</script>

Чекбокс вкл/выключения вставьте в нужное вам место в форме нижнего фрейма.
<input type=checkbox name=transnow value=0 title="Транслит текста на лету! ссылки,смайлы и почту вставлять копированием" onclick="if(!this.checked) {this.value=0} else this.value=1;">

458
ridz @ridz
Генератор ссылок для быстрых смайлов Можно использовать напрямую вставляя скрипт в необходимое вам место во frame или iframe (уберите строку с коментарием // код для копирования) или для получения кода ссылок чтоб не набивать их все вручную. Загрузите смайлы в отдельный каталог и если имена смайлов идут цифрами по порядку у вас то код будет такой
<script language="JavaScript" type="text/javascript">
var smgen="";
var smfirst=15; //начальный смайл
var smend=80; //конечный смайл
var kat="http://imgs.su/coolsmile/"; //каталог где лежат смайлы
for (var i=smfirst; i<=smend; i++) {
smgen+="<a href=# onclick=\"top.sendto(' *"+i+" '); return false;\"><img src="+kat+i+".gif border=0></a>";}
document.write(smgen)
document.write('<textarea name="smmax" rows="10" cols="100">'+smgen+'</textarea>') // код для копирования
</script>

если ссылки на смайлы идут цифрами по порядку но вы хотите чтоб после * шло имя , пропишите имена по порядку, код будет в этом случае такой
<script language="JavaScript" type="text/javascript">
var smgen="";
var k=0
var namesm=new Array("aaaa","bbbbb","ccccc");// имена смайлов
var smfirst=15; //начальный смайл
var smend=17; //конечный смайл
var kat="http://imgs.su/coolsmile/"; //каталог где лежат смайлы
for (var i=smfirst; i<=smend; i++) {
smgen+="<a href=# onclick=\"top.sendto(' *"+namesm[k]+" '); return false;\"><img src="+kat+i+".gif border=0></a>";
k++;
}
document.write(smgen)
document.write('<textarea name="smmax" rows="10" cols="100">'+smgen+'</textarea>') // код для копирования
</script>

если ваши смайлы прописаны именами и это имя вы хотите прописать после * то код будет таким (в этом случае имена можно писать в любом порядке)
<script language="JavaScript" type="text/javascript">
var smgen="";
var namesm=new Array("1","2","3");// имена смайлов
var kat="http://imgs.su/coolsmile/"; //каталог где лежат смайлы
for (var i=0; i<namesm.length; i++) {
smgen+="<a href=# onclick=\"top.sendto(' *"+namesm[i]+" '); return false;\"><img src="+kat+namesm[i]+".gif border=0></a>";
k++;
}
document.write(smgen)
document.write('<textarea name="smmax" rows="10" cols="100">'+smgen+'</textarea>') // код для копирования</script>

последний вариант на скриншоте

458
ridz @ridz
Запрет общения с самим собой и с ботом (и не существующими никами)в привате или способ борьбы с накрутками сообщений!
Вариант для стандартного нижнего фрейма (без кнопки "приват").
В админке -=Фреймы=- Фрейм чата нижн. найдите строку ввода текста и добавьте красное
<input type=text class=text name=text0 size=80 maxlength=500 onfocus="zapret()">

ниже строки ввода текста скрипт
<script language="JavaScript" type="text/javascript">
function zapret()
{if (document.fmsg.cmd.value=="/privat "&&document.fmsg.tonick.value==parent.nick_r+": "&&parent.nick_r) {document.fmsg.cmd.value="";}
if (document.fmsg.tonick.value==parent.mynick+": ") {document.fmsg.tonick.value="";document.fmsg.cmd.value="";}
}
</script>

Вариант этогоже скрипта но для тех у кого убрано поле tonick
<script language="JavaScript" type="text/javascript">
function zapret()
{if (document.fmsg.cmd.value=="/privat "&&document.fmsg.text0.split(parent.nick_r+':').length>1&&parent.nick_r) {document.fmsg.text0.value="Общение с ботом в привате отключено";document.fmsg.cmd.value="";}
if (document.fmsg.text0.split(parent.mynick+':').length>1) {document.fmsg.text0.value="Общение с самим собой отключено";document.fmsg.cmd.value="";}
}
</script>

Вариант через скрипты в чате
В админке -=Модерация=- Скрипты в чате разделе /* [Функции - нижнего фрейма] */ часть /* Обрабатывает строку ввода текста для отправления */
добавьте отмеченное красным
/* Обрабатывает строку ввода текста для отправления */
var gettime=0;
var oldmsg="";
function msg_send(){
var form=parent.chat.document.fmsg;
var msg=form.text0.value;
if (form.tonick) {if(form.tonick.value!='Всем') {msg=form.tonick.value+msg;}}
if (form.cmd) {msg=form.cmd.value+msg; if(form.cmd.value!='/privat ') form.cmd.value='';}
if (msg=='') return false;
if(msg.split(nick_r+':').length>1&&msg.split('/privat').length>1&&nick_r) {form.text0.value="Общение с ботом в привате отключено";form.cmd.value='';form.tonick.value='';return false;}
if(msg.split(mynick+':').length>1) {form.text0.value="Общение с собой отключено";form.cmd.value='';form.tonick.value='';return false;}
if(form.cmd.value=='/privat '&&(form.tonick.value == ''||form.tonick.value == 'Всем: '||form.tonick.value == 'Парням: '||form.tonick.value == 'Им: '||form.tonick.value == 'Девушкам: ')){if(form.tonick.value == ''){form.tonick.value = 'пустым ником'}; form.text0.value="Нельзя общаться с "+form.tonick.value+" в привате!";form.cmd.value='';form.tonick.value='';return false;};

В первом варианте просто нельзя будет вставить свой ник или ник бота с командой приват, во втором варианте набранный текст замениться сообщением о запрете и сбросом ника и команды, отправки сообщения не будет.
!!! Если у вас иные названия Всем Девушкам Парням Им измените в скрипте эти слова

458
ridz @ridz
Графические ники на титульнике и ники градиентом В "кто в чате" "новичках" "последних сообщениях" "именинниках"
Предварительно нужно вынести массивы со строками графников и градиентников из скриптов чата в отдельные файлы
как это сделать описано тут https://vmeste.eu/forum?pid=106486#p106486
описаный ниже зелёным код только градиент ников сделанных отдельно смотреть тут https://vmeste.eu/forum?pid=180166#p180166
потом на титульнике до тега </head> вставить код
<script language="JavaScript" src="ССЫЛКА НА ФАЙЛ С ГРАФНИКАМИ" type="text/javascript"></script>

<script language="JavaScript" src="ССЫЛКА НА ФАЙЛ С ГРАДИЕНТНИКАМИ" type="text/javascript"></script>
<script language="JavaScript" src="http://mpchat.com/blank/gradient.js" type="text/javascript"></script>

Для стандартного кто в чате поменять скрипт или добавить красное
<script>
for(i=0;i<i_inusers.length;i++) {
i_nick=i_inusers[i][0]; i_color=i_inusers[i][1]; i_mw=i_inusers[i][2]; i_stat= i_inusers[i][3];
var set_out=i_nick;
if(gna[i_nick]!=null && gna[i_nick] ) {
if(gna[i_nick].match(/^[0-9a-z.:\/_-]+\.(swf)$/i)) set_out='<embed src='+gna[i_nick]+'>';
else set_out='<img src='+gna[i_nick]+' border=0>'; }

if(gran[i_nick]!=null && gran[i_nick]) set_out=gr(i_nick,gran[i_nick]);
document.write("<a href=?inc=info&nick="+i_nick+" target=_blank><font color=#"+i_color+">"+set_out+"</font></a><br>");
}
if(i_inchat==0) document.write("никого нет<br>");
</script>

Для стандартного вывода новичков поменять скрипт или добавить красное
<script>
for(i=0;i<i_lastreg.length;i++) {
i_nick=i_lastreg[i][0]; i_color=i_lastreg[i][1]; i_mw=i_lastreg[i][2]; i_stat= i_lastreg[i][3];
var set_out=i_nick;
if(gna[i_nick]!=null && gna[i_nick] ) {
if(gna[i_nick].match(/^[0-9a-z.:\/_-]+\.(swf)$/i)) set_out='<embed src='+gna[i_nick]+'>';
else set_out='<img src='+gna[i_nick]+' border=0>'; }

if(gran[i_nick]!=null && gran[i_nick]) set_out=gr(i_nick,gran[i_nick]);
document.write("<a href=?inc=info&nick="+i_nick+" target=_blank><font color=#"+i_color+">"+set_out+"</font></a><br>")
}
document.write("Всего: "+i_users);
</script>

Для стандартных последних сообщений поменять скрипт или добавить красное
<script>
for(var i=i_lastmsgs.length-1;i>=0;i--) {
msg=i_lastmsgs[i];if(!msg[6]) msg[6]="gray";if(!msg[7]) msg[7]="black";
var set_out=msg[2];
if(gna[msg[2]]!=null && gna[msg[2]] ) {
if(gna[msg[2]].match(/^[0-9a-z.:\/_-]+\.(swf)$/i)) set_out='<embed src='+gna[msg[2]]+'>';
else set_out='<img src='+gna[msg[2]]+' border=0>'; }

if(gran[msg[2]]!=null && gran[msg[2]]) set_out=gr(msg[2],gran[msg[2]]);
document.write("["+msg[5]+"] <font color=#"+msg[6]+"><b>"+set_out+":</b></font> <font color=#"+msg[7]+">"+msg[4]+"</font><br>");
}
</script>

Скрипт для имениннников с обращением Дорогой или Дорогая в зависимости от пола и печатью поздравления и также выводом графника если такой есть.
<script>
for(i=0;i<i_birthday.length;i++) {
i_nick=i_birthday[i][0]; i_color=i_birthday[i][1]; i_mw=i_birthday[i][2]; i_stat= i_birthday[i][3];
var set_out=i_nick;
if(gna[i_nick]!=null && gna[i_nick] ) {
if(gna[i_nick].match(/^[0-9a-z.:\/_-]+\.(swf)$/i)) set_out='<embed src='+gna[i_nick]+'>';
else set_out='<img src='+gna[i_nick]+' border=0>'; }
if(gran[i_nick]!=null && gran[i_nick]) set_out=gr(i_nick,gran[i_nick]);
var dor="";
i_mw==1 ? dor="<font color=red>Дорогая </font>": dor="<font color=red>Дорогой </font>";
document.write(dor+"<a href=?inc=info&nick="+i_nick+" target=_blank><font size=3 color=#"+i_color+">"+set_out+"</font></a><br>");
}
if(i_birthday.length!=0) document.write("Поздравляем Вас!!!<br>");// текст общего поздраления для всех
if(i_birthday.length==0) document.write("нет таких<br>");
</script>

Ники у всех кому прописаны графники выведутся в этих частях картинками.
Решётка # добавлять по желанию , без неё некоторые браузеры не отображают цвет ника или сообщений.

458
ridz @ridz
Для викторины
Кнопка процент % для игры в викторину при нажатии убирает ник , переводит меню в режим "сказать" и добавляет процент в начале слова
Код для стандартного нижнего фрейма.
<a href=# onclick="document.fmsg.text0.focus();document.fmsg.tonick.value='';document.fmsg.cmd.value='';document.fmsg.text0.value='%'+document.fmsg.text0.value;return false;">%</a>

Режим викторина Благодарю crigon за оптимизацию кода!!!
Код для стандартного нижнего фрейма в селектор.
document.write("<option value='%'>викторина");

Далее в скриптах чата найдите /* Обрабатывает строку ввода текста для отправления */ и добавьте красное
/* Обрабатывает строку ввода текста для отправления */
var gettime=0;
var oldmsg="";
function msg_send(){
var form=parent.chat.document.fmsg;
var msg=form.text0.value;
if (form.cmd.value=='%') form.tonick.value = '';
if (form.tonick) {if(form.tonick.value!='Всем') {msg=form.tonick.value+msg;}}
if (form.cmd) {msg=form.cmd.value+msg; if(form.cmd.value!='/privat '&&form.cmd.value!='%') form.cmd.value='';}
if (msg=='') return false;

Выбрав режим викторина можно стазу вводить ответ без % , если кто по привычке поставит процент ответ тоже будет принят.
Автоматическое включение/отключение режима викторина при нажатии на кнопку открывающую/закрывающую окно викторины
В скриптах чата найдите /* Загружает викторину в новом раскрытом фрейме или закрывает (кроме Opera < 9.5) */ и добавьте красное
/* Загружает викторину в новом раскрытом фрейме или закрывает (кроме Opera < 9.5) */
var gameon=0;
var framepos=0;
var gameheight=75;
function startgame(){
var obj=parent.document.getElementsByName('sets')[0];
var rows=obj.rows.split(',');
if(gameon==0){
parent.gameframe.location.href='http://'+domain+':7777/?chat='+chatlogin;
gameon=1; rows[framepos]=gameheight; obj.rows=rows.join(',');
parent.chat.document.fmsg.cmd.value="%";
parent.chat.document.fmsg.tonick.value="";
}
else {
parent.gameframe.location.href='start.html';
gameon=0; rows[framepos]=0; obj.rows=rows.join(',');
parent.chat.document.fmsg.cmd.value="";}
}

Дополнительно Кнопка быстрой установки режима викторина и открытие окна викторины или возвращение режима викторины если режим викторина при открытом окне викторины был сброшен например приватом.
<a href=# onclick="if (parent.gameon=='0') {document.fmsg.text0.focus();parent.startgame();parent.up (); return false} else {document.fmsg.text0.focus();document.fmsg.cmd.value='%';document.fmsg.tonick.value='';return false}" title='Режим Викторина - угадывание слов'>%</a>

458
ridz @ridz
Доработка кнопки ИНФО благодарю serhio за основной вариант смотреть здесь https://vmeste.eu/forum?pid=95222#p95222
<script>
function whoisnf() {
var whoisn = '';
if(fmsg.tonick.value == ''||fmsg.tonick.value == 'Всем: '||fmsg.tonick.value == 'Парням: '||fmsg.tonick.value == 'Им: '||fmsg.tonick.value == 'Девушкам: ')
{return false}
else {
whoisn = fmsg.tonick.value;
whoisn = whoisn.replace(':','');
window.open('./index.php?inc=info&nick='+whoisn,'info','fullscreen,scrollbars');
parent.write.location.href = 'index.php?inc=write&'+ parent.yourkey+'&text=/privat ' + fmsg.tonick.value + 'Просматриваю анкету ';
}}
</script>

Кнопка
<a href='' title='Анкета того кому пишите' onclick="whoisnf();document.fmsg.text0.focus(); return false;">?</a>

Анкета открывается на весь экран и кнопка не срабатывает на Пусто Всем Девушкам Парням Им (если у вас иные названия измените в скрипте эти слова),
Отмеченное зелёным "сообщение о просмотре" ставить по желанию.
Если окно анкеты нужно с определённым размером замените fullscreen на width=600,height=800
ширину 600 и высоту 800 окна отрегулируйте сами.


В закрытой теме нельзя отправлять сообщения.