Вы не зашли.

#1 

ridz
Moderator
Зарегистрирован: 2008-11-25
Сообщений: 458
На форуме: 302 час.
Репутация: 508 (100%) ±
Инфо  Вебсайт  Написать

В разработке ...


нет интернета = заказы не беру

Неактивен

#2 

ridz
Moderator
Зарегистрирован: 2008-11-25
Сообщений: 458
На форуме: 302 час.
Репутация: 508 (100%) ±
Инфо  Вебсайт  Написать

Просмотр веб-камеры с подтверждением по теме Вебкамеры в чат (только для платников с внесенным взносом)
Для статуса 98 синее
/* Включаем вебкамеры, прописываем статус 99 и загружаем модуль */
var webcam=1;
stn2[99] ="<img src=http://mpchat.com/blank/img/status/webcam.gif title='нажмите для просмотра вещания' style='border:0;'>";
icqtxt[99]='меняю статус на -> вещаю <img src=http://mpchat.com/blank/img/status/webcam.gif>';
stn2[98] ="<img src=http://mpchat.com/blank/img/status/webcam.gif title='нажмите для просмотра вещания' style='border:0;'>";
icqtxt[98]='меняю статус на -> вещаю для всех<img src=http://mpchat.com/blank/img/status/webcam.gif>';


document.write("<"+"script src=http://mpchat.com/blank/webcam.js></"+"script>");




В селектор статусов

<script>if(webcam) document.write("<option value=98>вещаю для всех");</script>

Админка -=Модерация=- Скрипты в чате - /* [Функции - формирования никлиста] */ /* Добавление ника в таблицу участников */

if(webcam) {
    if(stat2==99||stat2==98) {

if( admin=='1'||stat2==98) icqst="<a href=# onclick='loadvideo(\"webcam"+nick+"\",\""+webcamhost+"\",\""+nick+"\",0);return false;'>"+icqst+"</a>";

   else
  icqst="<a href=# onclick='parent.hidden.location.href = \"index.php?inc=write&"+ parent.yourkey+"&text=/privat "+ nick +" webcam_access\";return false;'>"+icqst+"</a>";
        if(nick==mynick && loaded) loadvideo("mywebcam",webcamhost,nick,1);
    }
    else if(nick==mynick && loaded) loadvideo("mywebcam","");
}

Добавлено зелёным  просмотр вещания без подтверждения для админов -- ставить по желанию
Р.S. Нарушением тайны связи признаётся ознакомление с  сообщением какого-либо лица кроме отправителя и получателя )))
Синим добавлено вещаю без подтверждения

Далее /* [Функция - вывода сообщений и команд] */


if(tonick==mynick) {
text = text.replace("webcam_ok","<a href=# onclick='parent.loadvideo(\"webcam"+nick+"\",\""+webcamhost+"\",\""+nick+"\",0);return false;'>Нажмите для просмотра</a>");
text = text.replace("webcam_access","Разрешить просмотр <a href=# onclick='parent.hidden.location.href = \"index.php?inc=write&"+ parent.yourkey+"&text=/privat "+ nick +" webcam_ok\";return false;'>да</a>/<a href=# onclick='parent.hidden.location.href = \"index.php?inc=write&"+ parent.yourkey+"&text=/privat "+ nick +" webcam_no\";return false;'>нет</a>?")}
else {text = text.replace("webcam_access","Разрешите просмотр?");
text = text.replace("webcam_ok","Просмотр разрешаю");
};
text = text.replace("webcam_no","Просмотр отклонён");



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

Поставить/заменить отмеченное красным!

Отредактированно ridz (2011-05-29 18:54:40)


нет интернета = заказы не беру

Неактивен

#3 

ridz
Moderator
Зарегистрирован: 2008-11-25
Сообщений: 458
На форуме: 302 час.
Репутация: 508 (100%) ±
Инфо  Вебсайт  Написать

Автоматическое Создание/Скрытие приватного фрейма
Админка -=Шаблоны=- Чат внутри
Заменить

