{{indexmenu_n>15}} ====== Файлы игры ====== Картинки, звуки и всё остальное, что показывается игроку, лежат в папке игры на нашем хранилище. Заливаются они во вкладке **«Файлы»** редактора. Это единственное место редактора, которое работает **не через черновик**: файл уходит на сервер сразу, и удаляется тоже сразу. Кнопка «Сохранить...» к нему отношения не имеет. {{ :authors_main:task_editor:files_tab.png?800 |Вкладка «Файлы»: сюда заливают картинки и звуки, помимо черновика}} ===== Что можно залить ===== ^ Тип ^ Расширения ^ Не больше ^ После сжатия ^ | Картинка | jpg, jpeg, jfif, png, gif, webp | 10 МБ | 2 МБ | | Звук | mp3, m4a, ogg, wav | 5 МБ | — | | Видео | mp4 | 5 МБ | — | | Документ | pdf, txt | 1 МБ | — | | Файл кода | js, css, json, html, svg | 256 КБ | — | | Файл данных | zip | 1 МБ | — | Та же таблица есть в самом редакторе — по знаку вопроса рядом с заголовком блока. Регистр расширения не важен: ''ФОТО.JPG'' заливается так же, как ''foto.jpg''. Список форматов — не прихоть: это ровно то, что наш сервер отдаёт игроку. Файл вне списка залился бы, а у игрока не открылся, поэтому mov, heic, avif, webm и шрифты мы не принимаем. > **Общего предела на игру нет.** Ограничения только на каждый файл по отдельности. ===== Оптимизировать картинки ===== Галочка стоит по умолчанию. Со включённой галочкой движок: * уменьшает картинку до **1102 точек по ширине** (шире не делает никогда); * пережимает её; * **png без прозрачности сохраняет как jpeg** — расширение при этом меняется; * теряет метаданные (EXIF). Если после сжатия не выиграно хотя бы пяти процентов, остаётся оригинал. **Снимайте галочку на конкретный файл**, когда нужна полная ширина — например, картинку разглядывают с зумом, — или когда EXIF часть задания: в городских играх в фотографии прячут координаты и время съёмки. Галочка не запоминается и на каждой загрузке снова стоит: «запомнить» означало бы тихо отменить сжатие всему остальному. > Со снятой галочкой предел **2 МБ применяется к оригиналу** — уменьшать картинку придётся самому. Браузер откажет ещё до отправки. Движок не трогает анимированные картинки (gif, apng, анимированный webp) и картинки больше 40 мегапикселей — им придётся уложиться в 2 МБ самим. ==== Картинка в пути ==== Ссылку движок отдаёт **не сразу**: строка сначала говорит «Картинка в пути, ждём ссылку», и рядом с ней кнопка «Отмена». Так и задумано — имя файла может смениться (png стал jpeg), и ранняя ссылка оказалась бы мёртвой. Одновременно движок сжимает две картинки, остальные ждут очереди. Если ждать пришлось больше двух минут, будет сказано: «Сервер занят сжатием картинок, попробуйте ещё раз через минуту». Ничего не потеряно — повторите. Если сжать не удалось вовсе, файл всё равно заливается, ссылка рабочая, а под ней приписка **«Залито без оптимизации: сжать картинку не удалось»**. Это не ошибка: картинка просто осталась оригиналом. Но если она при этом больше 2 МБ, её не примут. ===== Имя файла ===== По умолчанию движок даёт файлу своё короткое имя, а ваше запоминает и показывает в списке. Галочка **«Сохранить название»** оставляет ваше имя — оно же попадёт в ссылку. * Ваше название — до **128 знаков**, имя на диске — до **64**. * Нельзя ''/'' ''\'' ''#'' ''?'' — слэши увели бы файл из папки игры, а ''#'' и ''?'' обрезают ссылку в браузере. Проверяется имя, которое ложится на диск: ''фото #1.jpg'' зальётся без галочки и будет отвергнуто с ней. * ''.php'' и ''.htaccess'' в имени не принимаются вовсе. * Пробелы и кириллица можно, но в ссылке они останутся как есть. **Имена, начинающиеся с ''item_''**, — картинки предметов инвентаря. У них название сохраняется всегда, независимо от галочки, и формат никогда не меняется: движок ищет такую картинку **по имени**. Подробно — на странице [[authors_main:task_editor:advanced:inventory|Инвентарь игрока]]. ===== Ссылка на файл ===== Каждая строка списка — это ссылка; клик по ней копирует её в буфер. Хвост ''?v=…'' — отметка времени файла: она меняется при замене файла, и браузер игрока подхватывает новую версию, а не показывает старую из кэша. Вставлять ссылку в задание нужно **после** заливки, а не до: имя может отличаться от того, что вы залили. ===== Заменить и удалить ===== **Замена.** Залейте файл с тем же названием в ту же игру — он заменит прежний, а ссылка останется прежней. Это обычный способ поправить картинку, не трогая задания. Одно исключение: если при сжатии сменилось расширение (png стал jpeg), старая ссылка перестаёт работать, и задания, где она прописана, придётся поправить. > Другая картинка под уже занятым названием **молча заменит** прежнюю во всех заданиях, где та стояла. **Удаление.** Кнопка «Удалить» в списке. Движок не проверяет, используется ли файл в заданиях: картинка просто пропадёт везде, где стояла. Списка «где используется» нет, отменить удаление нельзя — только залить файл заново под тем же названием. ===== Копия игры ===== **Копирование игры файлы не копирует.** У копии своя, пустая папка, а задания в ней продолжают ссылаться на файлы **исходной** игры. Работать это будет, пока исходная игра жива. Но список файлов у копии пуст, замена картинки в копии на задания не повлияет, а удаление исходной игры сломает копию. Если копия должна жить сама по себе, залейте файлы в неё и поправьте ссылки. Ровно то же касается заданий, скопированных между играми. ===== Аудио и видео ===== **Звук** — mp3, m4a, ogg, wav до 5 МБ. Вставить проигрыватель можно кнопкой в панели редактора задания (рядом с кнопкой картинки) или руками, в режиме «Источник»: **Видео** — своё можно, но только **mp4 и только до 5 МБ**. Ничего не пережимается, поэтому в этот предел ролик надо уложить самому. Разметку пишут руками: Ролик с YouTube вставляется по-прежнему кадром — как [[authors_main:task_editor:basic#видео|описано в оформлении заданий]]. ===== Картинки прямо из редактора текста ===== Кнопка картинки в панели редактора задания заливает файл туда же и по тем же правилам: те же типы, те же пределы, та же оптимизация и та же кнопка «Отмена». Отдельно идти во вкладку «Файлы» не нужно. ===== Кто может ===== Заливать и удалять файлы игры может её автор и администратор домена, в котором игра лежит. Чужой файл движок называет ненайденным, а не запрещённым. У домена есть **своя** папка файлов, отдельная от игр, — она на странице наград в админке домена. Списки не пересекаются. ===== Смотрите также ===== * [[authors_main:task_editor:basic|Базовый редактор]] — как вставить картинку, аудио и видео в текст задания. * [[authors_main:task_editor:advanced:inventory|Инвентарь игрока]] — картинки предметов и что делает префикс ''item_''. * [[authors_main:task_editor:editor|Редактор игры]] — остальные вкладки и черновик.