authors_main:admin_api:admin_api_import_game

Импорт игры или её частей из её JSON можно провести двумя способами:

  1. Вставить нужный JSON объект на страницу https://qeng.org/import_tasks.php, указав айди игры, и нажав Импортировать. Эта же ссылка доступна из пункта меню «Импорт заданий» на странице редактирования игры.
  2. (вариант для программистов) Отправить POST запрос на https://qeng.org/import_tasks.php?gid=<ваш айди игры>&json=1, в котором в body будет корректно сформированный JSON объект. Для аутентификации необходимо удержать cookie с запроса на авторизацию, о чём детально написано тут: Встраивание движка в другие сервисы

Каждый объект, который можно импортировать, можно экспортировать для получения его структуры в текущей игре, как описано в секции инструкций экспорта.

Если необходимо добавить НОВЫЕ уровни в игру, то JSON будет списком из одного или нескольких уровней, разделённых запятыми. Чтобы уровень добавился, а не обновился существующий, он должен НЕ иметь поля number внутри секции настроек task. Описание структуры уровня тут.

Если необходимо обновить СУЩЕСТВУЮЩИЕ уровни в игре, то JSON будет списком из одного или нескольких уровней, разделённых запятыми, причём поле number в секции настроек task должно быть передано (отвечает номер уровня, который редактируется). Описание структуры уровня тут.

Настройки игры из секции task, если присутствуют в JSON - значения в движке будут заменены на новые. Если поля отсутствуют в предоставленном JSON - то они будут оставлены как было.

Для остальных секций (codes, bonuses, hints), если секция присутствует в JSON - то она полностью заменит существующую. Если отсутствует - то секция остаётся, как была.

Есть возможность залить всю игру из JSON целиком. Для этого JSON должен быть полным JSON игры, как описано на странице описания структуры JSON. Также в JSON необходимо добавить поле "delete_all_tasks": 1, чтобы удалить все существующие уровни и перезалить игру заново, например:

{
    "game": {
        "name": "#New Unnamed Game 2",
    },
    "tasks": [{"task": {"number": 1, "working_name": "Название"}, "codes": [], "bonuses": [], "hints": []}],
    "gbonuses": [],
    "lines": [],
    "delete_all_tasks": 1,
}

Настройки игры из секции game, если присутствуют в JSON - значения в движке будут заменены на новые. Если поля отсутствуют в предоставленном JSON - то они будут оставлены как было в игре раньше.

Для остальных секций (gbonuses, lines), если секция присутствует в JSON - то она полностью заменит существующую. Если отсутствует - то секция остаётся, как была.

В JSON нужно передать только структуру настроек игры, как описано на странице структуры JSON.

В JSON нужно передать только структуру глобальных бонусов, как описано на странице структуры JSON.

В JSON нужно передать только структуру глобальных бонусов, как описано на странице структуры JSON.

  • authors_main/admin_api/admin_api_import_game.txt
  • Последние изменения: 2021/10/21 06:23
  • phaust