<script><!--
/* Показываем фрейм привата если включен */
if(privatok==1) {
    var obj1=document.getElementById("leftdiv");
    var obj2=document.getElementById("privatdiv");
    obj1.style.bottom=(parseInt(obj1.style.bottom)+parseInt(obj2.style.height))+5+"px";
    obj2.style.display="block";
}
// --></script>

на

<script><!--
/* Показываем фрейм привата если включен */
var leftdiv_bottom;
function do_privat() {
    var obj1 = document.getElementById("leftdiv");
    var obj2 = document.getElementById("privatdiv");
    if (!leftdiv_bottom) leftdiv_bottom = parseInt(obj1.style.bottom);
    if (privatok == 1) {
        obj1.style.bottom = (parseInt(obj1.style.bottom) + parseInt(obj2.style.height)) + 5 + "px";
        obj2.style.display = "block";
    } else {
        obj1.style.bottom = leftdiv_bottom + "px";
        obj2.style.display = "none";
    }
}
do_privat()
// --></script>

Кнопка в любое место

<input type="button" class="ok"  name="" value="privat"  onclick="parent.privatok^=1;parent.do_privat();parent.loadframes();"/>

или ссылка

<a href=# onclick="parent.privatok^=1;parent.do_privat();parent.loadframes();return false;"  title='Создание/Скрытие приватного фрейма'>Приват</a>


нет интернета = заказы не беру

Неактивен

#4 

ridz
Moderator
Зарегистрирован: 2008-11-25
Сообщений: 458
На форуме: 302 час.
Репутация: 508 (100%) ±
Инфо  Вебсайт  Написать

Запрет на вещание для незарегистрированных или по статусу
заменить/дополнить скрипт в селекторе выбора статуса
запрет  на   статусы прописать через &&  и !=

<script>if(webcam&&mystatus !=   '0' &&mystatus !=   '1'  ) document.write("<option value=99>вещаю");</script>

или запрет  для незарегистрированных

<script>if(webcam&&regist==   '1' ) document.write("<option value=99>вещаю");</script>

тоже самое и для фреймовой системы но дополняя parent  -- parent.webcam  parent.regist parent.mystatus


нет интернета = заказы не беру

Неактивен

#5 

ridz
Moderator
Зарегистрирован: 2008-11-25
Сообщений: 458
На форуме: 302 час.
Репутация: 508 (100%) ±
Инфо  Вебсайт  Написать

Использование одного field для установки и запоминания состояний множеста чекбоксов и радиобутонов (идея BETEPAH)
Для всех версий чата.
Добавить в таблицу шаблона настроек код

<tr id="stat"><td colspan="2">
<input name="field15" type="hidden"  value="%field15%"/>
<input type="radio" name="name_r" value="0" />1 год<br />
<input type="radio" name="name_r" value="1"  />2 года<br />
<input type="radio" name="name_r" value="2" />3 года<br />
<input type="checkbox" name="" />Русский<br />
<input type="checkbox" name="" />Украинский<br />
<input type="checkbox" name="" />Немецкий<br />
<input type="radio" name="name_r1" value="0" />да<br />
<input type="radio" name="name_r1" value="1"  />нет<br />
<input type="radio" name="name_r1" value="2" />незнаю<br />

</td></tr>

<script type="text/javascript">
var stat = document.getElementById('stat'),
input = stat.getElementsByTagName('input'),
check = input[0].value;
for (var i = 0; i < check.length; i++) {
    input[i + 1].checked = (check.charAt(i) == '1') ? !0 : !1;
}
stat.onclick = function () {
    check = "";
    for (var i = 1; i < input.length; i++) {
        check += input[i].checked ? '1' : '0'
    }
    input[0].value = check
}
</script>

Тоже самое добавить в шаблон анкеты в таблицу в удобное для вас  место, красное желательно убрать .
Номер фиелда можно менять если 15 уже занят.
В радиобутонах незабывайте указывать разные имена для соотвествующей группы, но одинаковые внутри группы.
Пример возможного оформления
http://imgs.su/users/49702/1306913392.jpg


нет интернета = заказы не беру

Неактивен

#6 

ridz
Moderator
Зарегистрирован: 2008-11-25
Сообщений: 458
На форуме: 302 час.
Репутация: 508 (100%) ±
Инфо  Вебсайт  Написать

