Новости | Проект | Музыка | Стихи | Коллекции | Другие проекты | Форум | Контакты

 Карта сайта

Правила | Вход | Новые темы | Аватары | Скрипты

Проводник

Новости

Проект

Музыка

Стихи

Коллекции

Другие проекты

Форум

  Правила

  Вход

  Новые темы

  Аватары

  Скрипты

Контакты

Если Вы хотите видеть эти приколы у себя на сайте, обращайтесь...


А ведь здесь мог бы сиять, мигать, моргать и просто выделываться ВАШ баннер

Скрипты для форумов FastBB

Все скрипты работают на основе инструкции innerHTML. Вам лучше сначала ознакомиться с её принципом работы. Если при установке скриптов у вас возникнут какие-то проблемы, я помогу устранить их абсолютно бесплатно, но за одну небольшую услугу.

Замена стандартных рангов

Внимаение! Некоторые указанные ниже программные инструкции нужно поместить внутрь следующей конструкции:

e=document.getElementsByTagName("DIV");
for(i=0;i<e.length;i++)
  {
    s=e[i].innerHTML;
    ...
  }

Уникальные ранги

Пожалуй, самый популярный скрипт. В самой простой форме он выглядит так:
(курсивом выделено то, что можно менять вполне свободно; остальное лучше не трогать)


var nick = new Array ('Ник 1','Ник 2','Ник 3');
var rank = new Array ('Ранг 1','Ранг 2','Ранг 1');
for (k = 0; k < nick.length; k++)
  {
    if (s == "<B>" + nick[k] + "</B>")
      {
        e[i+1].innerHTML = rank[k]
      }
  }


Принцип действия: Сначала перечисляется список ников (имён) пользователей, котрым нужно присвоить нестандартный или уникальный ранг. Затем в соответствующем порядке перечисляются названия этих рангов. Сначала ранг для первого, пользователя, затем - ранг для второго... и так далее. Один и тот же ранг можно использовать для нескольких пользователей. На примере это показано. Затем выполняется поиск ников, ранее перечисленных в списке, и в случае обнаружения происходит замена ранга.

Группы пользователей

Скрипт менее популярен, но также многим интересен. Работает на том же движке, что и Уникальные ранги. Разница только в том, что отсутствуют уникальные ранги и вместо них используются группы


var nick = new Array ('Ник 1','Ник 2','Ник 3');
var group = new Array ('Группа 1','Группа 1','Группа 2');
for (k = 0; k < nick.length; k++)
  {
    if (s == "<B>" + nick[k] + "</B>")
      {
        e[i+1].innerHTML = "Группа: " + group[k]
      }
  }


Принцип действия: Абсолютно такой же, что и в Уникальных рангах. Изменено только название массива: вместо rank используется group. Это только для наглядности. Работало бы и со старым названием. Ещё одно отличие состоит в том, что стандартный ранг заменяется не просто на название группы, а на слагаемое из слова "Группа" и из названия группы.

Группы и стандартные ранги

Скрипт новый, но думаю, что многим будет интересен, так как он устраняет один недостаток скрипта Группы пользователей - присутствие групп пользователей при отсутствии рангов или званий


var group1 = new Array ('Ник 1','Ник 2','Ник 3');
var rank = new Array;
for (k = 0; k < group1.length; k++)
  {
    if (s == "<B>" + group1[k] + "</B>")
      {
        rank[i] = e[i+1].innerHTML
        e[i+1].innerHTML = "Группа: Название группы 1<br>Ранг: " + rank[k]
      }
  }


Принцип действия: Здесь всё несколько сложнее. Во-первых лучше написать отдельные скрипты для каждой группы. В данном случае как раз так и сделано. Сначала перечисляется список ников участников, входящих в Группу1. Так как у всех этих участников группа будет одна и та же, создавать список названий групп не имеет смысла, но придётся создать список (массив), в который будут временно записывать названия стандартных рангов. Далее также идёт поиск ников из списка, и в случае обнаружения сначала запоминается ранг пользователя, а затем происходит его замена на конструкцию "группа + ранг". В данном примере группа выводится на экране в первой строке, а ранг - во второй. При желании это можно изменить.

Модифицированные стандартные ранги

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


var starshie = new Array ('Ник 1','Ник 2','Ник 3');
var rank = new Array;
for (k = 0; k < group1.length; k++)
  {
    if (s == "<B>" + group1[k] + "</B>")
      {
        rank[i] = e[i+1].innerHTML
        e[i+1].innerHTML = "Старшый " + rank[k]
      }
  }


Принцип действия: Как это работает, уже написано выше, но поясню: перед званием будет просто написано "Старший". То же можно сделать и с "младшими"

