Форумы » MPCHAT - CMS хостинг чатов для профессионалов »

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



1 2 3 4 ... 7

458
ridz
Быстрая смена фона в чате, возможность личного фона, случайный фон для незарегистрированных.
скрипт ставиться в правый фрейм участников. (Вариант быстрой смены через стили смотреть тут [url]https://forum.vmeste.eu/viewtopic.php?pid=35634#p35634[/url])
[quote]<script language="JavaScript" type="text/javascript">
function fon(nnn){
for(i=0; i<top.frames.length; i++) top.frames[i].document.body.style.backgroundImage="url("+nnn+")";
}// функция установки фона во всех фреймах
function nofon(nnn){
for(i=0; i<top.frames.length; i++) top.frames[i].document.body.style.backgroundImage="";
}// функция сброса фона
var wh=30; // ширина кнопки для установки фона
var ht=35; // её высота
var rjad = 5; // количество кнопок в одном ряду
var brr = 0;
var imgfon = new Array(); // ссылки на фоны любое количество желательно кратное количеству кнопок в ряду
imgfon[0]="Ссылка на картинку фона"
imgfon[1]="Ссылка на картинку фона"
imgfon[2]="Ссылка на картинку фона"
imgfon[3]="Ссылка на картинку фона"
imgfon[4]="Ссылка на картинку фона"
imgfon[5]="Ссылка на картинку фона"
imgfon[6]="Ссылка на картинку фона"
imgfon[7]="Ссылка на картинку фона"
imgfon[8]="Ссылка на картинку фона"
imgfon[9]="Ссылка на картинку фона"
document.write('<img alt="Обычный фон" border="1" hspace="2" vspace="2" width='+((wh*rjad)+(6*(rjad-1)))+' height='+ht/3+' onClick="nofon();" src='+imgfon[0]+' ><br />'); // длинная кнопка сброса фона
for (var i=0; i<imgfon.length; i++){document.write('<img alt="Нажмите чтобы установить этот фон" border="1" hspace="2" vspace="2" width='+wh+' height='+ht+' onClick="fon(this.src);" src='+imgfon[i]+' >');brr++;if (brr==rjad){document.write('<br />');brr=0}};// печать кнопок
// дополнительно ставить желанию
// случайный фон для тех кто незарегистрирован
vhod = Math.round(Math.random()*(imgfon.length-1));
if(parent.regist != 1) { window.setTimeout('fon(imgfon[vhod])',5000);}
// личный фон устанавливается админом индивидуально
var imgfonnik = new Array(); // ссылки для личных фонов любые
imgfonnik['ВАШ НИК']="Ссылка на личный фон"
imgfonnik['ЕЩЁ НИК']="Ссылка на личный фон"
if(imgfonnik[parent.mynick]!=null){document.write('<img alt="Ваш личный фон" border="1" hspace="2" vspace="2" width='+(wh+rjad)*rjad+' height='+ht/3+' onClick="fon(this.src);" src='+imgfonnik[parent.mynick]+' >');window.setTimeout('fon(imgfonnik[parent.mynick])',5000); } // печать личной кнопки и установка личного фона чата при входе
</script>[/quote]
на скриншоте как это выглядит , первая длинная кнопка это сброс, 10 маленьких установка фона, внизу длинная кнопка появляется если нику установлен личный фон
[img]http://imgs.su/users/49702/1242786586.jpg[/img]

Отредактировано ridz - 20.05.2009
458
ridz
Кнопки для попеременного открытия чего либо, например для разбивки быстрых смайлов на группы, или показа/скрытия нескольких роликов в анкете.Нажатие на кнопку открывает сответствующую группу, нажатие на другую кнопку закрывает группу которая была открыта и открывает новую группу.Нажатие на одну и туже кнопку приводит к отрытию или закрытию соответсвующей ей группы.Количество кнопок и соответственно дивов неограничено.Если на странице есть ещё дивы они не затрагиваются если конечно в их id нет слова smile.
Скрипт
[quote]<script language="JavaScript" type="text/javascript">
function opensmile(id){
var smd = document.getElementById(id);
sml=document.getElementsByTagName("DIV");
for(i=0; i<sml.length;i++) if (sml[i].id.match(/smile/)&&!sml[i].id.match(id) ) sml[i].style.display = "none" ;
smd.style.display == "block" ? smd.style.display = "none" : smd.style.display = "block";}
</script>[/quote]
Кнопки
[quote]<input type=button value="Смайлы1" onclick="opensmile('smile1');" id="but1">
<input type=button value="Смайлы2" onclick="opensmile('smile2');" id="but2">
<input type=button value="Смайлы3" onclick="opensmile('smile3');" id="but3">[/quote]
и дивы куда будет всё прятаться
[quote]<div id="smile1" style="display:none;" >
смайлы 1 группы!
</div>
<div id="smile2" style="display:none;" >
смайлы 2 группы!
</div>
<div id="smile3" style="display:none;" >
смайлы 3 группы!
</div>[/quote]
Добавляя дивы увеличьте номер id например id="smile[color=red]4[/color]" и соответсвенно в кнопке onclick="opensmile('smile[color=red]4[/color]');"

Отредактировано ridz - 20.05.2009
458
ridz
Вариант решения установки тегов в чате по мотивам [url]https://forum.vmeste.eu/viewtopic.php?pid=13810#p13810[/url] и [url]https://forum.vmeste.eu/viewtopic.php?pid=83341#p83341[/url]
От предыдущих вариантов отличается тем что При выборе стиля текста (Жырный например), сообщение в поле ввода набирается тем же стилем и меняется в зависимости от выбраного стиля и немного изменён код.
это три чекбокса жирный, наклонный, подчёрнутый. ставяться в нижний фрейм
после <input type=hidden name=trans value=0>
[quote]<input type="checkbox" name="bt" title="жирный" onclick='document.fmsg.text0.focus();if(this.checked) {document.fmsg.text0.style.fontWeight="bold"} else {document.fmsg.text0.style.fontWeight=""}' />
<input type="checkbox" name="it" title="наклонный" onclick='document.fmsg.text0.focus();if(this.checked) {document.fmsg.text0.style.fontStyle="italic"} else {document.fmsg.text0.style.fontStyle=""}' />
<input type="checkbox" name="ut" title="подчёркнутый" onclick='document.fmsg.text0.focus();if(this.checked) {document.fmsg.text0.style.textDecoration="underline"} else{document.fmsg.text0.style.textDecoration=""}' />[/quote]
затем в скрипты чата /* Обрабатывает строку ввода текста для отправления */
находим строку msg=msg_cmd+msg_nick+msg_text; и [color=blue]перед[/color] ней ставим три строчки
[quote]if([color=green]parent.chat.[/color]document.fmsg.bt.checked[color=red]&&!/^\s*%[А-яЁё]+/.test(msg_text)[/color]) {msg_text=" (b) "+msg_text+" (/b)"};
if([color=green]parent.chat.[/color]document.fmsg.it.checked[color=red]&&!/^\s*%[А-яЁё]+/.test(msg_text)[/color]) {msg_text=" (i) "+msg_text+" (/i)"};
if([color=green]parent.chat.[/color]document.fmsg.ut.checked[color=red]&&!/^\s*%[А-яЁё]+/.test(msg_text)[/color]) {msg_text=" (u) "+msg_text+" (/u)"};[/quote]
потом в фильтрацию чата три строки
[quote]#(b)^<b>^
#(i)^<i>^
#(u)^<u>^[/quote]
[color=red]Красным[/color] добавлено возможность играть в викторину при включенных стилях

[color=green]Зеленым[/color] выделено что нужно удалить для 4-й версии чатов

[color=purple]P.S В последней версии mpchat mysql, рабочее и готовое решение этого скрипта - https://forum.vmeste.eu/viewtopic.php?pid=306698#p306698[/color]

Отредактировано ridz - 18.03.2013
458
ridz
Повтор топика
Есть вариант по времени повторять топик (смотреть здесь [url]https://forum.vmeste.eu/viewtopic.php?pid=55938#p55938[/url] ) но при этом варианте в момент появления топика срабатывают все проигрыватели если вы запускали музыку в чате или может сработать звук на сообщения и ещё лог забивается топиком если в чате мало говорят в логе куча повторов топика.
Вариант ниже зависит от числа простых сообщений который вы установите и также можно выбрать сколько всего раз напечатать топик.
это в срипты чата в верхний раздел сразу после
/* [НАСТРОЙКИ] */

/* Топик - выводится в фрейме сообщений сразу после загрузки */
var topic="";
[quote]/* Повтор топика */
var nomerp=0;
var nomers=0;
var povtor=3;// сколько раз печатать топик для отмены повтора поставьте ноль
var soobwenie=15;// через сколько сообщений
var nomerroom=0;// номер комнаты в которой выводить топик
[color=green]// особый топик для незарегистрированных добавляется по желанию
if(parent.regist != 1){var topic="зарегистрируйтесь "+parent.mynick+" !!! ";var povtor=10;var soobwenie=3;var nomerroom=0}[/color][/quote]
это поставить тоже в скрипты чата в /* Вывод простого сообщения */
[color=red]перед[/color] строкой towr=set_time+symbol+set_nick+set_text+"<br>";
поставить
[quote]if(loaded){nomers++;}
if(nomers==soobwenie&&nomerp<povtor[color=green]&&room == nomerroom[/color]){wr(topic);nomers=0;nomerp++;}[/quote]
параметр &&room == 0 ноль это номер комнаты ставить по желаю , это чтоб повтор топика был только в одной вами назначенной комнате.
[color=red]if(parent.regist != 1)[/color] меняя это условие можно создать индивидуальные топики , топики для определённых статусов , как вам фантазия подскажет
пример самого топика :
var topic="<b><font color=#8B008B> Сюда совать двойные кавычки нельзя !!! только 'одинарные' или через слеш вот так \"</font></b>";

Отредактировано ridz - 07.06.2009
458
ridz
[color=red][b]ДЛЯ СТАРОГО ВАРИАНТА СКРИПТОВ[/b][/color]
Изменение стандартных фраз вывода и входа.
Обьяснение: находим вывод фразы
wr(set_time+"<font color=red>[color=red]К нам приходит [/color]"+set_nick+". [color=green]Поприветствуем![/color]</font><br>");
и заменяем первую часть фразы на переменную text1 , вторую часть на переменную text2 , вот так
wr(set_time+"<font color=red>[color=red]"+text1+"[/color] "+set_nick+". [color=green]"+text2+"[/color]</font><br>");
потом присваиваем им значение по желаниию.
ниже готовые варианты , для использования заменить полностью соответстующие команды в скриптах чата.
Для входа:
[quote]/* Вывод входа юзера в чат и добавление в нклист через 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>";
text1="К нам приходит"; // первая часть фразы входа по умолчанию
text2="Поприветствуем!"; // вторая часть фразы входа по умолчанию
// первая часть фразы в зависимости от времени суток ставить по желанию
day = new Date();
hour = day.getHours();
if (hour>=0 && hour<5)text1="Доброй ночи!";
if (hour>=5 && hour<12)text1="Доброе утро!";
if (hour>=12 && hour<18)text1="Добрый день!";
if (hour>=18 && hour<24)text1="Добрый вечер!";
// фраза во второй части в зависимости от дня недели ставить по желанию
var fraza2 = new Array();
fraza2[0]=" Отдыхайте,сегодня воскресенье - завтра рабочий день...";
fraza2[1]=" Сегодня понедельник - настраивайтесь на работу.";
fraza2[2]=" Уже вторник, понедельник к счастью позади!";
fraza2[3]=" Половина недели позади - сегодня уже среда.";
fraza2[4]=" Сегодня четверг, скоро выходные...";
fraza2[5]=" Сегодня пятница - последний рабочий день.";
fraza2[6]=" Сегодня суббота, первый день выходных!";
now = new Date();
text2 = fraza2[now.getDay()];
[color=red]// фраза в зависимости от пола ставить по желанию
text3=" Дорогая";
if(mw=='0') text3=" Дорогой";
if(mw=='') text3=" Непонятное";[/color]
// индивидуальный вход задать для избранных ников обе части text1 и text2
if(nick=="ВАШ НИК") text1="текст который будет до ника"; // только без двойных кавычек внутри фразы
if(nick=="ВАШ НИК") text2="текст после ника"; // можно теги и картинки
[color=red]if(nick=="ВАШ НИК") text3="текст";[/color]
if(nick=="ЕЩЁ НИК") text1="текст который будет до ника";
if(nick=="ЕЩЁ НИК") text2="текст после ника";
wr(set_time+"<font color=red>"+text1+[color=red]text3+[/color]" "+set_nick+". "+text2+"</font><br>");
}
add(nick,colornick,st,mw,icon,status,inchat,time,room,love,clan);
}[/quote]
Для выхода:
[quote]/* Вывод выхода юзера из чата и удаление из никлиста через del() */
if(cmd==7) {
if(inchat=='1' && room==myroom) {
text1="С нами прощается "; // первая часть фразы выхода по умолчанию
text2="и уходит."; // вторая часть фразы выхода по умолчанию
// случайная фраза во второй части ставить по желанию
var fraza2 = new Array();
fraza2[0]=" До свиданья!"; // случайных фраз любое количество можно теги и картинки
fraza2[1]=" Ждем в гости снова!"; // только без двойных кавычек внутри фразы
fraza2[2]=" Всего хорошего тебе!";
fraza2[3]=" Всего тебе доброго!";
fraza2[4]=" Пока-пока!";
fraza2[5]=" Приходи ещё!";
fraza2[6]=" До встречи!";
fraza2[7]=" Удачи тебе!";
quo = Math.round(Math.random()*(fraza2.length-1));
text2 = fraza2[quo];
// индивидуальное прощание задать для избранных ников обе части text1 и text2
if(nick=="ВАШ НИК") text1="текст который будет до ника";
if(nick=="ВАШ НИК") text2="текст после ника";
if(nick=="ЕЩЁ НИК") text1="текст который будет до ника";
if(nick=="ЕЩЁ НИК") text2="текст после ника";
wr(set_time+"<font color=red>"+text1+" <b>"+set_nick+"</b> "+text2+"</font><br>");
}
del(nick,colornick,st,mw,icon,status,inchat,time,room);
}[/quote]

Отредактировано ridz - 21.12.2009
458
ridz
Самонастраиваущееся (резиновое) окно ввода текста, сужается и расширяется в зависимости от ширины окна чата.
Самое главное определить какой элемент у вас является последним в той строке где находиться окно ввода текста, у этого элемента (кнопки) нужно поставить имя name=[color=green]vvod[/color] , если элемент уже имеет имя ничего добавлять ненужно, используйте то имя что уже имеет элемент. если после него стоял перевод строки <br> его нужно убрать .
Далее расмотрен вариант на стандартном нижнем фрейме .
В нём последним элементом в тойже строке где ввод текста является кнопка отправить у неё нет имени поэтому добавляем имя и убираем после неё перевод строки, вот так :
[quote]<input type=submit class=ok value=Отправить [color=red]name=vvod[/color] >
[color=black]<!--<br>-->[/color][/quote]
далее находим тег </body> и [color=red]перед!!![/color] ним ставим скрипт
[quote]<script language="JavaScript" type="text/javascript">
vvv='[color=green]vvod[/color]'; // имя крайнего элемента в строке где ввод сообщений
ppp=document.forms["fmsg"].elements[vvv].offsetTop;
function razmer(){
while (document.forms["fmsg"].elements[vvv].offsetTop <= ppp) {document.fmsg.text0.size++};
while (document.forms["fmsg"].elements[vvv].offsetTop > ppp) {document.fmsg.text0.size--};
}
window.setInterval("razmer();", 10);
</script>[/quote]
если у вас крайним элементом является приват то соответствеено имя надо добавить в кнопку приват, а не в кнопку отправить.
Если вы уже как-то настраивали строку ввода или изменяли через стили или таблицей не рекомендую смешивать одно с другим, а так скрипт проверен в разных чатах и браузерах.
В работе можно посмотреть в чате ссылка ниже.

Отредактировано ridz - 26.05.2009
6600
admiral
[b]Кнопка "Отключить скроллинг (прокрутку) сообщений"[/b] - работает в любом фрейме чата, даже если свой создали

Идем в Модерация - Скрипты чата - /* [Функции - общие] */, находим и добавляем пару строк, те что выделены красным:
[quote]/* Функции плавной прокрутки и включение дозагрузки */
var loaded=0;
var scrolled=0;
[color=red]var stopscroll=0;[/color]
function up () {
[color=red]if(stopscroll) return;[/color]
if(loaded==0) onloaded();[/quote]
Далее в любом фрейме чата добавляем скрипт и кнопку Включения/Отключения скроллинга (прокрутки):

1. Где нибудь между <head> и </head> вставляем скрипт вывода и переключения кнопки
[quote]<script language="JavaScript">
function click_pause()
{
var scr_pause = parent.stopscroll;
if (scr_pause != 1) {
document.all('pause_img').src = pause_on.src;
document.all('pause_img').alt = 'Включить скроллинг (прокрутку) сообщений';
parent.stopscroll = 1;
} else {
document.all('pause_img').src = pause_off.src;
document.all('pause_img').alt = 'Отключить скроллинг (прокрутку) сообщений';
parent.stopscroll = 0;
}
}
if (document.images)
{
pause_on = new Image(24,24);
pause_on.src ="ссылка на картинку отключенного скроллинга";

pause_off = new Image(24,24);
pause_off.src ="ссылка на картинку включенного скроллинга";
}
</script>[/quote]
2. В нужном месте фрейма вставляем саму кнопку:

[quote]<a href="javascript:;" onClick="click_pause()"><img border="0" name="pause_img" id="pause_img" alt="Отключить скроллинг (прокрутку) сообщений" src="ссылка на картинку включенного скроллинга" width="20" height="24"></a>[/quote]
---------------------------

[b]Вариант самой кнопки отключения скроллинга (прокрутки) сообщений без скрипта ([url=https://forum.vmeste.eu/profile.php?id=3328]ridz[/url])[/b]
[quote]<img src="ссылка на картинку отключенного скроллинга" border="0" alt="" onclick="if (parent.stopscroll==1) {this.src='ссылка на картинку отключенного скроллинга';parent.stopscroll=0} else {this.src='ссылка на картинку включенного скроллинга';parent.stopscroll=1};"/>[/quote]

Отредактировано admiral - 07.06.2009
458
ridz
[b]Как настроить css викторины привата и общего лога? [/b]
Обьяснение у лога , привата и викторины один класс [color=red]header-body[/color].
Убираем этот класс из привата идём в скрипты чата , находим [quote]/* Начальный HTML - код фреймов для сообщений */
var mainframe="<html><head><META http-equiv=Content-Type content='text/html; charset=windows-1251'><link rel=STYLESHEET type=text/css href=style.css></head><body class=header-body>";[/quote]
и добавляем красное ))).
[quote]/* Начальный HTML - код фреймов для сообщений */
var mainframe="<html><head><META http-equiv=Content-Type content='text/html; charset=windows-1251'><link rel=STYLESHEET type=text/css href=style.css></head><body class=header[color=red]idz[/color]-body>";[/quote]
открываем в админке фреймы - фрейм сообщений и делаем также [quote]<body class=header[color=red]oni[/color]-body onload="re=confirm('Извините, связь прервалась! Перезагрузить чат?'); if(re) parent.loadframes();">[/quote]
После этого для стилей есть три разных класса для викторины .header-body , для привата в отдельном окне .headeridz-body, и для общего лога .headeroni-body.
Прописываем для каждого класса всё что хотим , настраивая лог, викторину и приват по своему вкусу.
458
ridz
[color=black][b]Показ иконки перед сообщениями ника в логе и (или) привате[/b][/color], когда данный ник [color=red]присутствует (!!!)[/color] в чате.
находим в скриптах чата
/* [Функция - вывода сообщений и команд] */

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;
и после этого добавляем
[quote]icon="";
for(var i=0;i<us.length;i++)
if(us[i]!= null && us[i][0]==nick){icon=us[i][4];if((icon=="")||(icon==0)) icon="[color=green]<img src="+icon1+" border=0>[/color]";
else icon="<img src="+icon+" border=0>";};
icon="<a href='' onclick=\"parent.ptonick('"+nick+": '); return false;\">"+icon+"</a>";
[color=blue]if (icon_on==0) icon="";[/color][/quote]
затем в /* Вывод простого сообщения */
находим towr=set_time+symbol+set_nick+set_text+"<br>"; и добавляем красное
[quote]towr=[color=red]icon+[/color]set_time+symbol+set_nick+set_text+"<br>";[/quote]
или так towr=symbol[color=red]+icon+[/color]set_time+set_nick+set_text+"<br />";
тоже самое сделать для приватных сообщений в
/* Вывод приватных сообщений */

кому ненужен вывод стандартной иконки убрать отмеченное зелёным.
[color=red]добавлено!!![/color] Нажатие на эту иконку = приват с данным ником.

[color=blue]Синим[/color] добавлено отключение иконок в логе совместно с отключением иконок в никлисте кнопку отключения см. тут [url]https://forum.vmeste.eu/viewtopic.php?pid=199790#p199790[/url]

Отредактировано ridz - 08.06.2009
458
ridz
[b][color=black]Фото в анкете в заданных вами переделах[/color][/b] , чтоб не расползалось за рамки отведённого места и было пропорционально.
Находим в анкете <img src=%foto% width=150 border=0> и меняем на
[quote]<img src=%foto% [color=red]id=img[/color] border=0>[/quote]
вниз анкеты перед!!! </body> ставим скрипт
[quote]<script language="JavaScript" type="text/javascript">
var h = document.getElementById("img").height
var w = document.getElementById("img").width
if (h>w) { document.getElementById("img").height=200}
else { document.getElementById("img").width=150}
</script>[/quote]
Высота не больше 200, ширина не более 150, размер этих параметров можно задать так как вам нужно.
458
ridz
[color=black][b]Иконка[/b][/color] возле ника в никлисте чата если у человека [color=black][b]День рождения[/b][/color] и (или) + иконка сообщающая о том что ник из последних зарегистрированных.
Информер и скрипт нужно поставить во фрейм участников до тега </head>
[quote]<script src=index.php?inc=informer&getmsg=1&inchat=1&lastreg=15&counter=1&birthday=1></script>
<script>
function searchnn(nick){
var podarok = '';
[color=red]for(i=0;i<i_lastreg.length;i++){ if (i_lastreg[i][0]==nick) podarok += 'из новеньких <img border=0 src=Ссылка на картинку новичка >';}[/color]
for(i=0;i<i_birthday.length;i++){ if (i_birthday[i][0]==nick) podarok += 'День рождения <img border=0 src=Ссылка на картинку торта >';}
return podarok;}
</script>[/quote]
Далее в скриптах чата находим /* Добавление ника в таблицу участников */
и после set_nick=setgn(11,nick); добавляем
[quote]set_nick+=[color=red]"<br>"+[/color]parent.users.searchnn(nick);[/quote]
Выделенное красным можно не ставить.
[b]P.S.[/b] иконка "новичок" будет висеть у ника пока не зарегистрируюся после него следущие [color=blue]&lastreg=[b]15[/b][/color] 15 человек , или измените эту цифру на удобную вам.
458
ridz
[color=black][b]Личный фон в анкете[/b][/color]
Это поставить в настройки в таблицу[quote]<tr><td>[color=red]<img src="Ссылка на фон" width="25" height="25" border="0" alt="" onclick="document.set.field10.value=this.src"/><img src="Ссылка на фон" width="25" height="25" border="0" alt="" onclick="document.set.field10.value=this.src"/><img src="Ссылка на фон" width="25" height="25" border="0" alt="" onclick="document.set.field10.value=this.src"/><img src="Ссылка на фон" width="25" height="25" border="0" alt="" onclick="document.set.field10.value=this.src"/><img src="Ссылка на фон" width="25" height="25" border="0" alt="" onclick="document.set.field10.value=this.src"/><img src="Ссылка на фон" width="25" height="25" border="0" alt="" onclick="document.set.field10.value=this.src"/><img src="Ссылка на фон" width="25" height="25" border="0" alt="" onclick="document.set.field10.value=this.src"/><img src="Ссылка на фон" width="25" height="25" border="0" alt="" onclick="document.set.field10.value=this.src"/><br>[/color]Фон вашей анкеты (Вставьте ссылку [color=red]или нажмите кнопку фона[/color])</td><td><input name=field10 class=text size="40" maxlength=100 value='%field10%'></td></tr>[/quote]
затем в анкету перед тегом </head> добавить скрипт
[quote]<script language="JavaScript" type="text/javascript">
if('%field10%'!='') document.write('<style type="text/css">.info-body {background-image: url(%field10%);}</style>')
</script>[/quote]
Кто уже использовал %field10% замените на иной field.
тег body в анкете должен содержать класс info-body --- <body class=info-body>
Отмеченное [color=red]красным[/color] ставить по желанию, удобно тем что сразу видно какой будет фон и можно выбрать ссылку нажав на кнопку а не искать в инете.
458
ridz
[color=black][b]Вывод участников в чате[/b] [/color]В данном варианте совмещены сортировка по комнатам и по полу.
сначала нужно разместить информер (подробнее об этом и другом варианте сортировки чатлан тут [url]https://forum.vmeste.eu/viewtopic.php?pid=5680#p5680[/url]) Если хотите разместить вывод чатлан не на титульнике , то вывод информера будет такой [quote]<script src=http://Адрес чата/index.php?inc=informer&inchat=1></script>[/quote]
Если информер уже имееться на странице не загружайте его повторно!!!
Также полный путь нужно прописать в самом скрипте в строке href=?inc=info добавьте href=[color=red]http://Адрес чата/index.php[/color]?inc=info
[color=black][b]Вывод чатлан по комнатам и по полу простым списком [/b][/color]
[quote]<script>
var rooms=new Array('Главная','Модераторская','ИнТиМкА');
var inroom=new Array();
for(i=0;i<rooms.length;i++){inroom[i]=new Array();inroom[i][0]=new Array();inroom[i][1]=new Array();inroom[i][2]=new Array();}
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]; i_room= i_inusers[i][4];
if (i_mw=="") {i_mw=2};
inroom[i_room][i_mw].push("<a [color=red]href=?inc=info[/color]&nick="+i_nick+" target=_blank><font color=#"+i_color+">"+i_nick+"</font></a><br>");}
document.write("Всего "+i_inchat+"<br>");
for(i=0;i<rooms.length;i++) {
document.write("<font size=+1 color=#FF0000 face=\"Monotype Corsiva\">"+rooms[i]+"</font><br>Девушки "+inroom[i][1].length+"<br>"+inroom[i][1].join(" ")+"Парни "+inroom[i][0].length+"<br>"+inroom[i][0].join(" ")+"Неизвестные "+inroom[i][2].length+"<br>"+inroom[i][2].join(" "));}
</script>[/quote]
[color=black][b]Вывод чатлан по комнатам и по полу таблицей[/b][/color]
[quote]<script>
var rooms=new Array('Главная','Модераторская',' ИнТиМкА ');
var inroomw=new Array();
var inroomm=new Array();
var inroomn=new Array();
for(i=0;i<rooms.length;i++) {
if(!inroomw[i]) inroomw[i]="";
if(!inroomm[i]) inroomm[i]="";
if(!inroomn[i]) inroomn[i]="";}
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]; i_room= i_inusers[i][4];
if(i_mw=='1') {inroomw[i_room]+="<a href=?inc=info&nick="+i_nick+" target=_blank><font color=#"+i_color+">"+i_nick+"</font></a><br>";}
else if(i_mw=='0') {inroomm[i_room]+="<a href=?inc=info&nick="+i_nick+" target=_blank><font color=#"+i_color+">"+i_nick+"</font></a><br>";}
else {inroomn[i_room]+="<a [color=red]href=?inc=info[/color]&nick="+i_nick+" target=_blank><font color=#"+i_color+">"+i_nick+"</font></a><br>";}
}
document.write("<table align=center border=1><tr>")
for(i=0;i<rooms.length;i++) {
if(!inroomw[i]) inroomw[i]="нет";
if(!inroomm[i]) inroomm[i]="нет";
if(!inroomn[i]) inroomn[i]="нет";
document.write("<td align='center'><font size=+1 face=\"Monotype Corsiva\" color=#FF0000>"+rooms[i]+"</font></td>");}
document.write("</tr><tr><td colspan="+rooms.length+" align='center' >Девушки</td></tr><tr>")
for(i=0;i<rooms.length;i++) {document.write("<td>"+inroomw[i]+"</td>")}
document.write("</tr><tr><td colspan="+rooms.length+" align='center' >Парни</td></tr><tr>")
for(i=0;i<rooms.length;i++) {document.write("<td>"+inroomm[i]+"</td>")}
document.write("</tr><tr><td colspan="+rooms.length+" align='center'>Неизвестные</td></tr><tr>")
for(i=0;i<rooms.length;i++) {document.write("<td>"+inroomn[i]+"</td>")}
document.write("</tr></table>")
</script>[/quote]
[color=black][b]Вывод чатлан по комнатам и по полу таблицей с подсчётом[/b][/color]
[quote]<script>
var rooms=new Array('Главная','Модераторская','ИнТиМкА');
var inroom=new Array();
for(i=0;i<rooms.length;i++){inroom[i]=new Array();inroom[i][0]=new Array();inroom[i][1]=new Array();inroom[i][2]=new Array();}
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]; i_room= i_inusers[i][4];
if (i_mw=="") {i_mw=2}
inroom[i_room][i_mw].push("<a [color=red]href=?inc=info[/color]&nick="+i_nick+" target=_blank><font color=#"+i_color+">"+i_nick+"</font></a><br>");}
document.write("<table align=center border=1><tr><td colspan="+rooms.length+" align='center'>Всего в чате "+i_inchat+"</td></tr><tr>")
for(i=0;i<rooms.length;i++) {document.write("<td align='center'><font size=+1 face=\"Monotype Corsiva\" color=#FF0000>"+rooms[i]+"</font></td>");}
document.write("</tr><tr><td colspan="+rooms.length+" align='center' >Девушки </td></tr><tr>")
for(i=0;i<rooms.length;i++) {document.write("<td align=center >"+inroom[i][1].length+"</td>")}
document.write("</tr><tr>")
for(i=0;i<rooms.length;i++) {document.write("<td>&nbsp;"+inroom[i][1].join(" ")+"</td>")}
document.write("</tr><tr><td colspan="+rooms.length+" align='center' >Парни</td></tr><tr>")
for(i=0;i<rooms.length;i++) {document.write("<td align=center >"+inroom[i][0].length+"</td>")}
document.write("</tr><tr>")
for(i=0;i<rooms.length;i++) {document.write("<td>&nbsp;"+inroom[i][0].join(" ")+"</td>")}
document.write("</tr><tr><td colspan="+rooms.length+" align='center'>Неизвестные</td></tr><tr>")
for(i=0;i<rooms.length;i++) {document.write("<td align='center' >"+inroom[i][2].length+"</td>")}
document.write("</tr><tr>")
for(i=0;i<rooms.length;i++) {document.write("<td>&nbsp;"+inroom[i][2].join(" ")+"</td>")}
document.write("</tr></table>")
</script>[/quote]
Названия комнат поменяйте на свои в var rooms=new Array('Главная','Модераторская','ИнТиМкА');
если у Вас одна комната то можно сделать так var rooms=new Array('В чате');
Как это выглядит можно посмотреть на скриншоте. (цвета и размер шрифтов и прочее зависят от ваших настроек css)
[img]http://imgs.su/users/49702/1245228625.jpg[/img]
458
ridz
[color=black][b]Неон (сияние) ника и (или)текста[/b][/color] Используется фильтр Glow который поддерживает только!!! Internet Explorer и его клоны.
В скрипты чата в раздел /* [НАСТРОЙКИ] */ добавить
[quote]/* Неон ника и (или)текста : 0 - выкл, 1 - вкл, позиции в списке - это номера функций "cmd" от 0-10 (11-никлист) */
var use_neon=1;
var neok=new Array(1,1,1,0,0,0,1,0,0,0,0,1);
/* для добавления неона тексту и (или) нику, пример ниже
Stregth - Сила свечения в диапазоне 0-100, Color - Цвет свечения первая пара для ника, вторая для текста
gl['ник']=new Array("Stregth","Color","Stregth","Color");если для ника или текста неон не нужен не ставьте
gl['ник']=new Array("Stregth","Color","",""); неон только для ника
gl['ник']=new Array("","","Stregth","Color"); неон только для текста*/
var gl = new Array();
gl['adm']=new Array("2","#00FF00","7","#FF00FF");[/quote]
В скрипты чата в раздел /* [Функции - общие] */ добавить
[quote]/* Функция добавления неон. текста */
function setneon(cmd,nick,text,gry){
if(use_neon!=1) return text;
var set_out=text;
if(gl[nick]!=null && gl[nick] && neok[cmd]==1&&gl[nick][gry+1]!="") set_out="<span style='height:1; filter :progid:DXImageTransform.Microsoft. Glow(strength="+gl[nick][gry]+", color="+gl[nick][gry+1]+");'>"+set_out+"</span>";
return set_out;
}[/quote]
Затем в разделе /* [Функции - формирования никлиста] */ в части /* Добавление ника в таблицу участников */ найдите строку set_nick=setgn(11,nick); и после неё сразу добавьте
[quote]set_nick=setneon(11,nick,set_nick,0);// неон для ника[/quote]
Потом в разделе /* [Функция - вывода сообщений и команд] */ в части /* Добавление граф ников, градиента и формат времени */ найдите строки
set_nick=setgn(cmd,nick);
set_text=setgr(cmd,nick,text);
и добавьте красное
[quote]set_nick=setgn(cmd,nick);
[color=red]set_nick=setneon(cmd,nick,set_nick,0);// неон для ника[/color]
set_text=setgr(cmd,nick,text);
[color=red]set_text=setneon(cmd,nick,set_text,2); // неон для текста[/color][/quote]
Неон можно использовать совместно с графическим ником и градиентом текста.
[img]http://imgs.su/users/49702/1245614267.jpg[/img]
458
ridz
[color=black][b]Следующий статус в анкете[/b] [/color] Благодарю за идею авторов предыдущего варианта смотреть здесь [url]https://forum.vmeste.eu/viewtopic.php?pid=117847#p117847[/url]
[color=red][b]Внимание!!![/b][/color] скрипт обновлён с учётом рефералов и разного количества сообщений и времени в чате, плюс если параметр [b]0[/b] например в [b]СКОЛЬКО_МИНУТ[/b] , то такой индикатор просто [b][color=red]не отображается[/color][/b].
Этот вариант отличается иным формированием следующего статуса плюс графический индикатор
Следущее надо вставить в таблицу в анкете после тега </tr> предыдущей строки.
[quote]<script language="JavaScript" type="text/javascript">
var msg= "%msg%";
var chas="%time_h%";
var ref='%ref%';
var min= Number (%time_m%);
var allmin=Math.round((chas*60)+min);
var sl_stat ='-';
var xmin='-';
var xmsg='-';
var xref='-';
var status='%status%';
var st = new Array();
/* Прописать только те статусы после которых есть следующий статус
st["СТАТУС"]= new Array("СЛЕДУЮЩИЙ СТАТУС",СКОЛЬКО_СООБЩЕНИЙ,СКОЛЬКО_МИНУТ,СКОЛЬКО_РЕФЕРАЛОВ);*/
[color=red]st["нет"]= new Array("новичок",50,50,0);
st["новичок"]= new Array("пользователь",300,300,0);
st["пользователь"]= new Array("бывалый",2000,2000,0);
st["бывалый"]= new Array("ведущий",10000,10000,0);[/color]
if(st[status]){sl_stat = st[status][0];if (msg<st[status][1]) { xmsg=st[status][1]-msg};if(allmin < st[status][2]) {xmin=st[status][2]-allmin;};if(ref<st[status][3]){xref=st[status][3]-ref};}
var wpst = wmsg = wmin = wref=[color=yellow][b]250[/b][/color];// длина графического индикатора
var ksto = wpst/100;
var colorb = "[color=gray][b]#FFFFFF[/b][/color]";// фон индикатора
var colorin = "[color=purple][b]#CC0000[/b][/color]";// цвет индикатора
if (xmsg!='-') {wmsg=wmsg*(st[status][1]-xmsg)/st[status][1]};
if (xmin!='-') {wmin=wmin*(st[status][2]-xmin)/st[status][2]};
if (xref!='-') {wref=wref*(st[status][3]-xref)/st[status][3]};
if (sl_stat!='-') {document.write("<tr><td>Следующий статус:</td><td>"+sl_stat+"<br>");
if (st[status][1]){document.write('Набрано сообщений '+Math.round(wmsg/ksto)+'%<br>Осталось: '+xmsg+'<div align=left style="width:'+wpst+'px; background-color: '+colorb+'; height: 5px; border: #000000 1px solid; margin: 2px;font-size: 5px " ><div style="width:'+wmsg+'px; background-color: '+colorin+'; height: 5px;font-size: 5px" ></div></div>')};
if (st[status][2]){document.write('Набрано минут '+Math.round(wmin/ksto)+'%<br>Осталось: '+xmin+'<div align=left style="width:'+wpst+'px; background-color: '+colorb+'; height: 5px; border: #000000 1px solid; margin: 2px;font-size: 5px " ><div style="width:'+wmin+'px; background-color: '+colorin+'; height: 5px;font-size: 5px" ></div></div>')};
if (st[status][3]){document.write('Пришло друзей '+Math.round(wref/ksto)+'%<br>Осталось привести: '+xref+'<div align=left style="width:'+wpst+'px; background-color: '+colorb+'; height: 5px; border: #000000 1px solid; margin: 2px;font-size: 5px " ><div style="width:'+wref+'px; background-color: '+colorin+'; height: 5px;font-size: 5px" ></div></div>')};
document.write("</td></tr>")};
</script>[/quote]
[color=black][b]Иструкция по использованию:[/b][/color]
1. Замените отмеченное [color=red]красным[/color] (это дано только для примера)на свои статусы у которых есть следующий АВТО_СТАТУС прописывать так
st["СТАТУС"]= new Array("СЛЕДУЮЩИЙ СТАТУС",СКОЛЬКО_СООБЩЕНИЙ,СКОЛЬКО_МИНУТ,СКОЛЬКО_РЕФЕРАЛОВ); статус и следующий статус писать в двойных кавычках, остальное через запятую но без!!! кавычек. модераторов и последнего из списка авто_статусов за которым уже нет следующих автостатусов прописывать ненужно!!!
2. Установить свою длину индикатора цифра отмечена [color=yellow]жёлтым[/color] цветом желательно 100 или 150 или 200 (можно любое)
и выбрать подходящий вам [color=gray]фон[/color] и [color=purple]цвет[/color] индикатора
[color=red]Статусы смотреть в админке - пользователи - настроить статусы[/color]
[color=red]Добавлено!!![/color]теперь у админов и модераторв эта строка просто не будет отображаться.

