Различия
Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
admin_api_import_game [2021/10/17 21:20] phaust |
— (текущий) | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ====== Импорт игры из JSON ====== | ||
| - | ===== Инструменты импорта ===== | ||
| - | Импорт игры или её частей из её JSON можно провести двумя способами: | ||
| - | - Вставить нужный JSON объект на страницу https://qeng.org/import_tasks.php, указав айди игры, и нажав Импортировать. Эта же ссылка доступна из пункта меню "Импорт заданий" на странице редактирования игры. | ||
| - | - (вариант для программистов) Отправить POST запрос на https://qeng.org/import_tasks.php?gid=<ваш айди игры>&json=1, в котором в body будет корректно сформированный JSON объект. Для аутентификации необходимо удержать cookie с запроса на авторизацию, о чём детально написано тут: [[api_embed_engine|Встраивание движка в другие сервисы]] | ||
| - | |||
| - | ===== Варианты объектов для импорта ===== | ||
| - | ==== Заливка нового уровня ==== | ||
| - | Если необходимо добавить НОВЫЕ уровни в игру, то в поле JSON нужно вставить список из одного или нескольких уровней, разделённых запятыми. Чтобы уровень добавился этом уровни должны НЕ иметь поле number внутри task. | ||
| - | |||
| - | Например, | ||
| - | <code JavaScript [enable_line_numbers="false"]> | ||
| - | [ | ||
| - | { | ||
| - | "task":{ | ||
| - | "working_name":"Урв1", | ||
| - | "task":"Текст задания", | ||
| - | }, | ||
| - | "codes":[ | ||
| - | { | ||
| - | "name":"Первый код", | ||
| - | "code":["Код1","Кодик1"] | ||
| - | } | ||
| - | }, | ||
| - | { | ||
| - | "task":{ | ||
| - | "working_name":"Урв2", | ||
| - | "task":"Текст задания 2", | ||
| - | }, | ||
| - | "codes":[ | ||
| - | { | ||
| - | "name":"Первый код", | ||
| - | "code":"Код2, кодик2", | ||
| - | } | ||
| - | } | ||
| - | ] | ||
| - | </code> | ||
| - | |||
| - | ==== Редактирование существующих уровней ==== | ||
| - | Если в секции task уровня есть поле number - то уровень с этим номером будет отредактирован, используя предоставленный JSON. | ||
| - | |||
| - | Для полей в секции task, если они присутствуют в JSON - они будут заменены на новые. Если поля отсутствуют в предоставленном JSON - то они будут оставлены как было. | ||
| - | |||
| - | Для остальных секций (codes, bonuses, hints), если секция присутствует в JSON - то она полностью заменит существующую. Если отсутствует - то секция остаётся, как была. | ||
| - | |||
| - | Например, | ||
| - | |||
| - | <code - [enable_line_numbers="false"]> | ||
| - | [ | ||
| - | { | ||
| - | "task":{ | ||
| - | "number": 4, | ||
| - | "working_name":"Уровень 1", | ||
| - | "Answer":"Добавляем новый ФО", | ||
| - | }, | ||
| - | "bonuses":[ | ||
| - | { | ||
| - | "code":"Бонус1,б1", | ||
| - | "delay":15, | ||
| - | "duration":60, | ||
| - | "time":10, | ||
| - | "description":"Другое описание бонуса", | ||
| - | "hint":"Текст после решения бонуса" | ||
| - | }, | ||
| - | } | ||
| - | ] | ||
| - | </code> | ||