Запрет вещания во всех комнатах кроме одной, двух и тд

Админка -=Модерация=- Скрипты в чате - /* [Функции - нижнего фрейма] */ добавить красное

/* Функция ручного изменения статуса */
function setstatus(status) {
if (myroom!=0&&(status==99||status==98)) status = 0;// добавлено запрет вещания кроме комнаты 0
laststatus=status;
parent.hidden.location.href='index.php?inc=write&'+parent.yourkey+'&text=/status '+status+'&r='+Math.random();
document.getElementsByName("setstatus")[0].value=status;
document.fmsg.text0.focus();
}

/* Функция ручного изменения комнаты */
function setmyroom(room) {
if(myroom==room) return false;
if(!parent.rooms[room][3]) {alert('У Вас нет доступа в эту комнату!'); return false;}
setstatus(0);// добавлено сброс статуса при переходе по комнатам
parent.hidden.location.href='index.php?inc=write&'+parent.yourkey+'&text=/room '+room+'&r='+Math.random();
gettime=new Date().getTime();
document.fmsg.text0.focus();
}

Пример строки для  запрета вещания кроме комнаты 0 и комнаты 3

if (myroom!=0&&myroom!=3&&(status==99||status==98)) status = 0;// добавлено запрет вещания кроме комнаты 0 комнаты 3

Точно также можно добавить эти строки для фреймовой системы.


нет интернета = заказы не беру

Неактивен

#7 

Foggy
памагу за 50€, помогу за 5
Имя: Андрей
Откуда: Петербург
Зарегистрирован: 2008-04-21
Сообщений: 2970
На форуме: 446 час.
Репутация: 296 (97%) ±
Инфо  Вебсайт  Написать

Продолжим тему...

Только сам невидимка видит свой ник в никлисте, больше никто.
Для всех версий чатов.
Будет не только виден ник, будут видны все действия, разумеется, только самому инвизеру.

находишь в скриптах /* скрыть ник невидимки */, там заменяешь строку

на следующую

Далее добавляем иконку себе, чтоб знать, что инвиз работает. ПОСЛЕ

добавляем

Вставить, разумеется, можно любую другую картинку. Можно сделать иной класс для всей строки (это уже иначе реализуется) или как угодно иначе выделить свой ник.

Админ видит всех невидимок не заходя в любую из админок
по сути это может быть кто угодно кроме админа.

заменяете Foggy на свой ник. Если надо, чтоб модеры видели инвизеров, заменяем mynick!='Foggy' на admin==0


Форум чище без подписей в настройках. Рекомендую.
Я искал, но не нашёл.
Помощь — платная. Избранным помогаю за идею. Избранный тот, кто придумал идею, а не скопипастил.

Неактивен

#8 

Pegass
Moderator
Откуда: СПб
Зарегистрирован: 2011-03-07
Сообщений: 2605
На форуме: 521 час.
Репутация: 366 (100%) ±
Инфо  Вебсайт  Написать

Звук на сообщения

-=Чат внутри=-
сразу после <body>
добавляем

и в нужное место  добавить чекбокс
Если по умолчанию звук включен то такой

если выключен такой

с запоминанием через куки - такой

-=Скрипты в чате=-

/* [Функции - общие] */

 
ищем

меняем на

 
ищем

меняем на

 
ищем

меняем на

 
ищем

меняем на

 
ищем

меняем на

 
ищем

меняем на

 
ищем

меняем на

 
ищем

меняем на

 
ищем

меняем на

 
ищем

меняем на

 
ищем

меняем на

 
ищем

меняем на

 
ищем

меняем на


- Здравствуйте, у меня тут это самое, ну то самое..
- Здравствуйте, с "этим самым" обратитесь к венерологу, а у нас техподдержка!
"слава богу пегас пишет скрипты а не поет" (с) Ventage aka New1

Неактивен

#9 

Pegass
Moderator
Откуда: СПб
Зарегистрирован: 2011-03-07
Сообщений: 2605
На форуме: 521 час.
Репутация: 366 (100%) ±
Инфо  Вебсайт  Написать

