Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия | |||
ua:authors_main:admin_api:admin_api_import_game [2023/04/15 20:41] admin |
ua:authors_main:admin_api:admin_api_import_game [2024/02/24 16:06] (текущий) sparklingsky создано |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
{{indexmenu_n>2}} | {{indexmenu_n>2}} | ||
- | ===== Импорт игры из JSON.ua ===== | + | ===== Імпорт гри з JSON ===== |
- | ===== Инструменты импорта ===== | + | ===== Інструменти імпорту ===== |
- | Импорт игры или её частей из её JSON можно провести двумя способами: | + | Імпорт гри або її частин з її JSON можна зробити двома способами: |
- | - Вставить нужный JSON объект на страницу https://qeng.org/import_tasks.php, указав айди игры, и нажав Импортировать. Эта же ссылка доступна из пункта меню "Импорт заданий" на странице редактирования игры. | + | - Вставити потрібний JSON на сторінку https://qeng.org/import_tasks.php, зазначивши айді гри та натиснувши "Імпортувати". Це саме посилання також доступне з пункту меню "Імпорт завдань" на сторінці редагування гри. |
- | - (вариант для программистов) Отправить POST запрос на https://qeng.org/import_tasks.php?gid=<ваш айди игры>&json=1, в котором в body будет корректно сформированный JSON объект. Для аутентификации необходимо удержать cookie с запроса на авторизацию, о чём детально написано тут: [[api_embed_engine|Встраивание движка в другие сервисы]] | + | - (варіант для програмістів) Відправити POST запит на https://qeng.org/import_tasks.php?gid=<ваш айді гри>&json=1, в якому у body буде коректно зформований JSON обʼєкт. Для автентифікації необхідно отримати cookie з запиту на авторизацію, про що детально описано тут: [[ua:api_embed_engine|Вбудовування движка в інші сервіси]] |
- | + | ||
- | ===== Варианты объектов для импорта ===== | + | |
- | + | ||
- | Каждый объект, который можно импортировать, можно экспортировать для получения его структуры в текущей игре, как описано в секции [[admin_json_export|инструкций экспорта]]. | + | |
- | ==== Заливка новых уровней ==== | + | |
- | Если необходимо добавить НОВЫЕ уровни в игру, то JSON будет списком из одного или нескольких уровней, разделённых запятыми. Чтобы уровень добавился, а не обновился существующий, он должен НЕ иметь поля number внутри секции настроек task. Описание структуры уровня [[admin_api_json#Пример уровня целиком|тут]]. | + | |
- | + | ||
- | ==== Редактирование существующих уровней ==== | + | |
- | Если необходимо обновить СУЩЕСТВУЮЩИЕ уровни в игре, то JSON будет списком из одного или нескольких уровней, разделённых запятыми, причём поле number в секции настроек task должно быть передано (отвечает номер уровня, который редактируется). Описание структуры уровня [[admin_api_json#Пример уровня целиком|тут]]. | + | |
- | + | ||
- | Настройки игры из секции task, если присутствуют в JSON - значения в движке будут заменены на новые. Если поля отсутствуют в предоставленном JSON - то они будут оставлены как было. | + | |
- | + | ||
- | Для остальных секций (codes, bonuses, hints), если секция присутствует в JSON - то она полностью заменит существующую. Если отсутствует - то секция остаётся, как была. | + | |
- | + | ||
- | ==== Заливка всей игры ==== | + | |
- | Есть возможность залить всю игру из JSON целиком. Для этого JSON должен быть полным JSON игры, как описано на странице [[admin_api_json#Пример всей игры целиком|описания структуры JSON]]. Также в JSON необходимо добавить поле ''%%"delete_all_tasks": 1%%'', чтобы удалить все существующие уровни и перезалить игру заново, например: | + | |
- | <code JavaScript [enable_line_numbers="false"]> | + | |
- | { | + | |
- | "game": { | + | |
- | "name": "#New Unnamed Game 2", | + | |
- | }, | + | |
- | "tasks": [{"task": {"number": 1, "working_name": "Название"}, "codes": [], "bonuses": [], "hints": []}], | + | |
- | "gbonuses": [], | + | |
- | "lines": [], | + | |
- | "delete_all_tasks": 1, | + | |
- | } | + | |
- | </code> | + | |
- | + | ||
- | Настройки игры из секции game, если присутствуют в JSON - значения в движке будут заменены на новые. Если поля отсутствуют в предоставленном JSON - то они будут оставлены как было в игре раньше. | + | |
- | + | ||
- | Для остальных секций (gbonuses, lines), если секция присутствует в JSON - то она полностью заменит существующую. Если отсутствует - то секция остаётся, как была. | + | |
- | + | ||
- | ==== Заливка настроек игры ==== | + | |
- | В JSON нужно передать только структуру настроек игры, как описано на [[admin_api_json#Настройки игры|странице структуры JSON]]. | + | |
- | + | ||
- | ==== Заливка сквозных бонусов ==== | + | |
- | В JSON нужно передать только структуру глобальных бонусов, как описано на [[admin_api_json#Сквозные бонусы|странице структуры JSON]]. | + | |
- | + | ||
- | ==== Заливка линеек ==== | + | |
- | В JSON нужно передать только структуру глобальных бонусов, как описано на [[admin_api_json#Линейки|странице структуры JSON]]. | + | |
+ | /// не завершено /// |