Как это выглядит смотрите на скриншоте
[img]http://imgs.su/users/49702/1245717987.jpg[/img]

Отредактировано ridz - 13.09.2010
458
ridz
[color=black][b]Обязательные поля при заполнении Регистрационной формы[/b][/color]
проверка наличия данных в избранных полях (проверка производиться перед отправкой формы)
В админке - -=Шаблоны=- Регистрация находим регистрационную форму и изменяем или заменяем полностью как показано ниже[quote]<form action='' method=post id=regform [color=red]onsubmit="return sub()"[/color]>
Логин 3-15 букв или цифр<br><br>
<b>Логин</b><br>
<input name=nick type=text class=text>[color=red]*[/color]<br>
<b>E-mail</b><br>
<input name=email type=text class=text>[color=red]*[/color]<br>
<b>Пароль</b><br>
<input name=pass type=password class=text>*<br>
[color=green]<b>Повторите Пароль</b><br>
<input name=passok type=password class=text>*<br>[/color]
[color=green]<input type=radio name=w class=text onclick="form.mw.value=0" > муж
<input type=radio name=w class=text onclick="form.mw.value=1"> жен - пол*
<input type=hidden name=mw class=text><br>[/color]
<script>document.write('<img src=index.php?inc=code&xcode='+xcode+'><input type=hidden name=xcode value='+xcode+'>');</script><br>
<input type=text name=code class=text>[color=red]*[/color]<br>
<input name=subscribe type=checkbox > - рассылка<br>
<input type=submit name=done value=Регистрация class=ok>
[color=red]<br>* - обязательные поля<br>[/color]
</form>[/quote]
После формы сразу вставляем скрипт
[quote]<script language="JavaScript" type="text/javascript">
var rrr = document.getElementById('regform').getElementsByTagName('*');
var ns =new Array ();
/* Обязательные поля: name это имя input, Алерт название поля ns["name"]= "Алерт";*/
ns["nick"]="Ваш Ник";
ns["email"]="Ваш Почтовый адрес";
ns["pass"]="Пароль";
ns["code"]="Код";
ns["mw"]="Ваш Пол";
ns["passok"]="Пароль повторно, он не совпадает с тем что вы ввели ранее";

