# Уровни

Уровни – это пошаговые квесты, в которые закладывается сюжетная линия. Каждый новый уровень связан с предыдущим. Пользователь постепенно набирает баллы и открывает всё новые задания, получает по нарастанию выгоды призы и двигается по четко структурированному квесту от первого до последнего победного уровня.

![](https://1542586809-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MUZ-mRId7_kqQCtuNOc%2F-MXpwev1Zd1mqyiU5D02%2F-MXqAZzsYISC_fIkwIvw%2F123444444.PNG?alt=media\&token=8d50a2f9-f0a3-4b75-9262-a6eb3c418f0a)

Такая логика позволяет держать интерес погружая в некую историю. Также она отлично подходит для продажи курсов и другого учебного контента, где каждый отдельный урок является новым уровнем.&#x20;

Ключи для открытия можно продавать или использовать уровни для бесплатников.&#x20;

## Настройка

Переходим в раздел «Уровни».

![](https://1542586809-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MUZ-mRId7_kqQCtuNOc%2F-MXpwev1Zd1mqyiU5D02%2F-MXqBDevwYHuy-COJmEM%2F%D1%8B%D0%BF%D1%82%D0%BE%D0%BB%D0%BB.PNG?alt=media\&token=01f0cf11-abfa-40ee-8bbe-205239c2e932)

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

**Список уровней**\
Здесь содержатся все созданные уровни.

**Добавить уровень**\
Кликаем, чтобы добавить в конец новый уровень.\
\
**Кабинет пользователя с открытыми уровнями**\
Мини-кнопка, которая перенаправит вас в кабинет пользователя с полностью открытыми уровнями (нужно для проверки отображения).

**Экспорт уровней**\
Мини-кнопка для скачивания созданных уровней в файле json.

**Импорт уровней**\
Мини-кнопка для вставки ранее скаченных уровней из файла json.

{% hint style="info" %}
Экспорт/импорт уровней позволяет сохранять созданные ранее квесты на свой компьютер, а также для переноса их с одной группы в другую. Можно создать несколько квестов на базе уровней и внедрять их попеременно в разных сообществах.
{% endhint %}

## Создание/Редактирование

По клику на «Добавить уровень» или на кнопку редактирования, откроется панель с настройками конкретного уровня.

![](https://1542586809-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MUZ-mRId7_kqQCtuNOc%2F-Mb7LLpshQSLZGILj0Kc%2F-Mb7LdTqJ9GGf8dw_ZuP%2F%D1%8B%D0%B0%D0%B2%D0%B0.PNG?alt=media\&token=2eff6a7f-b450-4bad-bd6c-c2a2c907e9ed)

**Обложка**\
Выберите один из доступных градиентов или загрузите свое изображение.

{% hint style="info" %}
Допустимые форматы: JPG, PNG, GIF.\
Ограничения: сумма высоты и ширины не более 14000px, файл объемом не более 50 МБ, соотношение сторон не менее 1:20.
{% endhint %}

**Название уровня**\
Если не задать, то будет просто порядковый номер.

**Условие открытия**\
Возможные значения:\
1\. Доступно всем.\
2\. Ввести ключ.\
3\. Набрать баллы.

{% hint style="info" %}
Указав «Доступен всем», пользователь получит доступ к уровню сразу после входа в личный кабинет.\
\
Если выбрать «Ввести ключ», уровень будет недоступен для пользователя до тех пор, пока он не зайдет в свой кабинет и не введет указанный вами ключ. \
\
При выборе «Набрать баллы», уровень откроется тогда, когда пользователь наберет указанное количество баллов.&#x20;
{% endhint %}

**Награда за открытие уровня**\
Поощрение может быть в двух вариантах: \
1\) Начисление баллов.\
2\) Повышение кармы.

{% hint style="info" %}
Число, которое нужно задать не устанавливает показатель, а повышает его на указанное количество. Например, если мы укажем награду в 100 кармы, то пользователь получит плюс 100 к уже существующему значению.
{% endhint %}

**Редактор**\
Содержимое уровня. Произвольный контент, построенный на базе нашего [редактора](https://docs.appcm.ru/dopolnitelno/redaktor).

## Особенности

Уровни – это пошаговые квесты, из чего вытекает ряд особенностей.

**Нельзя перепрыгивать уровни**\
Это нарушило бы логику и всю заложенную сюжетную линию. Неинтересно смотреть кино перематывая по несколько сцен или же играть с читами получая сразу то, что заложено в конце игры, поэтому уровни имеют очередность открытия. Пока вы не перешли на второй, третий невозможно открыть, даже если у вас есть к нему ключ или баллов уже достаточно.\
\
**Переход на новый уровень в момент посещения кабинета**\
Так как уровни могут быть заблокированы ключом и нам нужно сохранять очередность, переход на новый уровень происходит не по достижению количества баллов, а в момент посещения приложения пользователем при выполнении заданных вами условий. Таким образом мы исключаем возможность перепрыгивания и обращаем внимание пользователя на содержимое уровня, а не только на цифру в виджете. \
\
**Удаление уровня не сбрасывает прогресс пользователя**\
Вы удаляете контент, а не достижение пользователя. Уровни являются цельным квестом, структуру которого желательно не трогать до завершения игры. Можно добавлять периодически новые, чтобы продолжать историю или сбросить весь рейтинг для полного обнуления прогресса.\
\
**Изменение условий не сбрасывает прогресс**\
С условиями похожая история. Те пользователи, что уже открыли уровень по старым условиям, будут на своем уровне в независимости от дальнейших изменений условий. А как иначе? Если вы их вдруг понизите, вам зададут немало вопросов. Представьте, вы проходили игру и тут вас вернули на один-два уровня назад. \
\
**Рейтинг и уровни связаны**\
Рейтинг пользователей напрямую связан с уровнями. Если сбросить рейтинг, удалится и прогресс по уровням, так как главным условием открытия является набор баллов. Если их не связывать и дать возможность сбросить отдельно уровни, то пользователи со своими уже накопленными мгновенно будут открывать новые уровни, так как у них же уже есть достаточное количество баллов.
