---
title: "Руководство по созданию Champion Build Builder в OP.GG"
description: "Справка для ИИ-ассистентов и браузерных агентов по созданию, сырому Markdown, проверке и восстановлению."
language: ru
canonical: https://op.gg/ru/lol/user-guides/help
---

# Руководство по созданию Champion Build Builder в OP.GG

> Инструкции для ИИ-ассистентов и браузерных агентов, которые объясняют или управляют OP.GG Champion Build Builder.

Это машиночитаемое руководство на языке Русский для текущего конструктора.

- Канонический HTML: https://op.gg/ru/lol/user-guides/help
- URL Markdown: https://op.gg/ru/lol/user-guides/help.md
- URL новой сборки: https://op.gg/ru/lol/user-guides/new
- URL списка сборок: https://op.gg/ru/lol/user-guides

## Выберите режим создания

- По умолчанию используйте редактор формы.
- Используйте сырой Markdown только когда пользователь просит исходный формат или когда для большого текстового изменения нужен прямой контроль.
- Перед загрузкой образца или заменой содержимого проверьте существующий черновик и состояние автосохранения.
- Перед публикацией всегда проверяйте Preview и его состояние валидации.

## Аутентификация и сохранение черновика

- Черновик сохраняется в текущем браузере, а не в вашем аккаунте.
- Тот же черновик не появится автоматически в другом браузере или на другом устройстве.
- После успешной публикации черновик этого гайда очищается из этого браузера.
- Raw Markdown — это продвинутый режим для прямого редактирования структуры документа.
- Если в сыром исходнике есть проблема, вы можете не вернуться в режим формы, пока не исправите диагностику.
- Summoner Card — это фиксированное содержимое, и его нельзя редактировать напрямую в сыром Markdown.
- Не меняйте localStorage напрямую и не обходите аутентификацию, требуемую для публикации.

## Создание сборки через редактор формы

1. Откройте точный URL New build, указанный выше.
2. Проверьте, восстановился ли существующий черновик браузера, и подтвердите состояние автосохранения.
3. Укажите чемпиона, заголовок, позицию и патч.
4. Добавьте теги цели или свои теги, а также Summoner Card, если это требуется.
5. Используйте + Add block или команду /, чтобы добавить нужные блоки.
6. Заполните каждый блок, затем расположите их в порядке чтения.
7. Откройте Preview и проверьте все ошибки валидации и итоговый публичный документ.
8. Публикуйте только в рамках запроса пользователя и только после успешной аутентификации и валидации.

## Поддерживаемые типы блоков

| Имя для пользователей | Канонический тип | Сырая директива |
| --- | --- | --- |
| Текст | `text` | `CommonMark paragraph` |
| Заголовок 1 | `heading1` | `##` |
| Заголовок 2 | `heading2` | `###` |
| Сборка предметов | `ItemBuild` | `opgg lol ItemBuild` |
| Сборка рун | `RuneBuild` | `opgg lol RuneBuild` |
| Классическая сборка рун | `ClassicRuneBuild` | `opgg lol ClassicRuneBuild 1` |
| Классическая сборка талантов | `ClassicMasteryBuild` | `opgg lol ClassicMasteryBuild 1` |
| Порядок умений | `SkillOrder` | `opgg lol SkillOrder` |
| Заклинания призывателя | `SummonerSpells` | `opgg lol SummonerSpells` |
| Тир-лист | `TierList` | `opgg lol TierList` |
| Планировщик маршрута леса | `JungleRoute` | `opgg lol JungleRoute` |
| Предпросмотр ссылки | `LinkEmbed` | `opgg lol LinkEmbed 1` |
| Запись матча | `MatchRecord` | `opgg lol MatchRecord 1` |
| YouTube | `YouTube` | `opgg YouTube` |
| Summoner Card | `SummonerCard` | Нередактируемая капсула; добавляется из формы |

