Это старая версия документа!
Структура JSON
JSON всей игры
JSON объект всей игры имеет следующую структуру:
{ "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": vitual */ "scenario": "0", /* Сценарий: "0": Закрыт "1": Открыт в архиве "2": Открыт в архиве, но только игравшим "3": Открыт командам, закончившим игру */ "answer_prefix": "фф", /* Префикс кодов */ "default_line": "" /* Линейка по умолчанию (название) */ }, "tasks": [ /* Список уровней. Их может быть не один, через запятую */ { "task": { "number": 1, /* № */ "max_time": 3600, /* Автопереход(секунд) */ "score": 10, /* Бонус за не ап */ "time_k": 1.0, /* Время x */ "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" /* Коды-синонимы через запятую*/ } ], "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 /* Штраф */ } ] } ], "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" /* Порядок */ } ] }
Текст без комментариев для копирования:
- game_example.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": null, "default_line": "" }, "tasks": [ { "task": { "number": 1, "max_time": null, "score": null, "time_k": null, "working_name": null, "name": null, "surrender_code": null, "task": "", "script": null, "answer": null, "answers_limit": null, "answers_per_time": null, "answers_limit_penalty": null, "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": [ { "code": "c, d", "time": 0, "description": null, "hint": null, "number": 1, "delay": null, "duration": null, "duration_k": null } ], "hints": [ { "number": 1, "info": null, "hint": null, "delay": null, "penalty": 0 } ] } ], "gbonuses": [ { "code": [ "cc, dd" ], "time": 0, "description": null, "hint": null, "first_task_n": 1, "last_task_n": 2 } ], "lines": [ { "title": "Линейка 2", "task_order": "1,2,3+4,5-7" } ] }