Greasy Fork is available in English.

Quest Runner — Mapper

Veri işleme katmanı

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(У мене вже є менеджер скриптів, дайте мені встановити його!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

Автор
Luke James gibson
Щоденних встановлень
0
Всього встановлень
0
Рейтинги
0 0 0
Версія
0.1
Створено
01.03.2026
Оновлено
01.03.2026
Size
15,3 кБ
Ліцензія
MIT
Відноситься до

Quest Runner — Mapper

Veri işleme katmanı. Quest parse, harita grafiği, import/export ve yön normalizasyonu.


İçindekiler


Kurulum

Gereksinimler

  • Quest Runner — Engine yüklü ve çalışır durumda olmalı
  • Tampermonkey'de Engine'den sonra, UI'dan önce çalışmalı

Yükleme Sırası

1. Quest Runner — Engine   ← önce
2. Quest Runner — Mapper   ← bu script
3. Quest Runner — UI       ← son

Adım Adım

  1. Tampermonkey → "Yeni Script Oluştur"
  2. Quest Runner — Mapper.user.js içeriğini yapıştır
  3. Ctrl+S kaydet
  4. Dashboard'da sıralamayı kontrol et: Engine → Mapper → UI

Özellikler

Çok Dilli Yön Desteği

Türkçe, İngilizce, Portekizce ve kısaltmalar desteklenir. Tüm girişler standart PascalCase yön adlarına normalize edilir.

Giriş Normalize
N, K, KUZEY, NORTE North
NE, KD, KUZEYDOGU, NORDESTE NorthEast
UP, Y, YUKARI Up
DOWN, A, ASAGI Down

Quest Parser — İki Format

Basit format (yeni, kullanıcı dostu):

North South East
Use Icy Caverns
16 minutes
Arrival Icy Caverns

Klasik format (tam kontrol):

move North
move South East
use_item ? @ Icy Caverns
passage 16min
checkpoint LABEL

İkisi aynı dosyada karışık kullanılabilir.

Quest Store

Tüm questler localStorage'da qr_quests anahtarı altında JSON olarak saklanır.

Metod Açıklama
QR.quests.load() Tüm questleri döndür
QR.quests.get(id) ID ile quest getir
QR.quests.upsert(quest) Kaydet veya güncelle (versiyon geçmişi tutar)
QR.quests.new(name, text) Parse edip yeni quest oluştur
QR.quests.copy(srcId, name) Mevcut questi kopyala
QR.quests.delete(id) Sil
QR.quests.createVariant(srcId, stepIdx, newItem) Item varyantı oluştur

Harita Grafiği

Mapper hareketi otomatik takip eder ve oda-geçit grafiği oluşturur.

Kaydedilen veriler:

  • Oda adı
  • Aktif çıkış yönleri
  • Odadaki eşyalar
  • Kaç kez ziyaret edildiği
  • Son görülme zamanı
  • Kenar bilgisi (nereden, hangi yönle, nereye)

Export Formatları

JSON: Ham graf verisi, yedekleme ve import için.

Quest Taslağı: Haritadan otomatik move ve use_item satırları üretir, doğrudan quest olarak kaydedilebilir.

# Icy Caverns
move East
move SouthEast
# use_item Uzun ve Dolambaçlı Patika @ Icy Caverns

North Pole Seed

İlk yüklemede north-pole quest'i otomatik oluşturulur. ICY CAVERNS → ICEPEAK MOUNTAIN → BLINDING BLIZZARD → FIREPLACE → TREE rotasını içerir. Tüm use_item adımları ? formatında — lokasyonda tek item varsa otomatik kullanılır.


Kullanım Adımları

1. Quest Oluşturma (Admin Paneli)

  1. Herhangi bir sayfada 🗺️ float butonuna tıkla
  2. Admin → Quests → Yeni Quest
  3. Quest adı gir
  4. Adımları metin alanına yaz (basit veya klasik format)
  5. Parse ile önizle — adım sayısı, toplam süre, item listesi görünür
  6. Kaydet

2. Quest Oluşturma (Metin Import)

Admin → Quests → Import → Plain text seç → yapıştır → quest adı gir → Import.

3. Haritadan Quest Oluşturma

  1. Compass sayfasında Map butonunu aktif et (turuncu = açık)
  2. Harita modunda gezin — her hareket otomatik kaydedilir
  3. Admin → Harita → Taslak
  4. Oluşan taslağı kopyala veya Aktar ile doğrudan quest yap

4. Quest Export / Yedekleme

Admin → Quests → Export → Plain text veya JSON DB → kopyala, sakla.

JSON DB'yi başka bir karaktere veya tarayıcıya aktarmak için Admin → Import → JSON DB seç.

5. Item Varyantı

Quest çalışırken ambiguous item dialogu açılırsa doğru item seçilir. Seçim ilk kez yapılıyorsa ve quest text'indeki item adından farklıysa, otomatik olarak varyant quest oluşturulur (orijinal bozulmaz).


Quest Format Referansı

Adım Tipleri

Satır Tip Açıklama
North move Tek yön hareketi
North South East move × 3 Üç ayrı hareket adımı
move North move Klasik format
`[North\ NorthEast]` move (branch)
use_item ? @ Icy Caverns use_item Lokasyonda tek item varsa kullan
use_item Patika @ Icy Caverns use_item İsimle eşleştir
Use Icy Caverns use_item Basit format — ? ile aynı
passage 16min passage Yolculuk başlat, 16 dk bekle
16 minutes passage Basit format
wait 5min wait Sadece bekle, item kullanma
checkpoint LABEL checkpoint Kayıt noktası
Arrival Icy Caverns checkpoint Basit format → ARRIVAL_ICY_CAVERNS
# yorum Görmezden gel
// yorum Görmezden gel

Basit Format — Tam Örnek

North South East
Use Icy Caverns
16 minutes

Arrival Icy Caverns
North NorthWest West NorthEast
Use Icepeak Mountain
20 minutes

Klasik Format — Tam Örnek

# ICY CAVERNS - Yol
checkpoint ICY_PATH_START
move East SouthEast South Down
use_item ? @ Icy Caverns

# ICY CAVERNS - Dönüş
checkpoint ICY_RETURN
move West North Up
passage 16min

Branch Hareketi

Sayfada hangi yönün aktif olduğu keşif sırasında değişebilir. Branch birden fazla alternatif tanımlar:

move [North|NorthEast]

Aktif yönler arasında North varsa North, yoksa NorthEast denenir.


SSS / QA

S: "Quest yok" diyerek boş görünüyor.
C: Mapper Engine'den sonra yüklenmiş olmalı. Tampermonkey sırasını kontrol et. Sonra sayfayı yenile.

S: North Pole seed her seferinde sıfırlanıyor.
C: Hayır. db['north-pole'] kontrolü var — sadece hiç yoksa oluşturulur. Varsa dokunulmaz.

S: Kendi quest'imi North Pole seed'in üzerine yazabilir miyim?
C: Admin → Quests → North Pole → Düzenle. Builtin işareti kaybolmaz ama içerik değişir.

S: Parse çalışmıyor, adımlar görünmüyor.
C: # ile başlayan satırlar yorum sayılır. Yön adlarının tam yazıldığından emin ol. Parse butonu hata listesi gösterir.

S: Harita modu açıkken yavaşlıyor mu?
C: Harita modu sadece sayfa yüklenince bir kez recordRoom çağırır. Bellek kullanımı azdır.

S: use_item ? birden fazla item bulursa ne olur?
C: Ambiguous item dialogu açılır, kullanıcı seçer. Seçim ilk kez yapılıyorsa varyant quest oluşturulur.

S: localStorage ne kadar veri saklar?
C: Tarayıcı başına genellikle 5–10 MB. Quest DB büyürse Admin → Quests'ten kullanılmayan questleri sil.

S: Export ettiğim JSON'u başka bir bilgisayarda kullanabilir miyim?
C: Evet. Admin → Import → JSON DB → yapıştır. Tüm questler aktarılır.


Değişiklik Günlüğü

v0.1 — İlk Sürüm (Modüler Ayrım)

  • Yeni: Engine ve UI'den ayrıldı, bağımsız Mapper scripti
  • Yeni: Basit import formatı: Use <Loc>, <N> minutes, Arrival <Label>
  • Yeni: use_item ? — null item ile lokasyondaki tek item otomatik
  • Taşındı: DIR map, resolveDir, cleanToken
  • Taşındı: parseText, parseDirToken, trySimpleLine, extractMin, parseUseItem
  • Taşındı: QStore (load/save/upsert/copy/createVariant/new)
  • Taşındı: Mapper graph (recordRoom/recordEdge/snapshot)
  • Taşındı: exportJSON, exportDraft, buildMapHTML
  • Taşındı: North Pole seed
  • Düzeltildi: North Pole seed'deki # use_item satırları aktif use_item ? adımına çevrildi
  • QR.mapperReady event'i eklendi