function sub()
{for (var i=0; i< rrr.length; i++) {
sss = rrr[i].name; if(sss){
if ((rrr[i].value.replace(/\s/g, '') == "" && ns[sss]!=null )||(rrr[i].name=="passok"&&rrr["passok"].value!=rrr["pass"].value))
{alert("Пожалуйста, введите "+ns[sss]);if (sss!="mw"){rrr[i].focus()} ;return false; }}}
return true;}
</script>[/quote]
[color=black][b]Иструкция по использованию:[/b][/color] Если вам нужно добавить ещё обязательное поле вставляем input из примеров. которые находяться внизу страницы регистрация например: <input name=land class=text> - страна в саму форму . если данное поле у вас уже стоит в форме ничего туда добавлять ненадо!!! повторно. Затем берём чему в этом input равно name и ставим в скрипт [color=red]ns["land"]="Вашу Страну";[/color]
[color=red][b]Исключение!!! [/b][/color]это вставка "пола" и "повтор пароля" их вставлять в форму только таким как отмечено [color=green]зелёным цветом [/color], не используйте !!! пример из образцов внизу страницы регистрации для пола , все остальные поля оттуда можно добавлять кроме этих.
Если вы не хотите чтоб какое то поле контролировалось уберите соответсвенный ns["name"]= "Алерт";
и для чатлан отметьте * поля которые обязательны.
[color=black][b]Готовая форма в виде таблицы [/b][/color] с повторной проверкой правильности ввода пароля, выводом ссылки на правила чата в зависимости от пола, отключенной кнопкой регистрация (пока не поставлен чекбокс "согласен"), и проверкой обязательных полей.
Найдите код [quote]<form action='' method=post id=regform>
<script>if(i_aidn) document.write("<input type=hidden name=i_aidn value="+i_aidn+">");</script>
Логин 3-15 букв или цифр<br><br>
<b>Логин</b><br>
<input name=nick type=text class=text><br>
<b>E-mail</b><br>
<input name=email type=text class=text><br>
<b>Пароль</b><br>
<input name=pass type=password class=text><br>
<script>document.write('<img src=index.php?inc=code&xcode='+xcode+'><input type=hidden name=xcode value='+xcode+'>');</script><br>
<input type=text name=code class=text><br>
<input name=subscribe type=checkbox > - рассылка<br>
<input type=submit name=done value=Регистрация class=ok>
</form>[/quote]
и замените на
[quote]<form action='' method=post id=regform onsubmit="return sub()">
<table border="1">
<tr>
<td colspan="2" align="center" [color=red]id="rega"[/color] ><script language="JavaScript" type="text/javascript">
document.write(parent.document.title)
</script></td>

