Гость
Статистика Форума
Последнии темы Популярные темы Лучшии пользователи Новые пользователи
» [23.01.2019] Логотипчик для сайта (0)
» [22.01.2019] No Avatar для synthira (2)
» [22.01.2019] Различные иконки для игры или сайта Сталкер (12)
» [22.01.2019] Ui Icon Equipment (UIE) (0)
» [22.01.2019] Арты: Сталкер, апокалипсис, зона, конец света и... (8)
» [22.01.2019] Сталкер локации png (stalker maps png) (1)
» [22.01.2019] Различная графика для сайтов и игр (interface, ... (3)
» [22.01.2019] Иконки MISERY Stalker ui equipment (0)
» [22.01.2019] Фоны для сталкерского сайта (33)
» [22.01.2019] Игровые обои (1)
» Тайники и подсказки (82)
» FAQ прохождения по локациям DOPPELGANGER 7.63 Time Gap (50)
» Русскоязычное руководство по моду Frackin' Universe... (38)
» Фоны для сталкерского сайта (33)
» [DMX] Народное творчество (24)
» Capital-Rp Wikia Code (22)
» ГИД Прохождение остальных квестов ОП - 2 (21)
» CoC Вылеты и их решение (21)
» Личные сообщения (18)
» Редактирование мода «Народная солянка Объединенный пак ... (18)
» Xemordio (3150)
» NL-Vincenz (12)
» Infe[R]nos (10)
» Duzeppa26 (5)
» Ghosteron (4)
» gromgold (1)
» kamelotto (1)
» Glomar (1)
» Бармен (1)
» ZION (1)
» [22.01.2019] Likhatchevs
» [22.01.2019] starwind
» [19.01.2019] gavyxte
» [18.01.2019] Sedoy
» [17.01.2019] Nik_nikolaev2k18
» [13.01.2019] dextyar96
» [09.01.2019] max202
» [07.01.2019] Infe[R]nos
» [06.01.2019] zgenaz
» [01.01.2019] iivelesii

  • Страница 1 из 1
  • 1
Форум » Web uCoz » Скрипты для uCoz » Система уровней пользователей для uCoz
Система уровней пользователей для uCoz
Xemordio Offline Дата: Суббота, 12.01.2019, 07:26 | Сообщение # 1
Администратор
Звание: Маршал [?]
Сообщений: 3150

Ваши пользователи любят погоняться за репутацией?
Дайте им возможность погоняться ещё и за уровнем.

Система работает за счёт активности пользователя на сайте.
Учитывается кол-во материалов, комментариев и репутация.
Так же для любой активности можно поставить множитель:
Допустим Вы поставили для репутации множитель "3", если у пользователя репутация "5", то в очки уровня засчитывается "15" (5*3).

Система выводит следующие параметры:
$scoreSL - текущее кол-во очков пользователя;
$levelSL - текущий уровень пользователя;
$thisLvl - кол-во очков у текущего уровня;
$NextLS - кол-во очков у следующего уровня;
$scoreNextLvl - требуемое кол-во очков для следующего уровня.

Установка:

Всё что Вам нужно, это добавить данный код на страницу пользователя в конец body.
ПУ > Управление дизайном > Персональная страница пользователя

Код
<script>  
// Активность  
var $SLuser = [// 'количество', 'множитель'  
['$_BLOG_ENTRIES$', '1'], ['$_BOARD_ENTRIES$', '1'], ['$_COM_ENTRIES$', '1'],  
['$_FORUM_ENTRIES$', '1'], ['$_LOAD_ENTRIES$', '1'], ['$_NEWS_ENTRIES$', '1'],  
['$_PHOTO_ENTRIES$', '1'], ['$_PUBL_ENTRIES$', '1'], ['$_STUFF_ENTRIES$', '1'],  
['$_SHOP_ENTRIES$', '1'], ['$_VIDEO_ENTRIES$', '1'], ['$_RANK$', '1'], ['$_REPUTATION$', '1']  
];  

// Уровни  
var $SLlevel = [];  
for(var i=0; i<=100; i++){$SLlevel[i] = i*5}; // Генерация уровней (100)  

/* Или так  
$SLlevel = ['5','10','15','20','25','30'];  
*/  

// **************  
function CheckUserScore(arr) {  
return arr.map(a => a.reduce((a, c) => a * +c, 1)).reduce((a, c) => a + c, 0);  
};  
var $scoreSL = CheckUserScore($SLuser);  

function CheckUserLevel(arr, toFind) {  
if(!arr) return -1;  
var first = 0, last = arr.length - 1;  
while(first < last) {  
var mid = first + Math.floor((last - first) / 2);  
if (arr[mid] >= toFind) last = mid; else first = mid + 1;  
}  
if(arr[last] == toFind || last == 0 || last == arr.length - 1) return last; else return last - 1;  
};  
var $levelSL = CheckUserLevel($SLlevel, $scoreSL) + 1; // +1 потому что массив начинается с нуля.  

var $NextLS = $SLlevel[$levelSL];  

var $thisLvl = $SLlevel[$levelSL-1];  

var $scoreNextLvl = ($NextLS - $scoreSL);  
// **************  

console.info('Кол-во очков: '+$scoreSL);  
console.info('Уровень: '+$levelSL);  
console.info('Кол-во очков у уровня: '+$thisLvl);  
console.info('Кол-во очков у след. уровня: '+$NextLS);  
console.info('Кол-во очков до след. уровня: '+$scoreNextLvl);  
</script>


!! ВАЖНО !!
Я выкладываю только код системы, не визуализацию.
На превью материала представлена реализация.

Автор: CbIPoK2513
Дата регистрации: 22.07.2017
Форум » Web uCoz » Скрипты для uCoz » Система уровней пользователей для uCoz
  • Страница 1 из 1
  • 1
Поиск:

03:51