Не показывайте opaque или hr как обычные блоки, добавляемые пользователем. SummonerCard — это фиксированная капсула, а не повторяемый блок содержимого.

## Формат документа сырого Markdown

Исходник конструктора — это формат документа OP.GG, встроенный в Markdown. Он отличается от CommonMark, который используется для отображения этой справки.

```markdown
# Ahri mid build

---
GameMode: LIVE
Champion: Ahri
Position: mid
Patch: latest
> Пример сборки для линии
---

## Как играть

Опишите план здесь.
```

- Первый H1 — это заголовок сборки.
- Раздел метаданных размещается между разделителями --- сразу после H1.
- GameMode должен быть RANKED или CLASSIC и определяет набор ассетов документа.
- Position должен быть top, jungle, mid, adc или support.
- Отображаемые заголовки H2 и H3 соответствуют блокам builder heading1 и heading2.

## Ссылки на ассеты

Используйте стабильные Riot ID в токенах исходника вместо отображаемых имён, зависящих от локали.

```text
<@lol-champion-103>
<@lol-item-1054>
<@lol-spell-4>
<@lol-rune-8005>
<@lol-shard-5008>
<@lol-skill-103-Q>
```

- Токены чемпиона, предмета, заклинания, руны и осколка требуют положительных целочисленных ID.
- Токены умений требуют положительного ID чемпиона и заглавных Q, W, E или R.
- Не используйте устаревшие ссылки на ассеты opgg:// в новом исходнике.
- Имена и иконки определяются по текущей локали и выбранному патчу при рендеринге.

## Справочник структурированных блоков

Приведённые ниже валидные примеры генерируются текущим сериализатором. Сохраняйте порядок compact-list, строки в кавычках, числовые ID и заглавные enum-значения без изменений.

### Сборка предметов (`ItemBuild`)

- Использовать, когда: делитесь выбором стартовых, ботинок, основных и ситуативных предметов
- Путь в интерфейсе: + Add block → Сборка предметов, или введите / в пустом абзаце и выберите Сборка предметов.
- Сырая директива: `opgg lol ItemBuild`
- Сериализованные поля по порядку: `starter, boots, core, situational`
- Требование к созданию: используйте массивы, совместимые с сериализатором, содержащие положительные ID предметов
- Успешное состояние: четыре группы предметов отображаются в порядке сериализации
- Частая ошибка: обязательное поле не в виде массива делает блок недействительным; неположительные ID или отображаемые имена могут не сопоставиться с ассетами

Валидный пример, сгенерированный сериализатором:

````markdown
```opgg lol ItemBuild latest
starter: [1054]
boots: [3020]
core: [6655,3089]
situational: []
```
````

Частый некорректный пример:

````markdown
```opgg lol ItemBuild latest
starter: 1054
boots: []
core: []
situational: []
```
````

### Сборка рун (`RuneBuild`)

- Использовать, когда: делитесь путями рун, выбранными рунами и осколками характеристик
- Путь в интерфейсе: + Add block → Сборка рун, или введите / в пустом абзаце и выберите Сборка рун.
- Сырая директива: `opgg lol RuneBuild`
- Сериализованные поля по порядку: `primaryStyle, secondaryStyle, primaryRunes, secondaryRunes, shards`
- Требование к созданию: сохраняйте числовые enum путей, созданные сериализатором, и положительные ID рун или осколков
- Успешное состояние: отображаются обе ветки, выбранные руны и осколки
- Частая ошибка: обязательный список рун не в виде массива делает блок недействительным; нестандартные стили или ссылки могут не отрендериться как задумано

Валидный пример, сгенерированный сериализатором:

````markdown
```opgg lol RuneBuild latest
primaryStyle: 8000
secondaryStyle: 8100
primaryRunes: [8005,8009,9103,8014]
secondaryRunes: [8126,8141]
shards: [5008,5010,5001]
```
````

Частый некорректный пример:

````markdown
```opgg lol RuneBuild latest
primaryStyle: 8000
secondaryStyle: 8100
primaryRunes: 8005
secondaryRunes: []
shards: []
```
````

### Классическая сборка рун (`ClassicRuneBuild`)

- Использовать, когда: делитесь классической страницей рун на 30 слотов
- Путь в интерфейсе: + Add block → Классическая сборка рун, или введите / в пустом абзаце и выберите Классическая сборка рун.
- Сырая директива: `opgg lol ClassicRuneBuild 1`
- Сериализованные поля по порядку: `ruleset, slots`
- Требование к созданию: используйте ruleset CLASSIC_1 не более чем с 30 парами слот-руна; каждый слот должен быть уникальным целым числом от 1 до 30, каждый ID руны должен быть положительным целым числом, и каждая руна должна соответствовать типу своего слота
- Успешное состояние: каждая выбранная классическая руна отображается в слоте подходящего типа
- Частая ошибка: неподдерживаемый ruleset, дублирующийся слот, руна в несовместимом типе слота или неизвестная руна JADE блокируют публикацию

Валидный пример, сгенерированный сериализатором:

````markdown
```opgg lol ClassicRuneBuild 1
ruleset: CLASSIC_1
slots: [[1,775253],[10,775317]]
```
````

Частый некорректный пример:

````markdown
```opgg lol ClassicRuneBuild 1
ruleset: CLASSIC_1
slots: [[1,5273],[1,5317]]
```
````

### Классическая сборка талантов (`ClassicMasteryBuild`)

- Использовать, когда: делитесь распределением очков в классических деревьях талантов
- Путь в интерфейсе: + Add block → Классическая сборка талантов, или введите / в пустом абзаце и выберите Классическая сборка талантов.
- Сырая директива: `opgg lol ClassicMasteryBuild 1`
- Сериализованные поля по порядку: `ruleset, ranks`
- Требование к созданию: используйте ruleset CLASSIC_1 не более чем с 60 парами mastery-ID и rank; каждый положительный ID таланта может встречаться один раз, ранги должны быть целыми числами от 1 до 5 и не должны превышать максимальный ранг таланта, требования-предшественники должны быть выполнены, а сумма не должна превышать 30 очков
- Успешное состояние: выбранные ранги отображаются в классических деревьях талантов
- Частая ошибка: неподдерживаемый ruleset, дублирующийся талант, неверный ранг или неизвестный талант JADE блокируют публикацию

Валидный пример, сгенерированный сериализатором:

````markdown
```opgg lol ClassicMasteryBuild 1
ruleset: CLASSIC_1
ranks: [[512,4],[514,2]]
```
````

Частый некорректный пример:

````markdown
```opgg lol ClassicMasteryBuild 1
ruleset: CLASSIC_1
ranks: [[511,1],[511,4]]
```
````

### Порядок умений (`SkillOrder`)

- Использовать, когда: показываете приоритет умений и порядок по уровням
- Путь в интерфейсе: + Add block → Порядок умений, или введите / в пустом абзаце и выберите Порядок умений.
- Сырая директива: `opgg lol SkillOrder`
- Сериализованные поля по порядку: `priority, order`
- Требование к созданию: приоритет и порядок могут содержать только Q, W, E и R
- Успешное состояние: приоритет и последовательность отображаются в сохранённом порядке
- Частая ошибка: неизвестный ключ умения делает блок недействительным

Валидный пример, сгенерированный сериализатором:

````markdown
```opgg lol SkillOrder latest
priority: [Q,E,W,R]
order: [Q,E,W,Q,Q,R]
```
````

Частый некорректный пример:

````markdown
```opgg lol SkillOrder latest
priority: [Q,X,W,R]
order: [Q,X]
```
````

### Заклинания призывателя (`SummonerSpells`)

