---
title: "Panduan penggunaan editor build champion OP.GG"
description: "Referensi penulisan, sumber Markdown, validasi, dan pemulihan untuk asisten AI dan agen browser."
language: id
canonical: https://op.gg/id/lol/user-guides/help
---

# Panduan penggunaan editor build champion OP.GG

> Petunjuk untuk asisten AI dan agen browser yang menjelaskan atau menggunakan editor build champion OP.GG.

Ini adalah panduan Bahasa Indonesia yang bisa dibaca mesin untuk editor versi saat ini.

- Halaman HTML kanonis: https://op.gg/id/lol/user-guides/help
- URL Markdown: https://op.gg/id/lol/user-guides/help.md
- URL untuk membuat build: https://op.gg/id/lol/user-guides/new
- URL daftar build: https://op.gg/id/lol/user-guides/classic

## Pilih mode penulisan

- Gunakan editor formulir secara default.
- Gunakan sumber Markdown hanya jika pengguna meminta format sumber atau jika perubahan teks yang besar perlu diedit secara langsung.
- Sebelum memuat contoh atau mengganti konten, periksa draf yang ada dan status penyimpanan otomatisnya.
- Selalu periksa Pratinjau dan hasil validasinya sebelum memublikasikan.

## Autentikasi dan penyimpanan draf

- Draf tersimpan secara lokal di browser yang sedang digunakan.
- Draf tidak otomatis muncul di browser atau perangkat lain.
- Setelah panduan berhasil dipublikasikan, draf panduan tersebut akan dihapus dari browser ini.
- Sumber Markdown adalah mode lanjutan untuk mengedit struktur dokumen secara langsung.
- Jika ada masalah di sumber Markdown, kamu mungkin perlu memperbaiki semua masalah yang ditandai sebelum bisa kembali ke formulir.
- Kartu Summoner adalah konten tetap yang hanya dapat diedit melalui formulir.
- Jangan ubah localStorage secara langsung atau lewati autentikasi yang diperlukan untuk publikasi.

## Buat build lewat editor formulir

1. Buka URL pembuatan build yang tercantum di atas.
2. Periksa apakah browser memulihkan draf lama dan pastikan status penyimpanan otomatisnya.
3. Tentukan champion, judul, posisi, dan patch.
4. Tambahkan tag tujuan atau tag kustom serta Kartu Summoner opsional jika diminta.
5. Gunakan “+ Tambahkan blok” atau perintah / untuk menambahkan blok yang diperlukan.
6. Lengkapi setiap blok, lalu susun agar panduan mudah dibaca.
7. Buka Pratinjau, periksa setiap masalah validasi, lalu lihat tampilan akhir panduan untuk pembaca.
8. Publikasikan hanya dalam cakupan yang diminta pengguna, setelah autentikasi dan validasi berhasil.

## Jenis blok yang didukung

| Nama yang dilihat pengguna | Tipe kanonis | Direktif sumber |
| --- | --- | --- |
| Build Augment | `AugmentBuild` | `opgg lol AugmentBuild` |
| Teks | `text` | `CommonMark paragraph` |
| Judul tingkat 1 | `heading1` | `##` |
| Judul tingkat 2 | `heading2` | `###` |
| Build item | `ItemBuild` | `opgg lol ItemBuild` |
| Build rune | `RuneBuild` | `opgg lol RuneBuild` |
| Build rune Classic | `ClassicRuneBuild` | `opgg lol ClassicRuneBuild 1` |
| Build Mastery Classic | `ClassicMasteryBuild` | `opgg lol ClassicMasteryBuild 1` |
| Urutan ability | `SkillOrder` | `opgg lol SkillOrder` |
| Summoner Spell | `SummonerSpells` | `opgg lol SummonerSpells` |
| Tier list | `TierList` | `opgg lol TierList` |
| Perencana rute jungle | `JungleRoute` | `opgg lol JungleRoute` |
| Pratinjau tautan | `LinkEmbed` | `opgg lol LinkEmbed 1` |
| Catatan pertandingan | `MatchRecord` | `opgg lol MatchRecord 1` |
| YouTube | `YouTube` | `opgg YouTube` |
| Kartu Summoner | `SummonerCard` | Bagian khusus hanya baca. Tambahkan lewat formulir. |

Kecualikan opaque dan hr dari blok biasa yang dapat ditambahkan pengguna. SummonerCard adalah bagian tetap yang hanya muncul sekali, di luar isi utama.

## Format dokumen sumber Markdown

