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,loados.remove,os.rename,os.tmpnameyalnı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¶
- Aynı ham işi yapmayın: paketleyin (bkz. Paketleme).
- Yalnız gerçekten tekrarlanan, çok adımlı işler için betik yazın.
- 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:
- Harici bir araç zaten yapıyor mu?
- Uygulamanın paketleme özelliği yeterli mi?
- Komut paleti tek adımda çözüyor mu?
- Ancak o zaman Lua betiği yazın.