Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
admin_api_json [2021/10/17 21:20] phaust |
— (текущий) | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | =====Структура JSON ===== | ||
- | ==== JSON всей игры ==== | ||
- | JSON объект всей игры имеет следующую структуру: | ||
- | <code JavaScript [enable_line_numbers="false"]> | ||
- | { | ||
- | "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" | ||
- | /* Порядок */ | ||
- | } | ||
- | ] | ||
- | } | ||
- | </code> | ||
- | Текст без комментариев для копирования: | ||
- | |||
- | <code JavaScript 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" | ||
- | } | ||
- | ] | ||
- | } | ||
- | </code> |