Вебдизайн и Техническая поддержка
Skype: disbb.ru
Контакты: обратная связь
Часы работы:
Пн-Пт 10:00-18:00
* по московскому времени


Баллы/очки пользователям за активность (Deff)


Скриншот

  • Баллы, начисляемые в дополнительное поле профиля за сообщения, приглашения, репутацию, активность и т.д.
  • Автор: Deff
  • Платформа: MyBB
  • Категория: Поля профиля пользователя
  • Оценка: 5.0/1
  • 12.06.2015, 20:51

Деньги/Баллы/Oчки за посты, активность, приглашения и репутацию от Deff
Баллы/Деньги/Oчки вычислятся по формуле и вставляются в указанное доп-поле под аватаром в топике.
Поле заполняется только Админом и может заполняться не у Всех пользователей, только тем, кому начисляются дополнительные админ-бонусы.
Вычисляются баллы по формуле:
K*(Кол-во постов) + К*(Кол-во часов пребывания на форуме) + K*(Уважение) + K*(Позитив) + АдминБонусы
где К - это коэффициент, прописанный в скрипте. Коэффициент может быть для каждого параметра разный.
Код
<!-- Баллы/Деньги/Oчки -->
  <script type="text/javascript">
  var NN=1 //Номер Дополнительного поля
  var fldName="Баллы" //Точное Имя Поля

  //Все Коэфициенты могут быть дробными
  var K_post=1/5; //Кол-о баллов начисляемых за одно сообщение;
  var K_invites=11; //Кол-о баллов начисляемых за число приглашенных на форум;
  var K=10; //Коэффициент участия(Кол-о баллов за час пребывания на форуме
  var K_respect=3; //Кол-о баллов начисляемых за один балл уважения;
  var K_positive=1; //Кол-о баллов начисляемых за один балл выставленный данным юзером другим юзерам в уважение;

  $("#pun-viewtopic .post .post-author").each(function(){
  if($(this).find(".pa-fld"+NN).html()==null){
  if($(this).find(".pa-avatar").html()!=null){var L=".pa-avatar"}else L=".pa-title"
  $(this).find(L).after('<li class="pa-fld'+NN+'"><b>'+fldName+'</b>: 0</li>')
  }
  var ss1=$(this).find(".pa-respect span").text();
  ss1=K_respect*parseInt(ss1);
  var ss2=$(this).find(".pa-positive ").text();
  ss2=K_positive*parseInt(ss2.replace("Позитив: ",""));
  var ss0=$(this).find(".pa-posts").text();
  ss0=K_post*parseInt(ss0.replace("Сообщений: ",""));
  var str=$(this).find(".pa-time-visit").text();str=str.replace("Неизвестно","0 минут");
  str=str.replace(" минуты","+");str=str.replace(" минуту","+");str=str.replace(" минут","+");
  str=str.replace(" часа","*60+");str=str.replace(" часов","*60+");str=str.replace(" час","*60+");
  str=str.replace(" день","*24*60+");str=str.replace(" дней","*24*60+");str=str.replace(" дня","*24*60+");
  str=str.replace(" месяцев","*(365/12)*24*60+");str=str.replace(" месяца","*(365/12)*24*60+");str=str.replace(" месяц","*(365/12)*24*60+");str=str.replace(/ /g,"");str=str.replace("Провеланафоруме:","");str=str.replace("Провелнафоруме:","");str+="0";var i=eval(str);
  var s=$(this).find(".pa-fld"+NN).text();
  s=s.replace(fldName+": ","");var s1=s,s2;s=parseFloat(s);s=Math.round((i/60)*K+ss0+ss1+ss2+s);
  str=$(this).find(".pa-fld"+NN).html();str=str.replace(s1,s);$(this).find(".pa-fld"+NN).html(str);
  ;})
  </script><!-- Конец -->

