Metin2 Quest Geliştirme Rehberi: Temel Quest Yapısı ve Servera Okutma
Metin2 geliştiriciliğinin (developer) en temel taşlarından biri, oyun içi mekanikleri, etkinlikleri, NPC görevlerini ve zindan sistemlerini yöneten Quest yapısıdır. Quest sistemi, oyun motorunun arka planda C++ kodlarıyla yazdığı fonksiyonları, Lua script dili yardımıyla tetikleyerek oyuna dinamik bir işlev kazandırır. Bu rehberde, sıfırdan temel bir quest yapısının nasıl kurulacağını ve hazırlanan scriptlerin sunucuya (server) nasıl okutulacağını ele alıyoruz.
Temel Quest Blokları ve Kod Yapısı
Bir Metin2 quest dosyası her zaman
.quest veya .lua uzantısıyla kaydedilir ve temel olarak üç ana bloktan oluşur:Quest İsmi Tanımlama: Kod bloğunun en başında quest'in adı yazılır. Örneğin
quest metin2up_gorev begin satırı ile sistem yeni bir kod döngüsü başlatır.State Yapısı: Görevin veya tetikleyicinin hangi aşamada olduğunu belirtir. Her quest mutlaka bir
state start begin bloğu ile başlamak zorundadır.Tetikleyiciler (When): Kodun ne zaman çalışacağını belirten alandır. Bir NPC'ye tıklandığında, bir canavar kesildiğinde veya bir haritaya girildiğinde çalışacak kodlar buraya yazılır. Örneğin
when 20016.chat."Ödülünü Al" begin satırı, 20016 kodlu NPC'ye tıklayıp menüden ilgili yazı seçildiğinde altındaki kodları aktif eder.Her açılan blok, kodun en altında mutlaka
end komutu ile kapatılmalı ve en dıştaki quest bloğu da kapatılarak dosya sonlandırılmalıdır.Yazılan Quest Dosyasını Servera Okutma Adımları
Hazırladığınız quest dosyasının oyunda aktif olabilmesi için sunucu dosyalarının (server files) içerisine yüklenmesi ve derlenmesi gerekir:
FileZilla veya WinSCP gibi bir FTP programı ile sunucunuza bağlanın.
/usr/game/share/locale/turkey/quest (sunucu yapınıza göre dizin değişiklik gösterebilir) klasörünün içerisine gidin ve hazırladığınız quest dosyasını bu dizine yükleyin.Aynı klasörün içerisinde bulunan
quest_list veya locale_list isimli metin belgesini açın. En alt satıra giderek yüklediğiniz dosyanın tam adını (Örn: metin2up_gorev.quest) yazıp kaydedin.Ardından Putty (SSH) programını açarak sunucunuza bağlanın ve quest klasörünün olduğu dizine geçiş yapın:
cd /usr/game/share/locale/turkey/questDosyayı derlemek için şu komutu yazıp Enter tuşuna basın:
./qc metin2up_gorev.questDerleme işlemi bittikten sonra oyuna yönetici (GM) karakterinizle giriş yapın ve sohbet satırına
/reload q yazarak enterlayın. Oyun içi quest hafızası tamamen yenilenecek ve yazdığınız yeni sistem anında aktif olacaktır.