Ana içeriğe geç

Otomasyon

Tekrarlayan işleri elle yapmak yerine betikleyebilirsiniz: toplu düzenleme, dışa aktarma, karşılaştırma, hatta basit HTTP istekleri.

Komut paleti

Ctrl+K — uygulamadaki her komut aranabilir bir listede görünür. Komut adının bir kısmını yazmak yeterlidir. Bu, menüleri bilmeden bir işi bulmanın en hızlı yoludur.

Palet ayrıca doğrudan adres atlama yapar: 0x1A400, $1A400 veya salt hex bir değer yazdığınızda listenin başına Address: Jump to 0x… girdisi gelir; Enter ile aktif projenin Hex ve 2d görünümleri o adrese atlar.

Harita arama sonuçlarında her harita için ROM verisinden örneklenen küçük bir eğri önizlemesi (sparkline) çizilir; haritayı açmadan şeklini görürsünüz.

Lua motoru

Uygulama gömülü Lua 5.4 motoru barındırır ve sol2 ile C++ API'yi betiklere açar. Betikler Datalog ▸ Lua Betiği Çalıştır ile çalıştırılır.

Neler yapılabilir

  • proje özelliklerini okumak,
  • bayt okumak/yazmak, adres dönüşümleri,
  • harita arama, bul-değiştir, içe/dışa aktarma,
  • yorum eklemek, benzerlik araması,
  • HTTP istekleri,
  • diyalog açmak, arayüzü çağırmak.

Güvenlik sınırları

Betikler ayrı bir iş parçacığında çalışır ve arayüze yalnızca kontrollü çağrılarla döner. Motor şunları kapatır:

  • os.execute, os.exit, io.popen, package.loadlib, dofile, loadfile, load
  • os.remove, os.rename, os.tmpname yalnızca onaylı yollarda

Ayrıca yeni bir betiği ilk kez çalıştırmak için onay istenir ve güven kararı betiğin SHA-256 parmak iziyle saklanır.

Örnek

-- Bütün haritalarda "KRKTE" geçenleri listele
local maps = searchMaps("KRKTE")
for _, m in ipairs(maps) do
  Log(m.name .. " @ " .. m.address)
end

Bilinen boşluklar

Lua checksum DSL, projectImportCsvJson, projectMail, bazı WinOLS'a özgü sağlık/araç verisi işlemleri ve şifreli .luax yükleme uygulanmamıştır.

Datalog

Datalog ▸ Datalog Aç ile CSV biçimindeki kayıtları açın; kanal ağacından seri seçip zaman serisi grafiklerini inceleyin. Datalogları Karşılaştır iki kaydı üst üste gösterir.

Toplu işler için pratik öneri

  1. Aynı ham işi yapmayın: paketleyin (bkz. Paketleme).
  2. Yalnız gerçekten tekrarlanan, çok adımlı işler için betik yazın.
  3. Betiği versiyon kontrolüne koyun ve değiştirdiğiniz harita adreslerini yorum olarak belirtin.

Makro düşünürken

Sırasıyla değerlendirin:

  1. Harici bir araç zaten yapıyor mu?
  2. Uygulamanın paketleme özelliği yeterli mi?
  3. Komut paleti tek adımda çözüyor mu?
  4. Ancak o zaman Lua betiği yazın.