[hideprofile](я страшненькая, но работаю!)
A1 A2 B1
Lorem ipsum dolor sit amet consectetur adipisicing elit. Ipsum tempore unde ex pariatur distinctio laboriosam, dolorem quibusdam aperiam expedita consequuntur dolorum porro vitae earum quos voluptates et maxime. Tempora, mollitia.
hagalnaudbase1 |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » hagalnaudbase1 » просмотр » ачивки: полная система
[hideprofile](я страшненькая, но работаю!)
A1 A2 B1
Система достижений
Система достижений предназначена для отображения, получения и управления ачивками на форуме. Она состоит из двух частей: личная страница каждого игрока и общий список в теме. Главное преимущество - наличие кода у каждого достижения, т.е. для выставления ачивки вместо копирования изображения в виде длинного <img src=... надо указать просто A1, а также имеется статистика.
Основные функции системы:
Личная страница
Отображает список полученных пользователем ачивок.
На странице видно всю коллекцию ачивок, но те, которые не получены, отмечены особым классом: могут быть скрыты совсем либо обесцвечены CSS-фильтром.
Выводится личная статистика игрока:
Общее количество ачивок
Количество полученных
Статистика по редкостям (rare, epic и т.д.) или типу (игровые, флудовые, ивентовые и т.д.)
Общий список в теме
Позволяет просматривать все доступные ачивки разом, если поставить в коде achview = 1;.
При выборе achview = 0; можно указать, какие ачивки были выданы хоть раз. Те ачивки, которые ещё никем не открыты, можно спрятать под "туман войны"; в стартовом сообщении этой темы представлен именно такой вариант.
Наведение курсора на ачивку показывает условие её получения.
Выбор нескольких ачивок кликом.
Повторный клик удаляет ачивку из выбора.
Кнопка "Получить" добавляет шаблон в поле формы и прокручивает страницу к ней.
Кнопка "Очистить" сбрасывает текущий выбор.
Статистика показывает:
Общее количество ачивок
Количество по каждой категории редкости
Количество открытых ачивок, если выбран режим "неизвестные ачивки скрыты".
Что делает систему удобной?
Лёгкое получение ачивок для игроков: при наведении сразу видно, как получить ачивку, можно выбрать несколько ачивок кликом, удалить из выбора — повторным кликом.
Автоматическая статистика на каждой личной странице и в целом по форуму: не нужно вручную подсчитывать общее число и распределение по редкостям.
Гибкость настройки для админов: легко добавлять новые ачивки, изменять условия и редкости.
Универсальность: работает как на личной странице пользователя, так и в теме форума.
Руководство для администраторов
1. Подключение jQuery
<script src="https://code.jquery.com/jquery-3.6.0.min.js "></script>
2. Вставка основного скрипта
Добавьте JS-скрипт в HTML-низ:
<script> // здесь находится основной JS-скрипт системы </script>
Добавьте базу для JS-скрипта в HTML-верх:
<!------------------------------------------------ ачивки, база © hagalnaud -----------------------------------------> <script type="text/javascript"> const achbase = { A1: ['ачивка 1', 'https://forumupload.ru/uploads/001b/d5/f7/5/38427.png ', 'rare', 'условие получения ачивки 1'], A2: ['ачивка 2', 'https://forumupload.ru/uploads/001b/d5/f7/5/544294.png ', 'rare', 'условие получения ачивки 2'], A3: ['ачивка 3', 'https://forumupload.ru/uploads/001b/d5/f7/5/174624.png', 'rare', 'условие получения ачивки 3'], B1: ['ачивка 4', 'https://forumupload.ru/uploads/001b/2a/da/2025/400805.png ', 'epic', 'условие получения ачивки 4'], B2: ['ачивка 5', 'https://forumupload.ru/uploads/001b/2a/da/2025/136639.png ', 'epic', 'условие получения ачивки 5'], C1: ['ачивка 6', 'https://forumupload.ru/uploads/001b/af/a2/46/332762.png ', 'common', 'условие получения ачивки 6'], D2: ['ачивка 7', 'https://forumupload.ru/uploads/001b/af/a2/46/88931.png', 'legendary', 'условие получения ачивки 7'] }; </script>
3. Добавление элементов
Для личной страницы пользователя:
Добавьте в нужное место:
<div class="achlist"> <!-- Коды полученных ачивок --> </div> <div class="achstat"> <!-- Сюда будет выводиться статистика --> </div>
Для темы с получением ачивок:
Вставьте в заглавное сообщение темы код из а) или б) и закрепите его.
а) Для общей открытой базы:
[block='achforall'][/block]
б) Для общей базы, где затуманены ещё не полученные ачивки:
[block='achforall']A1 B2 и другие коды через пробел[/block]
4. Добавление новых ачивок
Редактируйте переменную `achbase` в скрипте, добавляя новые записи следующего вида:
A1: ['Название', 'https://ссылка-на-картинку.png', 'редкость', 'условие получения']
Код ачивки (например, A1) — должен быть уникальным
Название — отображается в title
Ссылка на изображение
Редкость — влияет на статистику, может быть заменена по смыслу на название коллекции, тип ачивки (флуд/посты) и так далее
Условие получения — отображается при наведении в теме получения ачивок
Упрощённый гайд:
Игрок нажимает на подходящие ачивки в теме, получает автоматический шаблон, прикладывает доказательства для получения
Администратор вносит указанные коды ачивок на личную страницу игрока, убирает обработанную заявку под спойлер
Остальное делает скрипт
Пример на странице пользователя:
В коде личной страницы указано:
При открытии страницы скрипт генерирует ачивки, выделяя полученные, сопровождает всё всплывающими подсказками и подсчитывает статистику:
Если указать .achno {display: none;}, будут видны только полученные ачивки.
Вы здесь » hagalnaudbase1 » просмотр » ачивки: полная система