İçeriğe geç

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.

FonksiyonNe yaparDö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.