{{indexmenu_n>3}}
======Структура JSON ======
====== Игра ======
Глобально, JSON игры состоит из нескольких больших секций:
{
"game": {} /* Настройки игры, вроде времени начала и последовательности прохождения */,
"gbonuses": [] /* Список сквозных бонусов в игре */,
"lines": [] /* Список линеек прохождения */,
"tasks": [] /* Список уровней игры*/,
}
===== Настройки игры =====
{
"game": {
"type": "1",
/* Победитель определяется:
"0": Баллы
"1": Время
*/
"stat": "5",
/* Статистика:
"0": Открытая
"1": Открытая без бонусов
"2": Закрытая во время игры
"4": Только Краткая
"5": Закрытая всегда
"6": Пройденные задания
*/
"team_limit": 0,
/* Ограничение игроков в команде */
"name": "#New Unnamed Game",
/* Название */
"description": "",
/* Описание */
"finish_text": "",
/* Финишный текст */
"html_header": "",
/* Общий HTML заголовок */
"image": "",
/* Картинка */
"start_time": "2021-10-17 12:00:00",
/* Cтарт */
"end_time": "2022-10-17 12:00:00",
/* Финиш */
"status": "3",
/* Прием в игру:
"0": Автоматически всех
"1": Автоматически оплативших
"2": Автоматически всех тестерами
"3": Вручную
*/
"start_type": "0",
/* Старт игры:
"0": Одновременный
"1": Каждый в свое время
*/
"price": 0,
/* Цена */
"currency": "UAH",
/* Валюта цены:
"UAH"
"USD"
"EUR"
"RUB"
*/
"kind": "0",
/* Тип игры:
"0": other
"1": green
"2": yellow
"3": red
"4": virtual
*/
"scenario": "0",
/* Сценарий:
"0": Закрыт
"1": Открыт в архиве
"2": Открыт в архиве, но только игравшим
"3": Открыт командам, закончившим игру
*/
"answer_prefix": "фф",
/* Префикс кодов */
"default_line": ""
/* Линейка по умолчанию (название) */
}
}
===== Сквозные бонусы =====
{
"gbonuses": [
/* Список сквозных бонусов в игре. Их может быть не один, через запятую */
{
"code": "cc, dd",
/* Ответы */
"time": 0,
/* Бонус за выполнение*/
"description": "",
/* Задание */
"hint": "",
/* Текст после решения */
"first_task_n": 1,
/* Доступен с задания */
"last_task_n": 2
/* Доступен по задание */
}
]
}
===== Линейки =====
{
"lines": [
/* Список линеек в игре. Их может быть не одна, через запятую */
{
"title": "Линейка 2",
/* Название линейки*/
"task_order": "1,2,3+4,5-7"
/* Порядок */
}
]
}
===== Уровень =====
Уровень в игре также имеет составную структуру:
{
"task": {}, /* Настройки уровня, вроде названия или времени автоперехода */
"codes": [], /* Список секторов или кодов в уровне. Их может быть не один, через запятую */
"bonuses": [], /* Список бонусов в уровне */
"hints": [], /* Список подсказок в уровне */
}
==== Настройки уровня ====
{
"task": {
"number": 1,
/* № */
"max_time": 3600,
/* Автопереход(секунд) */
"score": 10,
/* Бонус за не ап */
"time_k": 1.0,
/* Время x */
"delay": 0,
/* Задержка (для штурмовых уровней)*/
"working_name": "Название",
/* Название в игре */
"name": "В статке",
/* Название в статистике */
"surrender_code": "Слива",
/* Сливной Код */
"task": "Тест",
/* Текст задания */
"script": "alert(1)",
/* Скрипт задания */
"answer": "Слово на русском",
/* Формат ответа */
"answers_limit": 10,
/* Ограничение на ввод */
"answers_per_time": 60,
/* за промежуток времени */
"answers_limit_penalty": 10,
/* штраф за каждый лишний */
"codes": 0,
/* Для прохождения надо кодов */
"code_bonus_time": 0,
/* Уменьшение ап(секунд) */
"code_bonus": 0,
/* Бонус(в секундах) */
"finish_confirmation": "1",
/* Закрыть задание:
"0": Принудительно
"1": Разумно
*/
"hidden_bonuses": "0",
/* Бонусы: Отображать в задании:
"0": Списком
"1": Компактно одной строкой
*/
"bonuses_kind": "0"
/* Бонусы: Порядок открытия:
"0": Любой
"1": По порядку
*/
}
}
==== Секторы ====
{
"codes": [
/* Список секторов или кодов в уровне. Их может быть не один, через запятую */
{
"name": "Сектор 1",
"code": "a, b"
/* Коды-синонимы через запятую*/
},
{
"name": "Сектор 2",
"code": "c, d"
/* Коды-синонимы через запятую*/
}
],
}
==== Бонусы ====
{
"bonuses": [
/* Список бонусов в уровне. Их может быть не один, через запятую */
{
"number": 1,
/* Порядковый номер бонуса */
"code": "c, d",
/* Ответы */
"time": 0,
/* Бонус за выполнение */
"description": "",
/* Задание бонуса */
"hint": "",
/* Текст после решения */
"delay": 0,
/* Задержка появления бонуса */
"duration": 0,
/* Длительность */
"duration_k": 0
/* Остаток в бонус x */
}
]
}
==== Подсказки ====
{
"hints": [
/* Список подсказок в уровне. Их может быть не одна, через запятую */
{
"number": 1,
/* Порядковый номер подсказки */
"info": "",
/* Описание подсказки */
"hint": "",
/* Текст подсказки */
"delay": 0,
/* Время */
"penalty": 0
/* Штраф */
}
]
}
====== Пример всей игры целиком ======
Описание полей [[admin_api_json#Игра|тут]].
Пример без описания:
{
"game": {
"type": "1",
"stat": "5",
"team_limit": 0,
"name": "#New Unnamed Game",
"description": "",
"finish_text": "",
"html_header": "",
"image": "",
"start_time": "2021-10-17 12:00:00",
"end_time": "2022-10-17 12:00:00",
"status": "3",
"start_type": "0",
"price": 0,
"currency": "UAH",
"kind": "0",
"scenario": "0",
"answer_prefix": "фф",
"default_line": ""
},
"tasks": [
{
"task": {
"number": 1,
"max_time": 3600,
"score": 10,
"time_k": 1.0,
"delay": 0,
"working_name": "Название",
"name": "В статке",
"surrender_code": "Слива",
"task": "Тест",
"script": "alert(1)",
"answer": "Слово на русском",
"answers_limit": 10,
"answers_per_time": 60,
"answers_limit_penalty": 10,
"codes": 0,
"code_bonus_time": 0,
"code_bonus": 0,
"finish_confirmation": "1",
"hidden_bonuses": "0",
"bonuses_kind": "0"
},
"codes": [
{
"name": "Сектор 1",
"code": "a, b"
}
],
"bonuses": [
{
"number": 1,
"code": "c, d",
"time": 0,
"description": "",
"hint": "",
"delay": 0,
"duration": 0,
"duration_k": 0
}
],
"hints": [
{
"number": 1,
"info": "",
"hint": "",
"delay": 0,
"penalty": 0
}
]
}
],
"gbonuses": [
{
"code": "cc, dd",
"time": 0,
"description": "",
"hint": "",
"first_task_n": 1,
"last_task_n": 2
}
],
"lines": [
{
"title": "Линейка 2",
"task_order": "1,2,3+4,5-7"
}
]
}
====== Пример уровня целиком ======
Описание полей [[admin_api_json#Уровень|тут]].
Пример без описания ниже:
[
{
"task": {
"number": 1,
"max_time": 3600,
"score": 10,
"time_k": 1.0,
"delay": 0,
"working_name": "Название",
"name": "В статке",
"surrender_code": "Слива",
"task": "Тест",
"script": "alert(1)",
"answer": "Слово на русском",
"answers_limit": 10,
"answers_per_time": 60,
"answers_limit_penalty": 10,
"codes": 0,
"code_bonus_time": 0,
"code_bonus": 0,
"finish_confirmation": "1",
"hidden_bonuses": "0",
"bonuses_kind": "0"
},
"codes": [
{
"name": "Сектор 1",
"code": "a, b"
}
],
"bonuses": [
{
"number": 1,
"code": "c, d",
"time": 0,
"description": "",
"hint": "",
"delay": 0,
"duration": 0,
"duration_k": 0
}
],
"hints": [
{
"number": 1,
"info": "",
"hint": "",
"delay": 0,
"penalty": 0
}
]
}
]