Автоматическое уменьшение размера загружаемых изображений в чат через кнопку обзор (если размер превышает заданный вами)
не актуально для современных браузеров
1часть В скрипты чата
в /* [Функции - общие] */
добавить

/* Функция изменения загружаемой картинки */
var id_img = 0;
function imgminimum(obj){
var imgmax = 300; // максимальный размер картинки
var h = obj.height;
var w = obj.width;
if (h>imgmax||w>imgmax){if (h>w) {obj.height=imgmax}else {obj.width=imgmax}}; 
if (!obj.id){var scr=document.getElementById("leftdiv");
scr.scrollTop=scr.scrollHeight;
obj.id=id_img++;}
}

Красным добавлен скролинг(прокрутка лога сообщений вниз) после загрузки картинки

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

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

добавить строку

text=text.replace("<img src=tmp","<img onload=imgminimum(this) src=tmp");

Картинка будет в логе пропорциональна и размер по ширине и высоте не превысит указанный вами.

или добавить так

text=text.replace(/.br..img.src.(tmp.(.+\.(gif|jpg|jpeg|bmp|png|tif|tiff))).border.0..br./igm, "<img onload=imgminimum(this) src=$1 border=0>");

тогда картинка будет в одной строке с ником.



ЗЫ ответы на вопросы
1- max-hight, max-width не особо кросбраузерно)))
2 - использование up - надо подумать, это ж древний скрипт


- Здравствуйте, у меня тут это самое, ну то самое..
- Здравствуйте, с "этим самым" обратитесь к венерологу, а у нас техподдержка!
"слава богу пегас пишет скрипты а не поет" (с) Ventage aka New1

Неактивен

#10 

Pegass
Moderator
Откуда: СПб
Зарегистрирован: 2011-03-07
Сообщений: 2605
На форуме: 521 час.
Репутация: 366 (100%) ±
Инфо  Вебсайт  Написать

Универсальный тег [media] для загрузки картинок музыки и видео с различных сервисов (от ВЕТЕРАН оригинальный пост)
Внимание, данный скрипт может быть использован против вас
В Администрация - Скрипты в чате.
/* [НАСТРОЙКИ] */

/* [Функции - общие] */ - если не ставили предыдущее решение