</tr>
<tr>
<td>Ваш ник (Логин 3-15 букв или цифр)</td>
<td><input name=nick type=text class=text><font color="#FF0000">*</font></td>
</tr>
<tr>
<td>E-mail</td>
<td><input name=email type=text class=text><font color="#FF0000">*</font></td>
</tr>
<tr>
<td>Пароль</td>
<td><input name=pass type=password class=text ><font color="#FF0000">*</font></td>
</tr>
<tr>
<td>Повторите Пароль</td>
<td><input name=passok type=password class=text><font color="#FF0000">*</font></td>
</tr>
<tr>
<td>Ваш Пол</td>
<td><input type=radio name=w class=text onclick="form.mw.value=0;men()" > <font color="#0000FF">муж</font>
<input type=radio name=w class=text onclick="form.mw.value=1;women()"> <font color="#FF0000">жен</font> <font color="#FF0000">*</font>
<input type=hidden name=mw class=text></td>
</tr>
<tr>
<td><script>document.write('<img src=index.php?inc=code&xcode='+xcode+'><input type=hidden name=xcode value='+xcode+'>');</script></td>
<td><input type=text name=code class=text><font color="#FF0000">*</font></td>
</tr>
<tr>
<td>Рассылка (новости чата)</td>
<td><input name=subscribe type=checkbox ></td>
</tr>
<tr>
<td><label for=agree id="labelagree" >С <a href='prav.html' target='_blank' title='Правила чата'>Правилами Чата</a> ознакомился.<br> Согласен работать по данным правилам<br> и не рекламировать другие чаты.</label></td>
<td><input type=checkbox name=agree onClick='changeButtonStatus();'><input type=submit name=done value=Регистрация class=ok ></td>
</tr>
<tr>
<td colspan="2" align="center"><font color="#FF0000">*</font>-обязательные поля</td>

