Перейти к содержанию

Начало работы

Для начала неплохо было бы понимать общую логику работы и базовые сущности.

Всё происходит внутри квеста. В квесте есть задания. Задание имеет название, контент (который можно форматировать), ответ(ы) (необязательно), кнопки-переходы на другие задания, ограничения времени, предметы для выдачи и прохождения задания. Есть ещё условия и всякие настройки, но о них подробнее в соответствующем разделе. Также есть предметы инвентаря - это то, что автор квеста заполняет на этапе создания квеста, а затем в ходе квеста эти предметы могут выдаваться пользователям или забираться в некоторых заданиях для прохождения дальше.

Если схематично изобразить сущности и связи между ними, получится что-то такое:

graph RL
   task[Задания] --> quest[Квест];
   inventory[Предметы инвентаря] --> task;
   answer[Ответы] --> task;
   buttons[Кнопки-переходы] --> task;
   scripts[Скрипты] --> buttons;
   sharedCode[Общий код] --> quest;
   scripts --> sharedCode;
   scripts --> conditions;
   conditions[Условия] --> task;
   conditions --> buttons;
   maps[Карта] --> task;
   maps --> quest;
   users[Участники] --> quest;
   stats[Статистика] --> quest;
   api[API] --> quest;
   webhooks[WebHooks] --> sharedCode;

Несмотря на то, что эта схема точно передаёт суть, вам, скорее всего, не всё понятно. Поэтому давайте вместе разбираться с каждым элементом системы 🐧

Продолжение следует...