/* [Функция - вывода сообщений и команд] */
после
var pu = new Array;
var pt = new Array;
function f(room,cmd,nick,tonick,text,time,colornick,color,var9,var10,var11,var12,var13,var14,userid) {
    if(ign_ok(nick) && cmd!=6 && cmd!=7) return;
    if(nick==nick_r && room!=room_r) return;

Окно видео-вывода ставится обычно под ник-листом <div id=users></div>сюда

<div id="mediains"></div>

Кнопку тега удобнее всего ставить рядом со строкой сообщения  (спасибо, ridz):

<script>
function htags(t1,t2){
    var mess=document.fmsg.text0.value;
    if(mess.search("http")!=-1){mess = mess.replace(/(http\S+)/mig, " "+t1+"$1"+t2+" ")} else {mess+=" "+t1+t2+" "};
    document.fmsg.text0.value=mess;
    document.fmsg.text0.focus();
}
</script>

Оформление - зависит от вашей фантазии, основное - это код онклик. У меня так

<div class="abcabc_in" style="cursor:pointer" onclick="htags('[media]','[/media]')" title="Показать в чате картинку, видео или музыку"></div>


- Здравствуйте, у меня тут это самое, ну то самое..
- Здравствуйте, с "этим самым" обратитесь к венерологу, а у нас техподдержка!
"слава богу пегас пишет скрипты а не поет" (с) Ventage aka New1

Неактивен

#11 

Pegass
Moderator
Откуда: СПб
Зарегистрирован: 2011-03-07
Сообщений: 2605
На форуме: 521 час.
Репутация: 366 (100%) ±
Инфо  Вебсайт  Написать

как сделать подсчет сообщений написанных в чате с выводом картинкой на титульнике

В папке 'http://radiofull.ru/Style_god/img/numb лежат картинки 1.png 2.png .... 0.png


- Здравствуйте, у меня тут это самое, ну то самое..
- Здравствуйте, с "этим самым" обратитесь к венерологу, а у нас техподдержка!
"слава богу пегас пишет скрипты а не поет" (с) Ventage aka New1

Неактивен

#12 

Pegass
Moderator
Откуда: СПб
Зарегистрирован: 2011-03-07
Сообщений: 2605
На форуме: 521 час.
Репутация: 366 (100%) ±
Инфо  Вебсайт  Написать

спойлер для форума

в head

в соответствующие места кода


- Здравствуйте, у меня тут это самое, ну то самое..
- Здравствуйте, с "этим самым" обратитесь к венерологу, а у нас техподдержка!
"слава богу пегас пишет скрипты а не поет" (с) Ventage aka New1

Неактивен

#13 

Pegass
Moderator
Откуда: СПб
Зарегистрирован: 2011-03-07
Сообщений: 2605
На форуме: 521 час.
Репутация: 366 (100%) ±
Инфо  Вебсайт  Написать

Функция вызова в чат админов и модеров


Скрипты в чате

/* [НАСТРОЙКИ] */
var alert_mod_replay=0;

/* Проверка пользовательских команд для простого сообщения */
if(cmd==0) {

if(text.substr(0,5)=="/ping" && nick == mynick && loaded==1) {
var ping=(new Date().getTime()-gettime)/1000; text="<font color=red><i>ping: "+ping+" sec</i></font> "; }

if(text.substr(0,6)=="/clear" && clearer[nick]) {
if(loaded==1) document.getElementById("leftdiv").innerHTML="";text="очищаю фрейм сообщений";}

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

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

if(text.substr(0,7)=="/ignore" && ignorer[nick]){
if(tonick && mynick!=tonick && loaded==1) ign_sel(tonick); if(nick!=mynick || !tonick) return;
if(ign_ok(tonick)) text="Вы поставили полный игнор на ник "+tonick; else text="Вы сняли полный игнор с ника "+tonick;
}

if(text.replace(tonick+": ","").substr(0,9)=="/modalert"){
    text="Вызываю модераторов"
    tonick='';
    if(admin==1&& loaded==1 && alert_mod_replay==0) //вместо admin==1 можно указать любой статус или несколько статусов mystatus=='3'
        {           
            alert_mod_replay=1;
            window.setTimeout('alert(nick+" вызвал(а) в чат модераторов");',1000);
            alert_mod_replay=0;
        }   
}


}

Чат внутри

<script>
document.write("<input type=hidden name=nick value="+parent.mynick+">");
document.write("<input type=hidden name=id value="+parent.myid+">");
document.write("<select name=cmd class=text>");
document.write("<option value=''>-=в общем=-");
document.write("<option value='/privat '>приватно");
document.write("<option value='/privat2 '>приват окно");
document.write("<option value='/modalert '>Вызвать модератора");
if(parent.alerter[parent.mynick]) document.write("<option value='/alert '>алерт-вызов");
if(parent.clearer[parent.mynick]) document.write("<option value='/clear '>очистить");
if(parent.reloader[parent.mynick]) document.write("<option value='/reload '>перезагрузить");
if(parent.ignorer[parent.mynick]) document.write("<option value='/ignore '>полный игнор");
if(parent.admin==1) {
document.write("<option value=''>-=модерация=-");
document.write("<option value='/kick '>кикнуть");
document.write("<option value='/warn '>предупредить");
}
document.write("</select>");
</script>


- Здравствуйте, у меня тут это самое, ну то самое..
- Здравствуйте, с "этим самым" обратитесь к венерологу, а у нас техподдержка!
"слава богу пегас пишет скрипты а не поет" (с) Ventage aka New1

Неактивен

#14 

Pegass
Moderator
Откуда: СПб
Зарегистрирован: 2011-03-07
Сообщений: 2605
На форуме: 521 час.
Репутация: 366 (100%) ±
Инфо  Вебсайт  Написать

Викторина в строго отведённой комнате

-=Скрипты в чате=-


/* [Функции - нижнего фрейма] */

добавляем (зелёным - номера комнат с викториной)

/* комнаты с викториной */
var gameroom= new Array();//для бесполых
gameroom[1]=true;
gameroom[5]=true;
gameroom[10]=true;

/* [Функции - нижнего фрейма] */

ищем

/* Загружает викторину в верхушку чата */
var gameon=0;
function startgame(){
    if(gameon==0){
    gameframe.location.href='http://'+engine_host+':'+engine_port+'/?chat='+chatlogin;
    gameon=1; document.getElementById('gamediv').style.display="block";
  }
    else {
    gameframe.location.href='start.html';
    gameon=0; document.getElementById('gamediv').style.display="none";
    }
}

меняем на

/* Загружает викторину в верхушку чата */
function startgame(dd){
if(dd==1 && gameroom[myroom]){
    gameframe.location.href='http://'+engine_host+':'+engine_port+'/?chat='+chatlogin; document.getElementById('gamediv').style.display="block";
    }
else {
    gameframe.location.href='start.html'; document.getElementById('gamediv').style.display="none";
    }
}

/* [Подготовка фреймов и загрузка сообщений] */

добавляем синее

function loadframes() {
    /* Последняя стадия загрузки */
    if(interval) window.clearTimeout(interval);
    /* Подготовка фрейма привата */
    if(parent.privatok==1) {document.getElementById("privatdiv").innerHTML='';}
    /* Обнуление переменных */
    loaded=0;
    scrolled=0;
   /* myhistory=myhistory1;*/
    for(var i=0;i<rooms.length;i++) rooms[i][1]=0;
    /* Подготовка таблицы никлиста */
    uc = 0;
    us = new Array();
    ucc= new Array();
    document.getElementById('users').innerHTML=userlist;
    /* Проверка непрерывного соединения */
    interval=window.setTimeout(
    'if(engine_on!="ajax" && !ajaxon) {wr("<font color=red>Проблема подключения к потоковому движку на порту "+engine_port+". Пробуем подключиться через <b>ajax</b> движок ...</font>"); window.setTimeout("engine_on=\\"ajax\\"; loadframes();",10000);} ' +
    'else wr("<font color=red>Не удалось подключиться к движку чата, вероятно Ваш браузер просто не поддерживает новые технологии.<br>Попробуйте использовать новый современный браузер <a href=http://google.com/chrome target=_blank>Google Chrome</a>.</font>");'
    ,1000*20); /* Время для проверки потокового движка 10 сек */
    /* Загрузка движка сообщений */
    document.getElementById("leftdiv").innerHTML='Загрузка ...';
/* Загрузка викторины */
    if(gameroom[myroom]) startgame(1); else startgame(0);

    loadengine();
}


- Здравствуйте, у меня тут это самое, ну то самое..
- Здравствуйте, с "этим самым" обратитесь к венерологу, а у нас техподдержка!
"слава богу пегас пишет скрипты а не поет" (с) Ventage aka New1

Неактивен

#15 

Pegass
Moderator
Откуда: СПб
Зарегистрирован: 2011-03-07
Сообщений: 2605
На форуме: 521 час.
Репутация: 366 (100%) ±
Инфо  Вебсайт  Написать

Ограничение на повторный вызов одного и того же человека

Особенности реализации: инфа о всех вызовах запишется в лог, зато её нельзя обойти и заперт работает для всех, т.е. если Петя вызвал Васю то в течении N минуть Васю не смогут вызвать ни Петя, ни Коля, хотя попытки вызовов будут отображаться в логе чата(который админский)

-=Скрипты в чате=-

/* [Функции - общие] */

Добавляем

/* Вывод сообщения о вызове и сам вызов окном с музыкой '/call nick' */
Заменяем весь раздел

-=Стили=-
добавляем (требуют наведения красоты, ибо реализованы в минимальном варианте, для управления шириной и высотой всплывающего окна используйте параметры функции ChatAlert())


- Здравствуйте, у меня тут это самое, ну то самое..
- Здравствуйте, с "этим самым" обратитесь к венерологу, а у нас техподдержка!
"слава богу пегас пишет скрипты а не поет" (с) Ventage aka New1

Неактивен

[ Generated in 0.008 seconds, 8 queries]