var NN=1 - Номер Дополнительного поля
var fldName="Баллы" - Точное Имя Поля
var K_post=1/5; - Кол-во баллов начисляемых за одно сообщение;
var K_invites=11; - Кол-во баллов начисляемых за число приглашенных на форум;
var K=10; - Коэффициент участия(Кол-во баллов за час пребывания на форуме
var K_respect=3; - Кол-во баллов начисляемых за один балл уважения;
var K_positive=1; - Кол-во баллов начисляемых за один балл выставленный данным юзером другим юзерам в уважение;

ВНИМАНИЕ!!! В настройках репутации "Tип oцeнoк" может быть любой, кроме "Плюcы и минycы".

Упрощенный в установке скрипт Баллов от Deff
Создаём новое доп поле с нужным названием, которое и прописываем в скрипте!
Настройки Поля: текст справа от названия, поле однострочное, заполняется только Админом/модером!

Коэффициенты настраиваются в сприпте так же как в предыдущей версии:
Код
<!-- Cкрипт Валюты --><script type="text/javascript">
  $("#pun-viewtopic .post .post-author").each(function(){
  var fldName="Баллы" //Точное Имя Поля

  //Все Коэфициенты могут быть дробными
  var K_post=1/5; //Кол-о баллов начисляемых за одно сообщение;
  var K_invites=11; //Кол-о баллов начисляемых за число приглашенных на форум;
  var K=10; //Коэффициент участия(Кол-о баллов за час пребывания на форуме
  var K_respect=3; //Кол-о баллов начисляемых за один балл уважения;
  var K_positive=1; //Кол-о баллов начисляемых за один балл выставленный данным юзером другим юзерам в уважение;

  if($(this).find(".pa-avatar").length){var L=".pa-avatar"}else var L=".pa-title"
  $(this).find(L).after('<li class="pa-fld11"><b>'+fldName+'</b>: 0</li>')

  var ss1=0,ss2=0,ss0=0,i=0,ss=0,s=0;
  if($(this).find(".pa-respect").length){ss2=$('.post:first').find(".pa-respect").text();
  ss2=ss2.replace(/^.*?\+(\d+)?\/?([\-]?\d+).*$/ig,"$1$2").split('-');
  ss2=K_respect*(parseInt('0'+ss2[0],10)-parseInt('0'+ss2[1],10));}
  if($(this).find(".pa-positive").length){ss1=$(this).find(".pa-respect").text();
  ss1=ss1.replace(/^.*?\+(\d+)?\/?([\-]?\d+).*$/ig,"$1$2").split('-');
  ss1=K_positive*(parseInt('0'+ss1[0],10)-parseInt('0'+ss1[1],10));}
  if($(this).find(".pa-invites").length){ss=$(this).find(".pa-invites").text(); ss=K_invites*parseInt(ss);}

  if($(this).find(".pa-posts").length)ss0=$(this).find(".pa-posts").text();
  ss0=K_post*parseInt(ss0.replace("Сообщений: ",""));
  if($(this).find(".pa-time-visit").length){var str=$(this).find(".pa-time-visit").text();str=str.replace("Неизвестно","0 минут");
  str=str.replace(" минуты","+");str=str.replace(" минуту","+");str=str.replace(" минут","+");
  str=str.replace(" часа","*60+");str=str.replace(" часов","*60+");str=str.replace(" час","*60+");
  str=str.replace(" день","*24*60+");str=str.replace(" дней","*24*60+");str=str.replace(" дня","*24*60+");
  str=str.replace(" месяцев","*(365/12)*24*60+");str=str.replace(" месяца","*(365/12)*24*60+");
  str=str.replace(" месяц","*(365/12)*24*60+");str=str.replace(/ /g,"");str=str.replace("Провеланафоруме:","");
  str=str.replace("Провелнафоруме:","");str+="0";var i=eval(str);}

  var s=$(this).find("li:not(.pa-fld11):contains('"+fldName+":')").remove().text();
  if(s=='')s=''+0;
  s=s.replace(fldName+": ","");var s1=s,s2;s=parseFloat(s);s=Math.round((i/60)*K+ss0+ss1+ss2+s);
  str=$(this).find(".pa-fld11").html();str=str.replace(s1,s);$(this).find(".pa-fld11").html(str);

  ;})
  </script><!-- Конец -->
Теги: mybb, Поля профиля пользователя, Deff, скрипт

Просмотров: 1327, Загрузок: 0, Комментарии: 5, Оценка: 5.0 (1)
Страницы:
Имя *:
Email *:
Код *:
Сайт создан в системе uCoz