- Использовать, когда: рекомендуете пару заклинаний призывателя
- Путь в интерфейсе: + Add block → Заклинания призывателя, или введите / в пустом абзаце и выберите Заклинания призывателя.
- Сырая директива: `opgg lol SummonerSpells`
- Сериализованные поля по порядку: `spells`
- Требование к созданию: используйте массив положительных целочисленных ID заклинаний
- Успешное состояние: выбранная пара заклинаний отображается
- Частая ошибка: значение spells не в виде массива делает блок недействительным; неположительные ID или отображаемые имена могут не сопоставиться с заклинаниями

Валидный пример, сгенерированный сериализатором:

````markdown
```opgg lol SummonerSpells latest
spells: [4,12]
```
````

Частый некорректный пример:

````markdown
```opgg lol SummonerSpells latest
spells: 4
```
````

### Тир-лист (`TierList`)

- Использовать, когда: ранжируете ассеты чемпионов, предметов или рун по подписанным рядам
- Путь в интерфейсе: + Add block → Тир-лист, или введите / в пустом абзаце и выберите Тир-лист.
- Сырая директива: `opgg lol TierList`
- Сериализованные поля по порядку: `schemaVersion, segment, assetType, preset, rows, unranked, ```, ## Synergy, > Teamfight impact, ```opgg lol TierList latest, schemaVersion, segment, index, ```, ### Best, Reliable pairings, ```opgg lol TierList latest, schemaVersion, segment, index, ```, ### Good, ```opgg lol TierList latest, schemaVersion, segment`
- Требование к созданию: в тире должен быть размещён хотя бы один корректный ассет
- Успешное состояние: ряды, ID палитры, описания и ранжированные ассеты отображаются по порядку
- Частая ошибка: неизвестный enum, ID цвета, дублирующийся ассет или пустая ранжированная область блокируют публикацию

Валидный пример, сгенерированный сериализатором:

````markdown
```opgg lol TierList latest
schemaVersion: 1
segment: START
assetType: CHAMPION
preset: SYNERGY
rows: [[1,[79]],[4,[75]]]
unranked: []
```

## Synergy

> Teamfight impact

```opgg lol TierList latest
schemaVersion: 1
segment: ROW
index: 0
```

### Best

Reliable pairings

```opgg lol TierList latest
schemaVersion: 1
segment: ROW
index: 1
```

### Good

```opgg lol TierList latest
schemaVersion: 1
segment: END
```
````

Частый некорректный пример:

````markdown
```opgg lol TierList latest
schemaVersion: 1
segment: START
assetType: CHAMPION
preset: CUSTOM
rows: [[99,[103]],[2,[]]]
unranked: []
```

## Matchups

```opgg lol TierList latest
schemaVersion: 1
segment: ROW
index: 0
```

### S

```opgg lol TierList latest
schemaVersion: 1
segment: ROW
index: 1
```

### A

```opgg lol TierList latest
schemaVersion: 1
segment: END
```
````

### Планировщик маршрута леса (`JungleRoute`)

- Использовать, когда: описываете и сравниваете маршруты леса
- Путь в интерфейсе: + Add block → Планировщик маршрута леса, или введите / в пустом абзаце и выберите Планировщик маршрута леса.
- Сырая директива: `opgg lol JungleRoute`
- Сериализованные поля по порядку: `map, title, plans`
- Требование к созданию: хотя бы один план должен содержать два или более посещений; введённое время прибытия должно строго возрастать
- Успешное состояние: упорядоченный маршрут отображается на миникарте и в списке посещений
- Частая ошибка: невозрастающее введённое время прибытия делает маршрут неполным

Валидный пример, сгенерированный сериализатором:

````markdown
```opgg lol JungleRoute latest
map: 1
title: "Blue-side opening"
plans: [[PLAN_A,"Primary route",[[5,CLEAR,95],[4,CLEAR,120]]],[PLAN_B,"Alternative route",[]]]
```
````

Частый некорректный пример:

````markdown
```opgg lol JungleRoute latest
map: 1
title: "Opening"
plans: [[PLAN_A,"Primary",[[5,CLEAR,120,""],[4,CLEAR,95,""]]],[PLAN_B,"Alternative",[]]]
```
````

### Предпросмотр ссылки (`LinkEmbed`)

- Использовать, когда: показываете поддерживаемую внешнюю страницу как предпросмотр
- Путь в интерфейсе: + Add block → Предпросмотр ссылки, или введите / в пустом абзаце и выберите Предпросмотр ссылки.
- Сырая директива: `opgg lol LinkEmbed 1`
- Сериализованные поля по порядку: `url`
- Требование к созданию: используйте один синтаксически корректный абсолютный URL http или https
- Успешное состояние: открывается нужный предпросмотр ссылки
- Частая ошибка: небезопасный или некорректный URL делает блок недействительным; отдельно проверьте получившийся предпросмотр

Валидный пример, сгенерированный сериализатором:

````markdown
```opgg lol LinkEmbed 1
url: "http://www.op.gg/"
```
````

Частый некорректный пример:

````markdown
```opgg lol LinkEmbed 1
url: "javascript:alert(1)"
```
````

### Запись матча (`MatchRecord`)

- Использовать, когда: ссылаетесь на одного участника из конкретного матча OP.GG
- Путь в интерфейсе: + Add block → Запись матча, или введите / в пустом абзаце и выберите Запись матча.
- Сырая директива: `opgg lol MatchRecord 1`
- Сериализованные поля по порядку: `match`
- Требование к созданию: должны быть корректны регион, game ID, положительный timestamp и participant ID от 1 до 32
- Успешное состояние: открываются нужный игрок и запись матча
- Частая ошибка: неподдерживаемый регион, некорректный game ID, timestamp или participant ID делает блок недействительным

Валидный пример, сгенерированный сериализатором:

````markdown
```opgg lol MatchRecord 1
match: [KR,"KR_1234567890",1785141570000,4]
```
````

Частый некорректный пример:

````markdown
```opgg lol MatchRecord 1
match: [KR,"KR_1234567890",1785141570000,0]
```
````

### YouTube (`YouTube`)

- Использовать, когда: встраиваете одно релевантное видео YouTube
- Путь в интерфейсе: + Add block → YouTube, или введите / в пустом абзаце и выберите YouTube.
- Сырая директива: `opgg YouTube`
- Сериализованные поля по порядку: `videoId`
- Требование к созданию: используйте поддерживаемый YouTube video ID
- Успешное состояние: загружается нужный видеоплеер
- Частая ошибка: некорректный или неподдерживаемый video ID блокирует публикацию

Валидный пример, сгенерированный сериализатором:

````markdown
```opgg YouTube
videoId: M7lc1UVf-VE
```
````

Частый некорректный пример:

````markdown
```opgg YouTube
videoId: not-a-video-id
```
````

## Проверка предпросмотра и публикации

Считайте эти коды внутренними идентификаторами. Объясняйте пользователю действие по восстановлению, а не только сам код.