</tr>

</table>
</form>
<script language="JavaScript" type="text/javascript">
var rrr = document.getElementById('regform').getElementsByTagName('*');
var ns =new Array ();
/* Обязательные поля: name это имя input, Алерт название поля ns["name"]= "Алерт";*/
ns["nick"]="Ваш Ник";
ns["email"]="Ваш Почтовый адрес";
ns["pass"]="Пароль";
ns["code"]="Код";
ns["mw"]="Ваш Пол";
ns["passok"]="Пароль повторно, он не совпадает с тем что вы ввели ранее";

function sub()
{for (var i=0; i< rrr.length; i++) {
sss = rrr[i].name; if(sss){
if ((rrr[i].value.replace(/\s/g, '') == "" && ns[sss]!=null )||(rrr[i].name=="passok"&&rrr["passok"].value!=rrr["pass"].value))
{alert("Пожалуйста, введите "+ns[sss]);if (sss!="mw"){rrr[i].focus()} ;return false; }}}
return true;}

function changeButtonStatus(){
rrr.done.disabled=(rrr.agree.checked) ? false : true;
}
changeButtonStatus();

function men()
{
document.getElementById('labelagree').innerHTML="С <a href='prav.html' target='_blank' title='Правила чата'>Правилами Чата</a> ознакомился.<br> Согласен работать по данным правилам<br> и не рекламировать другие чаты."
}
function women()
{
document.getElementById('labelagree').innerHTML="С <a href='prav.html' target='_blank' title='Правила чата'>Правилами Чата</a> ознакомлена.<br> Согласна работать по данным правилам<br> и не рекламировать другие чаты."
}
</script>[/quote]
Как выглядит таблица смотрите на скриншоте.Если регистрационная форма используется на титульнике вместо слова "Регистрация" будет title вашего титульника.
[color=red]Добавлено!!![/color] Кто хочет может изменить алерт заменив отмеченное [color=green]зелёным[/color] на код
[quote]document.getElementById('rega').innerHTML="<font color='#FF0000'>Пожалуйста, введите "+ns[sss]+"</font>";[/quote]
и добавьте отмеченное [color=red]красным.[/color] в этом случае сообщения будут выводиться в ячейке отмеченной красным. на скришоте это ячейка где написано "Регистрация"
[img]http://imgs.su/users/49702/1247356359.png[/img]

