GrandMA2 Lua Plugin Geliştirmeye Giriş: Temel Kavramlar
GrandMA2 konsolunda Lua tabanlı plugin geliştirmenin temellerini, sözdizimini ve ilk eklentinizi nasıl yazacağınızı öğrenin.
GrandMA2'de Plugin Nedir?
GrandMA2, sahne aydınlatma kontrolünü genişletmek isteyenler için güçlü bir Lua scripting motoru sunar. Pluginler sayesinde tekrarlayan görevleri otomatikleştirebilir, özel arayüzler oluşturabilir ve konsolun varsayılan davranışını ihtiyaçlarınıza göre şekillendirebilirsiniz. Küçük bir makro yetersiz kaldığında plugin yazmak, profesyonel bir operatörün başvuracağı ilk çözümdür.
Lua Diline Hızlı Bakış
GrandMA2'nin kullandığı Lua 5.1, hafif ve öğrenmesi kolay bir betik dilidir. Eğer daha önce hiç programlama yapmadıysanız bile birkaç temel kavramı kavradıktan sonra işlevsel pluginler yazabilirsiniz.
- Değişkenler:
local fixtureCount = 12şeklinde tanımlanır - Koşullar:
if,elseif,else,endbloklarıyla yazılır - Döngüler:
for i = 1, 10 do ... endyapısı kullanılır - Fonksiyonlar:
function AdımAt() ... endşeklinde tanımlanır
İlk Plugin: Temel Yapı
GrandMA2'de her plugin bir giriş fonksiyonu içermek zorundadır. Konsol, plugin çalıştırıldığında bu fonksiyonu otomatik olarak çağırır. En basit plugin şu şekilde görünür:
local function Main(display_handle, argument) Echo('Merhaba, MA Dünyası!') return 0 end return Main
Burada Echo() fonksiyonu, GrandMA2'nin komut satırına çıktı gönderir. display_handle parametresi ise plugin'in görüntüleme bağlamını taşır ve gelişmiş arayüzler için kullanılır.
GrandMA2 API Fonksiyonları
GrandMA2, Lua ortamına konsolun iç yapısına erişmenizi sağlayan özel fonksiyonlar sunar. En sık kullanılanları şunlardır:
gma.cmd()— Konsola bir komut satırı komutu gönderirgma.echo()— Komut satırına mesaj yazargma.user.getString()— Kullanıcıdan metin girişi alırgma.user.getNumber()— Kullanıcıdan sayısal değer alırgma.sleep()— Belirtilen süre kadar (saniye) bekler
İpucu:gma.cmd()fonksiyonu, konsolun komut satırına yazabileceğiniz her şeyi çalıştırabilir. Örneğingma.cmd('Go+ Executor 1')yazarak bir executoru tetikleyebilirsiniz.
Plugin'i Konsola Yükleme
Yazdığınız plugin dosyasını .lua uzantısıyla kaydetmeniz gerekir. Dosyanın konumu şu dizin olmalıdır:
GrandMA2/gma2_V_X.X.X/plugins/
Dosyayı yerleştirdikten sonra plugin'i konsoldan yüklemek için şu adımları izleyin:
- Konsolda Menu > Plugins ekranını açın
- Listelenen plugin'inizi seçin
- Load butonuna basın
- Plugin'i çalıştırmak için Run butonunu kullanın veya bir executora atayın
Pratik Bir Örnek: Fixture Sıfırlama
Aşağıdaki örnek, belirli bir fixture grubunu seçip değerlerini sıfırlayan basit bir plugin yapısını göstermektedir:
local function Main(display_handle, argument) local grupNo = gma.user.getNumber('Hangi grup sıfırlansın?', 1, 1, 100) gma.cmd('SelFix Group ' .. grupNo) gma.cmd('At Home') gma.echo('Grup ' .. grupNo .. ' sıfırlandı.') return 0 end return Main
Bu örnekte .. operatörü Lua'da iki metni birleştirmek için kullanılır. gma.user.getNumber() ile kullanıcıdan alınan değer doğrudan komuta eklenir; böylece her seferinde farklı bir grup üzerinde işlem yapılabilir.
Hata Ayıklama İpuçları
- Plugin çalışmıyorsa
gma.echo()ile ara değerleri ekrana yazdırın - Sözdizimi hatalarını görmek için konsoldaki System Monitor penceresini açık tutun
- Karmaşık komutları önce komut satırında test edin, sonra plugin'e ekleyin