BlackScorpio,Объясняю:
В шаблон сообщения там где нужно поставить медальки пишем:
<script>
fmedal('$USERNAME$');
</script> До $BODY$, можно в самом верху HTML-а пишем:
1 Вариант, удобный для средних и больших форумов:
<script>
var Mnik = new Array ('Andre','D@rth_EviL');
var Mmedal = new Array ('0112','0120');
var Mtitle = new Array ('За флуд','За героизм');
put='http://horeman.ru/IMGf/m/';
function fmedal(nik) {
for(n=0;n<Mnik.length;n++) {
if(nik==Mnik[n]) {
medal='';
for(j=0;j<Mmedal[n].length;j++) for(i=0;i<Mmedal[n].charAt(j);i++) medal+=' <img src="'+put+'medal'+j+'.gif" title="'+Mtitle[j]+'">'; document.write('<div align="center" style="margin:5 5 0 0">'+medal+'</div>'); break;
}}}
</script>
Синем помечено, то что можно изменить.
Инструкция: Записываем ники, кому надо медаль потавить в вектор Mnik и также по порядку номера медалей и их кол-во в векторе Mmedal, порядковый номер элемента говорит какую медаль ставить(счет от 0), а само число - кол-во медалей. К примеру 005 - говорит, что надо поставить медальку с именем medal2 пять раз.
2 Вариант, с прямым указанием HTML-текста медалей, более понятен, но и больше места займет:
<script>
function fmedal(nik) {
if(nik=='Ник 1') document.write('HTML-код медалей');
if(nik=='Ник 2') document.write('HTML-код медалей');
}
Данный способ позволяет присуждать участникам награды. Эти награды будут доступны в профиле участника.
Нам прийдется пожертвовать одним полем для запоминания медалек. В моем примере это "Yahoo идентификатор", можете и другое поле выбрать, только замените то что синее.
Сначало перепишем на хост картинки медалек под именами medal0, medal1 ... - максимум 30шт. В шаблоне "Всплывающие окна после $BODY$ вставляем код, изменив то что красным на свое.
<script>
if(document.title=='Информация о пользователе') {
put='http://путь до медалек/'; var n; medal=''; stat=0;
//Админ-награды
if(document.getElementById('block16')){
k=document.getElementById('block16').getElementsByTagName("span"); adm=k[0].innerHTML;
if(adm && adm.length==4){
for(i=0;i<adm.charAt(1);i++) medal+=' <img src="'+put+'medal3.gif" title="За просто так">';
for(i=0;i<adm.charAt(2);i++) medal+=' <img src="'+put+'medal2.gif" title="За победу в конкурсе">';
for(i=0;i<adm.charAt(3);i++) medal+=' <img src="'+put+'medal9.gif" title="За победу в фотоконкурсе">';
for(i=0;i<adm.charAt(0);i++) medal+=' <img src="'+put+'medal1.gif" title="За помощь в развитии портала">';
}
}
//Вывод наград
if(medal){
k=document.getElementById('block1');
k.innerHTML+='<BR>Награды (<a href="страница пояснения.htm" target="_blank">???</a>):';
k.innerHTML+='<BR>'+medal;
}
} //Информация о пользователе
if(document.title=='Изменение личной информации') {
document.all.yahoo.parentNode.parentNode.style.display='none';
}
</script>
--------------------------------------------------------------------------------
Скрываем используемое поле в регестрационной форме:
<script>
document.all.yahoo.parentNode.parentNode.style.display='none';
</script>
Награждение осуществляем через админку следующем образом:
00300 - это значит что у вас 5 видов медалек, и в профиле будет 3медальки с именем medal2.
Скрипт рабочий, если у кого что-то не выходит, в правом верхнем углу страницы есть кнопочка"Х", нажмите на нее и забудьте об этом как о страшном сне
©Скрипт написан Andre