Группы, кланы, звания, стандартные ранги и другие приписки

Используя принцип действия скрипта Группы и стандартные ранги, можно кроме группы приписать, всё что угодно. Ведь встречаются сайты, например, посвящённые каким-то играм, где у каждого пользователя есть набор каких-то характеристик


if (s == "<B>" + Ник + "</B>")
  {
    var rank = e[i+1].innerHTML
    e[i+1].innerHTML = "Группа: Название группы 1<br>Клан: Название клана<br>Отряд: Название отряда<br>Ранг: " + rank + "<br>Звание: Название звания<br>Статус: Название статуса<br>Особые заслуги: Список заслуг<br>Предупреждения: Количество предупреждений"
  }


Принцип действия: Из-за большого количества различных приписок и особенно из-за их возможного разнообразия подобные скрипты лучше писать для каждого пользователя отдельно. Поэтому здесь отсутствуют какие-либо массивы. Остались только поиск, временное сохранение ранга и присвоение рангу конструкции "приписки до ранга + ранг + приписки после ранга". Под приписками подразумеваются названия групп, кланов и т. п.

Группы, кланы, звания, уникальные ранги и другие приписки

Если вам понравился скрипт Группы, кланы, звания, стандартные ранги и другие приписки, то вполне возможно, что вы заинтересуетесь его вариантом, в котором можно использовать уникальные ранги или не использовать ранги вобще. Тем более, что написать это проще:


if (s == "<B>" + Ник + "</B>")
  e[i+1].innerHTML = "Группа: Название группы 1<br>Клан: Название клана<br>Отряд: Название отряда<br>Ранг: Название ранга<br>Звание: Название звания<br>Статус: Название статуса<br>Особые заслуги: Список заслуг<br>Предупреждения: Количество предупреждений"


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

Все приписки в одном списке

У скрипта Группы, кланы, звания, уникальные ранги и другие приписки есть один существенный недостаток. Для каждого пользователя надо писать отдельный скрипт. Это не только долго пишется, но и дольше выполняется. Форум будет тормозить. Однако, если всех пользователей добавить в один массив, то вы сможете запутаться во всех их кланах и заслугах. Хотя, если принять за основное условие то, что приписок будет немного, но у всех они - разные, то получим очень удобный скрипт (кстати это скрипт был написан раньше других; остальные - производные от него):


var nick = new Array ('Ник 1','Ник 2','Ник 3');
var rank = new Array ('Группа 1, Клан1, Особые заслуги','Уникальный ранг1, Список наказаний','Группа 1, Клан 2, Уникальный ранг2');
for (k = 0; k < nick.length; k++)
  {
    if (s == "<B>" + nick[k] + "</B>")
      {
        e[i+1].innerHTML = rank[k]
      }
  }


Принцип действия: Думаю, в пояснениях не нуждается. Скажу только, что здесь при желании у кого-то из пользователей опустить ненужные характеристики, а кому-то добавить нечто уникальное. Главное не громоздить то, в чём потом будет сложно разобраться.

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

Замена ников создателей тем

Этот скрипт позволяет как-то оформить или заменить на любой гипертекст имена создателей тем (только на страницах списков тем):


e=document.getElementsByTagName("TD");
for(i=0;i<e.length;i++)
  {
    s=e[i].innerHTML;
    if(s=='Ник1'){e[i].innerHTML="Замена или оформление Ника1"}
    if(s=='Ник2'){e[i].innerHTML="Замена или оформление Ника2"}
    if(s=='Ник3'){e[i].innerHTML="Замена или оформление Ника3"}
  }

(c) Case


Принцип действия: Аналогичный. Поиск ника и замена его на любой текст. Если вы знакомы с HTML, то это скрипт позволит вам вдоволь поизвращаться. Можно создать аналогичный скрипт с использованием массива, но только в том случае, если замены будут однообразные. В противном случае скрипт будет трудночитаем...

Замена стандартных характеристик пользователей

Следующий код позволяет заменить названия полей "Пол", "Pанг", "Интернет", и "Город" или как-то их оформить (например заменить на графическое обозначение (с использованием картинок-иконок)):


var oldinfo=new Array('Пол: m', 'Пол: f','Pанг:', 'Интернет: modem', 'Интернет: lan', 'Интернет: offline', 'Город:');
var newinfo=new Array('Оформление мужского пола', 'Оформление женского пола', 'Оформление ранга', 'Оформление подключения по модему или DSL', 'Оформление подключения через подсеть', 'Оформление автономного подключения', 'Оформление гоорода');
if(e[i].className=="font2")
  {
    for(k=0;k<7;k++)
      {
        e[i].innerHTML=e[i].innerHTML.replace(oldinfo[k],newinfo[k])
      }
  }