Sumber editor memakai format dokumen OP.GG yang disematkan dalam Markdown. Halaman bantuan ini menggunakan CommonMark.

```markdown
# Build Ahri mid

---
GameMode: LIVE
Champion: Ahri
Position: mid
Patch: latest
> Contoh build yang berfokus pada fase laning
---

## Cara bermain

Jelaskan rencanamu di sini.
```

- H1 pertama adalah judul build.
- Bagian metadata ditempatkan di antara dua pembatas --- tepat setelah H1.
- GameMode menerima RANKED, CLASSIC, atau MAYHEM dan menentukan kumpulan aset untuk dokumen.
- Position harus bernilai top, jungle, mid, adc, atau support.
- Judul H2 dan H3 yang tampil masing-masing menggunakan blok heading1 dan heading2 di editor.

## Referensi aset

Gunakan ID Riot yang tetap untuk token dalam sumber. Nama tampilan berbeda-beda menurut bahasa.

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

- Token champion, item, spell, rune, shard, dan Augment memerlukan ID bilangan bulat positif.
- Token skill memerlukan ID champion positif serta huruf kapital Q, W, E, atau R.
- Jangan gunakan tautan aset opgg:// lama dalam sumber baru.
- Saat ditampilkan, nama dan ikon diambil sesuai bahasa saat ini dan patch yang dipilih.

## Referensi blok terstruktur

Contoh valid di bawah dihasilkan oleh serializer saat ini. Pertahankan urutan daftar ringkas, string dalam tanda kutip, ID numerik, dan nilai enum dalam huruf kapital.

### Build Augment (`AugmentBuild`)

- Kapan digunakan: untuk memilih Augment inti, alternatif, dan sinergi
- Langkah di antarmuka: “+ Tambahkan blok” → Build Augment, atau ketik / di paragraf kosong lalu pilih Build Augment.
- Direktif sumber: `opgg lol AugmentBuild`
- Urutan field dalam data yang diserialisasi: `schemaVersion, core, alternatives, synergy`
- Persyaratan penulisan: gunakan mode Mayhem dan maksimal 8 ID numerik Augment per grup
- Hasil yang diharapkan: Augment yang dipilih tampil sesuai urutan grup
- Kesalahan umum: ID ganda atau tidak dikenal menghalangi publikasi

Contoh valid dari serializer:

````markdown
```opgg lol AugmentBuild latest
schemaVersion: 1
core: [1001]
alternatives: [1002]
synergy: []
```
````

Contoh umum yang tidak valid:

````markdown
```opgg lol AugmentBuild latest
schemaVersion: 1
core: [1,1]
alternatives: []
synergy: []
```
````

### Build item (`ItemBuild`)

- Kapan digunakan: untuk membagikan pilihan item awal, sepatu, item inti, dan item situasional
- Langkah di antarmuka: “+ Tambahkan blok” → Build item, atau ketik / di paragraf kosong lalu pilih Build item.
- Direktif sumber: `opgg lol ItemBuild`
- Urutan field dalam data yang diserialisasi: `starter, boots, core, situational`
- Persyaratan penulisan: gunakan array berisi ID item positif yang kompatibel dengan serializer
- Hasil yang diharapkan: keempat grup item tampil sesuai urutan dalam data yang diserialisasi
- Kesalahan umum: kolom wajib yang bukan array membuat blok kode tidak valid. ID yang tidak positif atau nama tampilan mungkin tidak dapat dicocokkan dengan aset

Contoh valid dari serializer:

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

Contoh umum yang tidak valid:

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

### Build rune (`RuneBuild`)

- Kapan digunakan: untuk membagikan jalur rune, rune terpilih, dan shard stat
- Langkah di antarmuka: “+ Tambahkan blok” → Build rune, atau ketik / di paragraf kosong lalu pilih Build rune.
- Direktif sumber: `opgg lol RuneBuild`
- Urutan field dalam data yang diserialisasi: `primaryStyle, secondaryStyle, primaryRunes, secondaryRunes, shards`
- Persyaratan penulisan: pertahankan nilai enum numerik untuk jalur yang dihasilkan serializer serta ID rune atau shard yang positif
- Hasil yang diharapkan: kedua jalur, rune terpilih, dan shard tampil
- Kesalahan umum: daftar rune wajib yang bukan array membuat blok kode tidak valid. Jalur atau referensi nonkanonis mungkin tidak tampil sebagaimana mestinya

Contoh valid dari serializer:

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

Contoh umum yang tidak valid:

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

