Metin2 Quest speedserver Fonksiyonları
Hızlı sunucu (CONFIG speed_server) için krallık başına haftanın günü ve tatil günü EXP oranı tablosunu yöneten fonksiyonlar. Tablo, bitiş saati, bitiş dakikası ve EXP yüzdesinden oluşan dilimlerdir. Bu kaynakta tablo EXP hesabına doğrudan uygulanmaz; oranı oyuna geçirmek quest'in işidir. Bu modülde 7 fonksiyon var. Diğer modüller quest fonksiyonları listesinde, quest yazımının temeli quest yazma rehberinde.
| Fonksiyon | Ne yapar | Döner |
|---|---|---|
speedserver.get_holiday(krallık, yıl, ay, gün) |
Verilen tarih tatil olarak tanımlıysa o günün dilimlerini saat, dakika, yüzde üçlüleri olarak art arda döndürür; tanımlı değilse değer döndürmez. | üçerli sayı dizisi (saat, dakika, EXP yüzdesi) |
speedserver.set_holiday(krallık, yıl, ay, gün, bitiş saati, bitiş dakikası, EXP yüzdesi) |
Verilen tatil gününe bir EXP dilimi ekler.speedserver.set_holiday(1, 2026, 10, 29, 23, 59, 200) |
yok |
speedserver.get_wday(krallık, gün (1 pazar - 7 cumartesi)) |
Haftanın verilen gününün EXP dilimlerini saat, dakika, yüzde üçlüleri olarak art arda döndürür. | üçerli sayı dizisi (saat, dakika, EXP yüzdesi) |
speedserver.set_wday(krallık, gün (1-7), bitiş saati, bitiş dakikası, EXP yüzdesi) |
Haftanın verilen gününe bir EXP dilimi ekler.speedserver.set_wday(1, 7, 23, 59, 150) |
yok |
speedserver.init_holiday(krallık, yıl, ay, gün) |
Verilen tatil gününün EXP dilimlerini sıfırlar. | yok |
speedserver.init_wday(krallık, gün (1-7)) |
Haftanın verilen gününün EXP dilimlerini sıfırlar. | yok |
speedserver.get_current_exp_priv(krallık) |
Verilen krallık için şu an geçerli dilimi (bitiş saati, dakikası, yüzdesi), kalan süreyi ve oranın değişip değişmediğini döndürür.local s, d, oran, sure, degisti = speedserver.get_current_exp_priv(pc.get_empire()) |
beş değer (saat, dakika, EXP yüzdesi, süre, değişti mi) |
Önceki modül: dance_event
Liste, Metin2 sunucu kaynak kodundaki quest fonksiyon tablolarından (questlua dosyaları) ve sunucunun quest klasöründeki questlib.lua ile GFquestlib.lua dosyalarından çıkarıldı; açıklamalar fonksiyonların gövdelerinden yazıldı. İncelenen kaynak, orijinal koda topluluk düzeltmeleri eklenmiş bir sürümdür: "Topluluk eki" notu taşıyan fonksiyonlar (ENABLE_NEWSTUFF gibi derleme seçenekleri) her sunucuda bulunmaz, kapalı seçeneklere bağlı pc.open_shop0 ve pc.make_guild0 listede yoktur. "Geçerli oyuncu" quest'i tetikleyen oyuncudur; server_timer olaylarında geçerli oyuncu olmadığından pc, npc ve item fonksiyonlarının çoğu orada kullanılamaz. Koordinat birimi fonksiyona göre değişir: kimi metre, kimi oyun birimi (metre × 100) ister. C++'a eklenen yeni bir fonksiyonu kullanmadan önce adını quest klasöründeki quest_functions listesine de eklemek gerekir. Fonksiyonlar kaynak sürümüne göre değişebilir.