Отредактировано ridz - 18.06.2010
458
ridz
[color=black][b]Скрытие в анкете незаполненных полей[/b][/color]
В админке - -=Шаблоны=- Анкета перед тегом </body> вставить скрипт
[quote]<script language="JavaScript" type="text/javascript">
var dtd = new Array ();
dtd[0]= new Array ('Имя','%name%');
dtd[1]= new Array ('День рожд.','%birthday%');
dtd[2]= new Array ('Пол','%mw%');
dtd[3]= new Array ('Страна','%land%');
dtd[4]= new Array ('Город','%stadt%');
dtd[5]= new Array ('Сайт','%home%');
dtd[6]= new Array ('Email','%email%');
dtd[7]= new Array ('ICQ','%icq%');
dtd[8]= new Array ('О себе','%about%');
dtd[9]= new Array ('Фотография','%foto%');

var trl = document.getElementsByTagName("tr");
for (var i=0; i< trl.length; i++){for (var k=0; k<dtd.length; k++)
{if (trl[i].innerHTML.split(dtd[k][0]).length > 1 && (dtd[k][1]==""||dtd[k][1]=="-"||dtd[k][1]==" "||dtd[k][1]=="0.0 (-)"||dtd[k][1]=="0.0. (-)")) {trl[i].style.display="none"}}}