### Build rune Classic (`ClassicRuneBuild`)

- Kapan digunakan: untuk membagikan halaman rune Classic dengan 30 slot
- Langkah di antarmuka: “+ Tambahkan blok” → Build rune Classic, atau ketik / di paragraf kosong lalu pilih Build rune Classic.
- Direktif sumber: `opgg lol ClassicRuneBuild 1`
- Urutan field dalam data yang diserialisasi: `ruleset, slots`
- Persyaratan penulisan: gunakan aturan CLASSIC_1 dengan maksimal 30 pasangan nomor slot dan ID rune. Setiap slot harus berupa bilangan bulat unik dari 1 hingga 30. Setiap ID rune harus berupa bilangan bulat positif dan rune harus sesuai dengan jenis slotnya
- Hasil yang diharapkan: setiap rune Classic terpilih tampil pada jenis slot yang sesuai
- Kesalahan umum: publikasi terhalang jika aturan tidak didukung, slot ganda, jenis slot tidak sesuai dengan rune, atau rune JADE tidak dikenal

Contoh valid dari serializer:

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

Contoh umum yang tidak valid:

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

### Build Mastery Classic (`ClassicMasteryBuild`)

- Kapan digunakan: untuk membagikan pembagian poin pada pohon Mastery Classic
- Langkah di antarmuka: “+ Tambahkan blok” → Build Mastery Classic, atau ketik / di paragraf kosong lalu pilih Build Mastery Classic.
- Direktif sumber: `opgg lol ClassicMasteryBuild 1`
- Urutan field dalam data yang diserialisasi: `ruleset, ranks`
- Persyaratan penulisan: gunakan aturan CLASSIC_1 dengan maksimal 60 pasangan ID Mastery dan rank. Setiap ID Mastery positif hanya boleh muncul sekali. Rank harus berupa bilangan bulat dari 1 hingga 5 dan tidak boleh melebihi batas rank Mastery tersebut. Penuhi semua prasyarat dan gunakan maksimal 30 poin secara keseluruhan
- Hasil yang diharapkan: rank terpilih tampil di pohon Mastery Classic
- Kesalahan umum: publikasi terhalang jika aturan tidak didukung, Mastery ganda, rank tidak valid, atau Mastery JADE tidak dikenal

Contoh valid dari serializer:

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

Contoh umum yang tidak valid:

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

### Urutan ability (`SkillOrder`)

- Kapan digunakan: untuk menampilkan prioritas dan urutan ability per level
- Langkah di antarmuka: “+ Tambahkan blok” → Urutan ability, atau ketik / di paragraf kosong lalu pilih Urutan ability.
- Direktif sumber: `opgg lol SkillOrder`
- Urutan field dalam data yang diserialisasi: `priority, order`
- Persyaratan penulisan: prioritas dan urutan hanya boleh berisi Q, W, E, dan R
- Hasil yang diharapkan: prioritas dan urutan tampil sesuai data yang tersimpan
- Kesalahan umum: tombol ability yang tidak dikenal membuat blok kode tidak valid

Contoh valid dari serializer:

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

Contoh umum yang tidak valid:

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

### Summoner Spell (`SummonerSpells`)

- Kapan digunakan: untuk merekomendasikan sepasang Summoner Spell
- Langkah di antarmuka: “+ Tambahkan blok” → Summoner Spell, atau ketik / di paragraf kosong lalu pilih Summoner Spell.
- Direktif sumber: `opgg lol SummonerSpells`
- Urutan field dalam data yang diserialisasi: `spells`
- Persyaratan penulisan: gunakan array ID spell berupa bilangan bulat positif
- Hasil yang diharapkan: pasangan spell terpilih tampil
- Kesalahan umum: nilai spells yang bukan array membuat blok kode tidak valid. ID yang tidak positif atau nama tampilan mungkin tidak dapat dicocokkan dengan spell

Contoh valid dari serializer:

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

Contoh umum yang tidak valid:

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

### Tier list (`TierList`)

- Kapan digunakan: untuk menempatkan champion, item, rune, atau Augment di baris berlabel berdasarkan tier
- Langkah di antarmuka: “+ Tambahkan blok” → Tier list, atau ketik / di paragraf kosong lalu pilih Tier list.
- Direktif sumber: `opgg lol TierList`
- Urutan field dalam data yang diserialisasi: `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`
- Persyaratan penulisan: setidaknya satu aset valid harus ditempatkan di tier
- Hasil yang diharapkan: baris, ID palet, deskripsi, dan aset yang sudah masuk tier tampil sesuai urutan
- Kesalahan umum: nilai enum atau ID warna yang tidak dikenal, aset ganda, atau tier list tanpa aset di tier menghalangi publikasi