| Внутренний код | Смысл | Восстановление |
| --- | --- | --- |
| `EMPTY_TITLE` | Заголовок сборки пуст. | Введите заголовок. |
| `EMPTY_BODY` | Нет публикуемого содержимого. | Добавьте текст или поддерживаемый блок. |
| `EMPTY_TIER_LIST` | В Tier List нет ни одного ранжированного ассета. | Переместите хотя бы один ассет в тир. |
| `INCOMPLETE_JUNGLE_ROUTE` | Ни в одном маршруте нет двух или более посещений, либо введённое время прибытия не возрастает. | Завершите один маршрут и исправьте порядок времени прибытия. |
| `INCOMPATIBLE_GAME_MODE_BLOCK` | Блок недоступен в выбранном режиме игры документа. | Измените GameMode или замените блок на поддерживаемый этим режимом. |
| `INVALID_CLASSIC_BUILD` | Классический слот руны или распределение талантов нарушает правила Classic. | Для Classic-рун сопоставьте каждую руну с её типом слота. Для Classic-талантов не превышайте максимум ранга у каждого таланта, выполните требования-предшественники и не превышайте 30 очков. |
| `INVALID_MATCH_RECORD_FENCE` | Ссылка MatchRecord недействительна. | Вставьте корректную ссылку на матч OP.GG и проверьте её снова. |
| `INVALID_LINK_EMBED_FENCE` | Ссылка LinkEmbed недействительна. | Используйте корректный URL в поддерживаемом формате. |
| `INVALID_YOUTUBE_FENCE` | Ссылка YouTube недействительна. | Используйте поддерживаемый URL YouTube или video ID. |
| `INVALID_GAME_MODE_METADATA` | Метаданные GameMode не равны RANKED или CLASSIC. | Установите GameMode в RANKED или CLASSIC. |
| `INVALID_SUMMONER_CARD_CAPSULE` | Фиксированная капсула SummonerCard недействительна. | Удалите её или снова выберите аккаунт Riot в режиме формы. |
| `OPAQUE_DIAGNOSTIC` | Сохранённое сырое содержимое содержит диагностику. | Исправьте или удалите диагностированный сырой исходник. |
| `FORM_CONVERSION_BLOCKED` | Сырое содержимое нельзя безопасно преобразовать в блоки формы. | Исправьте все ошибки сырого исходника перед возвратом в режим формы. |

## Редактирование или дублирование существующей сборки

- При редактировании опубликованного гайда чемпион, позиция и патч заблокированы.
- Чтобы перейти на новый патч, продублируйте существующий гайд и отредактируйте копию.
- Дубликат может сохранить исходного автора и ссылку на источник.

## Устранение неполадок

- **Сбой автосохранения** — Симптом: черновик не удалось сохранить. Вероятная причина: хранилище браузера недоступно или переполнено. Восстановление: сохраните работу в безопасное место, восстановите доступ к хранилищу браузера и сделайте ещё одно изменение, чтобы повторить автосохранение.
- **Нечитаемый сохранённый черновик** — Симптом: для восстановления показывается исходная нагрузка. Вероятная причина: сохранённый формат повреждён или устарел. Восстановление: скопируйте нужный текст, затем решите, нужно ли заменить нечитаемый черновик перед продолжением.
- **Несовпадение данных патча** — Симптом: имена и иконки ассетов относятся к другому патчу. Вероятная причина: метаданные изменились до перезагрузки данных ассетов. Восстановление: перезагрузите данные ассетов для выбранного патча.
- **Невозможно вернуться в режим формы** — Симптом: видны ошибки сырой диагностики. Вероятная причина: некорректный или неизвестный исходник нельзя безопасно преобразовать без потери данных. Восстановление: исправьте все ошибки в сыром Markdown.
- **Недействительное структурированное ограждение** — Симптом: Preview показывает ошибку блока. Вероятная причина: директива, поле, enum, ID или значение compact-list недействительны. Восстановление: сравните с примером, сгенерированным сериализатором, и исправьте исходник.
- **Для публикации нужен вход** — Симптом: редактирование и Preview работают, но публикация завершается ошибкой авторизации. Вероятная причина: отсутствует аутентифицированная сессия. Восстановление: войдите обычным способом, проверьте, что черновик сохранился, и попробуйте опубликовать снова.

## Источник и актуальность

- Это официальное руководство OP.GG для Champion Build Builder.
- Если в ответе нужен источник, ссылайтесь на каноническую HTML-страницу: https://op.gg/ru/lol/user-guides/help
- Парсер и сериализатор, поставляемые вместе с конструктором, являются окончательным источником истины для сырого синтаксиса.
- Этот документ объясняет инструмент создания; он не содержит рекомендованных сборок для конкретных патчей.