</script>[/quote]
[color=black][b]Инструкция по использованию: [/b][/color]
Пример дан для стандартной анкеты Смотрите как у вас прописано название ячейки которую хотите контролировать и внесите изменения, например если вместо Имя Вы написали 'Настоящее имя то dtd[0] будет dtd[0]= new Array ('Настоящее имя','%name%'); Если что то Вам нужно добавить ещё точно также добавьте dtd[10] и тд.
Кавычки одинарные для dtd !!!
458
ridz
[color=black][b]Графический ник в анкете[/b][/color]
Предварительно нужно заполнить массив со строками графников в файл gn.js
Затем находим в анкете %nick% например тут <b>Анкета "<font color=%nickcolor%>[color=red]%nick%[/color]</font>"</b>
и красное заменяем на скрипт
[quote]<script>
var gna = new Array;
document.write('<scr'+'ipt src=gn.js?'+Math.random()+'></scr'+'ipt>');
var set_out='%nick%';
if(gna['%nick%']!=null && gna['%nick%'] ) {
if(gna['%nick%'].match(/^[0-9a-z.:\/_-]+\.(swf)$/i)) set_out='<embed src='+gna['%nick%']+'>';
else set_out='<img src='+gna['%nick%']+' border=0>'; }
document.write(set_out);
</script>[/quote]
[color=black][b]Иструкция:[/b][/color] Прописать и все gna['nick']='image.gif'; для нужных ников в файле gn.js
.
У кого есть граф. ник будет напечатан граф иначе просто ник текстом.
458
ridz
[color=black][b]Градиент ник[/b][/color] Можно поставить иной градиент для ника, отличяющийся от градиента текста, работает только если включен в градиенте на текст параметр var use_gr=[color=red]1[/color]; и прописаны единички в var grok на те команды где вы хотите видеть градиент.
В скрипты чата в раздел /* [НАСТРОЙКИ] */ добавить следующее и прописать градиенты для ников
[quote]/* Градиент ника (добавка) */
var gran = new Array;
gran['adm']=new Array("#FF0000","#00FF00","#0000FF");[/quote]
Затем в раздел /* [Функции - общие] */ добавить
[quote]/* Функция добавления град. ника */
function setgrn(cmd,nick,text){
if(use_gr!=1) return text;
var set_out=text;
if(gran[nick]!=null && gran[nick] && grok[cmd]==1) set_out=gr(text,gran[nick]);
return set_out;
}[/quote]
После этого в /* [Функции - формирования никлиста] */ в части /* Добавление ника в таблицу участников */ найдите строку
set_nick=setgn(11,nick);
и замените на
[quote]set_nick=setgrn(11,nick,nick);// градиент для ника
if (set_nick==nick) {set_nick=setgn(11,nick)};// граф для ника если нет градиента[/quote]
для тех кто ставил неон замена будет такой
[quote]set_nick=setgrn(11,nick,nick);// градиент для ника
if (set_nick==nick) {set_nick=setgn(11,nick)};// граф для ника если нет градиента
set_nick=setneon(11,nick,set_nick,0);// неон для ника[/quote]
После этого в разделе /* [Функция - вывода сообщений и команд] */ в части /* Добавление граф ников, градиента и формат времени */ найдите строки две строки
set_nick=setgn(cmd,nick);
set_text=setgr(cmd,nick,text);
и замените на
[quote]set_nick=setgrn(cmd,nick,nick);// градиент для ника
if (set_nick==nick){set_nick=setgn(cmd,nick)};// граф для ника если нет градиента для ника
set_text=setgr(cmd,nick,text);// градиент для текста[/quote]
кто ставил неон меняем на
[quote]set_nick=setgrn(cmd,nick,nick);// градиент для ника
if (set_nick==nick){set_nick=setgn(cmd,nick)};// граф для ника если нет градиента для ника
set_nick=setneon(cmd,nick,set_nick,0);// неон для ника
set_text=setgr(cmd,nick,text);// градиент для текста
set_text=setneon(cmd,nick,set_text,2); // неон для текста[/quote]
458
ridz
[color=black][b]Скрытие ника или ников нивидимок [/b][/color] на титульнике чата в блоке "Кто в чате"
стандарт
[quote]<tr><td class=title>В чате: <script>document.write(i_inchat);</script></td></tr>
<tr><td>
<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];
document.write("<a href=?inc=info&nick="+i_nick+" target=_blank><font color="+i_color+">"+i_nick+"</font></a><br>");
}
if(i_inchat==0) document.write("никого нет<br>");
</script>
<br>
</td></tr>[/quote]
замените на
[quote]<tr><td>
<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];
if (i_inusers[i][0]=="[color=red]НИК_НЕВИДИМКИ[/color]"||i_inusers[i][0]=="[color=red]ЕЩЁ_НИК_НЕВИДИМКИ[/color]") {i_inchat--}
else {document.write("<a href=?inc=info&nick="+i_nick+" target=_blank><font color=#"+i_color+">"+i_nick+"</font></a><br>");}}
if(i_inchat==0) i_inchat="<br>Никого нет";
document.write("Сейчас в чате: "+i_inchat);
</script>
<br>
</td></tr>[/quote]
[color=black][b]Инструкция:[/b] [/color] впишите ники в места обозначенные красным , ник невидимки не выводиться и не подсчитывается в общем списке.