Contoh valid dari serializer:

````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
```
````

Contoh umum yang tidak valid:

````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
```
````

### Perencana rute jungle (`JungleRoute`)

- Kapan digunakan: untuk menjelaskan dan membandingkan rute jungle
- Langkah di antarmuka: “+ Tambahkan blok” → Perencana rute jungle, atau ketik / di paragraf kosong lalu pilih Perencana rute jungle.
- Direktif sumber: `opgg lol JungleRoute`
- Urutan field dalam data yang diserialisasi: `map, title, plans`
- Persyaratan penulisan: setidaknya satu rute harus memiliki dua pemberhentian atau lebih. Jika diisi, waktu tiba di tiap titik harus setelah waktu di titik sebelumnya
- Hasil yang diharapkan: urutan rute tampil di minimap dan daftar pemberhentian
- Kesalahan umum: rute tidak lengkap jika ada waktu tiba yang sama atau lebih awal dari waktu sebelumnya

Contoh valid dari serializer:

````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",[]]]
```
````

Contoh umum yang tidak valid:

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

### Pratinjau tautan (`LinkEmbed`)

- Kapan digunakan: untuk menampilkan pratinjau halaman eksternal yang didukung
- Langkah di antarmuka: “+ Tambahkan blok” → Pratinjau tautan, atau ketik / di paragraf kosong lalu pilih Pratinjau tautan.
- Direktif sumber: `opgg lol LinkEmbed 1`
- Urutan field dalam data yang diserialisasi: `url`
- Persyaratan penulisan: gunakan satu URL absolut http atau https dengan sintaks yang valid
- Hasil yang diharapkan: pratinjau untuk tautan yang dimaksud tampil
- Kesalahan umum: URL yang tidak aman atau salah format membuat blok kode tidak valid. Pastikan secara terpisah bahwa pratinjau yang tampil sudah sesuai

Contoh valid dari serializer:

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

Contoh umum yang tidak valid:

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

### Catatan pertandingan (`MatchRecord`)

- Kapan digunakan: untuk merujuk satu peserta dalam pertandingan tertentu di OP.GG
- Langkah di antarmuka: “+ Tambahkan blok” → Catatan pertandingan, atau ketik / di paragraf kosong lalu pilih Catatan pertandingan.
- Direktif sumber: `opgg lol MatchRecord 1`
- Urutan field dalam data yang diserialisasi: `match`
- Persyaratan penulisan: wilayah, ID pertandingan, stempel waktu positif, dan ID peserta dari 1 hingga 32 harus valid
- Hasil yang diharapkan: pemain dan catatan pertandingan yang dimaksud berhasil dimuat
- Kesalahan umum: wilayah yang tidak didukung atau ID pertandingan, stempel waktu, maupun ID peserta yang salah format membuat blok kode tidak valid

Contoh valid dari serializer:

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

Contoh umum yang tidak valid:

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

### YouTube (`YouTube`)

- Kapan digunakan: untuk menyematkan satu video YouTube yang relevan
- Langkah di antarmuka: “+ Tambahkan blok” → YouTube, atau ketik / di paragraf kosong lalu pilih YouTube.
- Direktif sumber: `opgg YouTube`
- Urutan field dalam data yang diserialisasi: `videoId, startSeconds`
- Persyaratan penulisan: gunakan ID video YouTube yang didukung
- Hasil yang diharapkan: pemutar untuk video yang dimaksud berhasil dimuat
- Kesalahan umum: ID video yang tidak valid atau tidak didukung menghalangi publikasi

Contoh valid dari serializer:

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

Contoh umum yang tidak valid:

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

## Validasi pratinjau dan publikasi

Perlakukan kode ini sebagai ID internal. Jelaskan langkah perbaikan kepada pengguna agar mereka dapat menindaklanjutinya.

| Kode internal | Arti | Langkah pemulihan |
| --- | --- | --- |
| `EMPTY_TITLE` | Judul build masih kosong. | Masukkan judul. |
| `EMPTY_BODY` | Tidak ada isi yang dapat dipublikasikan. | Tambahkan teks atau blok yang didukung. |
| `EMPTY_TIER_LIST` | Tidak ada aset yang ditempatkan di tier dalam tier list. | Pindahkan setidaknya satu aset ke tier. |
| `INCOMPLETE_JUNGLE_ROUTE` | Tidak ada rute dengan dua pemberhentian atau lebih, atau waktu tiba yang diisi tidak bertambah. | Lengkapi satu rute dan perbaiki urutan waktu tibanya. |
| `INCOMPATIBLE_GAME_MODE_BLOCK` | Ada blok yang tidak tersedia untuk mode yang dipilih. | Ubah GameMode atau ganti blok dengan blok yang didukung mode tersebut. |
| `INVALID_CLASSIC_BUILD` | Slot rune atau alokasi Mastery tidak mengikuti aturan Classic. | Untuk rune Classic, cocokkan rune dengan jenis slotnya. Untuk Mastery Classic, jangan melebihi batas rank tiap Mastery, penuhi semua prasyarat, dan gunakan maksimal 30 poin. |
| `INVALID_MATCH_RECORD_FENCE` | Referensi MatchRecord tidak valid. | Tempel tautan pertandingan OP.GG yang valid, lalu cari kembali. |
| `INVALID_LINK_EMBED_FENCE` | Referensi LinkEmbed tidak valid. | Gunakan URL yang valid dalam format yang didukung. |
| `INVALID_YOUTUBE_FENCE` | Referensi YouTube tidak valid. | Gunakan URL YouTube atau ID video yang didukung. |
| `INVALID_GAME_MODE_METADATA` | Metadata GameMode tidak bernilai RANKED atau CLASSIC. | Atur GameMode ke RANKED atau CLASSIC. |
| `INVALID_SUMMONER_CARD_CAPSULE` | Bagian tetap SummonerCard tidak valid. | Hapus bagian tersebut atau pilih ulang akun Riot lewat editor formulir. |
| `OPAQUE_DIAGNOSTIC` | Ada masalah pada konten sumber yang dipertahankan. | Perbaiki atau hapus sumber yang bermasalah. |
| `FORM_CONVERSION_BLOCKED` | Konten sumber tidak dapat diubah dengan aman menjadi blok formulir. | Perbaiki semua masalah pada sumber sebelum kembali ke formulir. |

## Edit atau salin build yang sudah ada

- Saat mengedit panduan yang sudah dipublikasikan, champion, posisi, dan patch terkunci.
- Untuk menggunakan patch lain, buat salinan panduan, lalu edit salinannya.
- Salinan dapat mempertahankan nama penulis dan tautan sumber asli.

## Pemecahan masalah

- **Penyimpanan otomatis gagal** — Draf gagal disimpan. Penyimpanan browser mungkin penuh atau tidak tersedia. Salin pekerjaanmu ke tempat yang aman, pulihkan akses ke penyimpanan browser, lalu buat perubahan agar penyimpanan otomatis dicoba kembali.
- **Draf tersimpan tidak bisa dibaca** — Data asli ditampilkan agar dapat dipulihkan. Format penyimpanan mungkin rusak atau sudah usang. Salin teks yang diperlukan, lalu putuskan apakah draf perlu diganti sebelum melanjutkan.
- **Data berasal dari patch lain** — Nama dan ikon berasal dari patch yang berbeda. Metadata mungkin berubah sebelum data aset dimuat ulang. Muat ulang data aset untuk patch yang dipilih.
- **Tidak bisa kembali ke formulir** — Masalah di sumber masih ditampilkan. Sumber yang salah format atau tidak dikenali mungkin tidak dapat dikonversi tanpa kehilangan data. Perbaiki semua masalah yang ditandai di sumber Markdown.
- **Blok kode terstruktur tidak valid** — Pratinjau menunjukkan kesalahan pada blok. Direktif, kolom, nilai enum, ID, atau nilai daftar ringkas mungkin tidak valid. Bandingkan dengan contoh dari serializer, lalu perbaiki sumbernya.
- **Harus masuk untuk memublikasikan** — Penulisan dan Pratinjau berfungsi, tetapi publikasi gagal karena masalah otorisasi. Kamu mungkin belum masuk. Masuk seperti biasa, pastikan draf masih ada, lalu coba publikasikan lagi.

## Sumber dan versi terkini

- Ini panduan resmi OP.GG untuk editor build champion.
- Jika jawaban perlu mencantumkan sumber, rujuk halaman HTML kanonis: https://op.gg/id/lol/user-guides/help
- Parser dan serializer yang digunakan oleh editor versi aktif menentukan sintaks sumber yang valid.
- Dokumen ini hanya menjelaskan cara menggunakan editor.
