admin_api_import_game

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
admin_api_import_game [2021/10/19 12:45]
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|Встраивание движка в другие сервисы]] 
- 
-===== Варианты объектов для импорта ===== 
- 
-Каждый объект,​ который можно импортировать,​ можно экспортировать для получения его структуры в текущей игре, как описано [[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 необходимо добавить поле ''​%%"​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 нужно передать только структуру глобальных бонусов,​ как описано [[admin_api_json#​Сквозные бонусы|тут]]. 
- 
-==== Заливка линеек ==== 
-В JSON нужно передать только структуру глобальных бонусов,​ как описано [[admin_api_json#​Линейки|тут]]. 
  
  • admin_api_import_game.1634647542.txt.gz
  • Последние изменения: 2021/10/19 12:45
  • phaust