(c) Case


Принцип действия: Сначала в первый массив записываем список стандартных надписей, обозначающих пол, ранг, тип подключения и город. Затем во второй массив записываем любой гипертекст, который будет заменять стандартные значения. После всего этого идёт поиск и замена.

Замена статистики

Эта фигня будет работать только в форумах с разделами, так как сама статистика отображается только там:


if(e[i].className=="font2"){e[i].innerHTML=e[i].innerHTML.replace("Стандартная надпись","Изменённая надпись")}

(c) Case


Принцип действия: Просто указываете, какую стандартную надпись вам нужно изменить и на что. Стандартные надписи в статистике такие: "Всего тем в форуме:", "Зарегистрированных участников:", "Максимальный респект:", "Особое мнение:", "Хитов сегодня:", "Последний раз Вы заходили", "Вы зашли как:", "Ваш статус:"
 

Замена дат и слова "Отправлено" над сообщениями

Все даты над сообщениями отображаются в формате ДД.ММ.ГГГГ. Если хочется, чтобы вместо номера месяца было его название, то можно использовать следующий скрипт. Дополнительная фишка этого скрипта состоит в том, что вместо слова "Отправлено" (там же - над сообщением) можно написать любой другой текст.


var mons=new Array('января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря');
if (s.indexOf ('Отправлено:') > 0)
  {
    d = s.split ('Отправлено:');
    v = d[1].split ('.'); v[1] = '.' + mons[v[1]-1] + '.';
    d[1] = v.join ('.');
    s = d[0] + 'Текст замены:' + d[1];
    e[i].innerHTML = s.replace (/[.][.]/g,' ')
  }

(с) Case


Принцип действия: Сначала создаём массив с названиями месяцев. Очень важно, чтобы месяцы были указаны в правильном порядке. Дальше происходит поиск слова "Отправлено", так как дата отправки всегда идёт после этого слова. После нахождения происходят замена слова "Отправлено" и замена номера месяца на его название.

Отключение возможности переключаться в другие стили

Сервис FastBB предоставляет возможность пользователям форумов выбирать любой из стандартных дизайнов (стилей) при просмотре любого форума. Возможность выбора оформления это, конечно, хорошо, но в этих стилях не работают все ваши скрипты и другие навороты. Данный скрипт убирает список стилей из верхней части заглавной страницы форума. Возможность переключиться в другой дизайн остаётся в форме отправки сообщения (как и от этого избавиться, смотрите ниже)


d=document; 
links=d.getElementsByTagName("A"); 
for (i=0;i<links.length;i++)
  { 
    for (j=0; j<=6; j++)
    if (links[i].href.indexOf("/?--0-" + j)!=-1)
      {
        links[i].href='';
        links[i].innerHTML='';
      }
  }


Принцип действия: Ссылка на другой дизайн выглядит, как адрес форума + "/?--0-" + номер стиля. Текст в ссылках выглядит, как номер стиля. Поэтому мы просто ищем все подобные ссылки и заменяем их на пустое место.

Скрытие строки переключения стилей

Возможно недостаток, а, возможно и достоинство предыдущего кода состоит в том, что вместо строчки "Стиль - 0 1 2 3 4 5 6" мы получаем "Стиль - 0". Если нужно вобще убрать эту строку, то больше подходит такой скрипт:


e=document.getElementsByTagName("td");
  for(i=0;i<e.length;i++)
    {
      if(e[i].innerHTML.indexOf("<BR>Стиль -")==0)
        {
          e[i].innerHTML="";
        }
    }

(с) Warlock


Принцип действия: В данном случае происходит поиск не ссылок, а ячейки таблицы, в которой есть текст "Стиль -" и замена её на пустую ячейку. В оригинальном (авторском) коде есть один баг из-за не учёта свойств HTML-браузеров: Пустая ячейка, например, в Internet Explorer отображаться просто не будет. По этой причине происходит некоторое искажение страницы. Пример вы сможете найти здесь (проследите за моментов исчезновения ячейки). Я бы рекомендовал заменить в последней инструкции "" на " " или на "&nbsp;" (код пробела). В этом случае ячейка станет визуально пустой, но искажение страницы не произойдёт.

Отключение всего "ненужного" в форме отправки сообщения

Позже

Замена слов в сообщениях

Позже

Замена подписи под сообщением

Позже

Замена ранга (для одного ника)

Позже

Замена иконок для подфорумов

Позже

Место для ВАШЕЙ рекламы, для баннера ВАШЕГО сайта или чего-то ещё...

 

© 2003-2004. Константин Орлов (DeeJay OuKay). Все права защищены.

МузыкаФорумКонтактыВ начало страницы

 
Hosted by uCoz