[b][color=black]Для скрипта с разделением по полу [/color][/b] добавить [color=red]красное[/color]
[quote]<script>
uw="";um="";un="";uwc=0;umc=0;unc=0;
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]; i_room= i_inusers[i][4];
[color=red]if (i_nick=="НИК_НЕВИДИМКИ"||i_nick=="ЕЩЁ_НИК_НЕВИДИМКИ") continue;[/color]
if(i_mw=='1') {uw+="<tr><td><a href=?inc=info&nick="+i_nick+" target=_blank><font color="+i_color+">"+i_nick+"</font></a>";uwc++;}
else if(i_mw=='0') {um+="<tr><td><a href=?inc=info&nick="+i_nick+" target=_blank><font color="+i_color+">"+i_nick+"</font></a>";umc++;}
else {un+="<tr><td><a href=?inc=info&nick="+i_nick+" target=_blank><font color="+i_color+">"+i_nick+"</font></a>";unc++;}
}
if(!uw) uw="<tr><td>нет таких</td></tr>";
if(!um) um="<tr><td>нет таких</td></tr>";
if(!un) un="<tr><td>нет таких</td></tr>";
html="<table> <tr><td align=center><b>Девушки "+uwc+"</b></td></tr> "+uw+"<tr><td align=center><b>Парни "+umc+"</b></td></tr>"+um+"<tr><td align=center><b>Неизвестно "+unc+"</b></td></tr>"+un+"</table>";
document.write(html);
</script>[/quote]
1 2 3 4 ... 7


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

© 2008-2020
Контакты | Группа | Privacy и Cookie | Правила