İçeriğe geç

Metin2 Quest oh Fonksiyonları

Kral (monarch) sistemi fonksiyonları: krallık hazinesi, kral becerileri, kralın ışınlanması ve oyuncu çağırması. Çoğu yalnız kral karakteri (bazıları GM) tarafından kullanılabilir; ücretler krallık hazinesinden düşer ve reddedilen durumlarda oyuncuya sohbet iletisi gider. Bu modülde 14 fonksiyon var. Diğer modüller quest fonksiyonları listesinde, quest yazımının temeli quest yazma rehberinde.

FonksiyonNe yaparDöner
oh.takemonarchmoney(miktar (10.000 Yang birimi)) Krallık hazinesinden miktar × 10.000 Yang çekme isteğini veritabanı sunucusuna gönderir. Veritabanı tarafı oyuncunun o krallığın kralı olduğunu ve hazinenin yettiğini denetler.
oh.takemonarchmoney(100)
yok
oh.isguildmaster() Geçerli oyuncunun lonca rütbesi 1-4 arasındaysa (lider ve üst rütbeler) 1, değilse 0 döndürür. pc.is_guild_master'dan farklı olarak yalnız lideri değil üst rütbeleri de kabul eder.
if oh.isguildmaster() == 1 then
sayı (0 ya da 1)
oh.ismonarch() Geçerli oyuncu kendi krallığının kralıysa 1 döndürür.
if oh.ismonarch() == 1 then
sayı (0 ya da 1)
oh.monarchbless() Kralın kutsaması: bulunulan haritadaki kendi krallığından oyuncuların HP ve SP'sini doldurur. Ücreti MonarchHealGold olay bayrağından, bayrak 0 ise 2.000.000 Yang olarak hazineden düşer. Kral ya da GM kullanabilir.
oh.monarchbless()
yok
oh.monarchpowerup() Bulunulan haritadaki kendi krallığından oyunculara 3 dakika boyunca %10 saldırı artışı verir; hazineden 5.000.000 Yang düşer ve bekleme süresi uygulanır. Kral ya da GM kullanabilir.
oh.monarchpowerup()
yok
oh.monarchdefenseup() Bulunulan haritadaki kendi krallığından oyunculara 3 dakika boyunca %10 savunma artışı verir; hazineden 5.000.000 Yang düşer ve bekleme süresi uygulanır. Kral ya da GM kullanabilir.
oh.monarchdefenseup()
yok
oh.spawnmob(canavar vnum) Kral ya da GM'nin bulunduğu yere verilen canavarı çıkarır ve VID'ini döndürür; canavar quest'e bağlı olarak işaretlenir. Hazineden ücret düşmez.
local vid = oh.spawnmob(101)
sayı (vid)
oh.spawnguard(muhafız grubu vnum, bölge (0-3)) Kralın kendi kalesinde muhafız grubu kiralar; ücret muhafız türüne göre hazineden düşer. Yalnız kalede kullanılabilir. yok
oh.warp(oyuncu adı) Kralı aynı krallıktan ve aynı kanaldaki bir oyuncunun yanına ışınlar; hazineden 10.000 Yang düşer, bekleme süresi uygulanır ve yalnız izin verilen bölgelerde çalışır. Oyuncu başka çekirdekteyse kral o haritanın ortasına gider.
oh.warp(ad)
yok
oh.transfer(oyuncu adı) Aynı krallıktan ve aynı kanaldaki bir oyuncuyu kralın yanına çağırır (oyuncunun onayı alınmaz); hazineden 10.000 Yang düşer ve bekleme süresi uygulanır.
oh.transfer(ad)
yok
oh.transfer2(oyuncu adı) oh.transfer'in onaylı biçimi: hedef oyuncuya monarch_transfer quest'i üzerinden çağrı mektubu gönderilir, kralın konumu bu quest'in x, y bayraklarına yazılır. Hedef yakındaysa (50 metre) çalışmaz; hazineden 10.000 Yang düşer.
oh.transfer2(ad)
yok
oh.info() Üç krallığın kral adlarını sohbet penceresine yazar; geçerli oyuncu kralsa kendi krallığının hazine tutarını da gösterir.
oh.info()
yok
oh.notice(metin) Kralın kendi krallığındaki bütün oyunculara duyuru göndermesini sağlar; kral değilse reddedilir.
oh.notice("Krallık toplantısı köy meydanında.")
yok
oh.monarch_mob(canavar vnum ya da adı (metin)) Kralın canavar çağırma komutunu çalıştırır: hazineden 5.000.000 Yang düşer, bekleme süresi uygulanır, canavar vnum ya da adla verilir. Yalnız kral kullanabilir.
oh.monarch_mob("101")
yok

Önceki modül: forked | Sonraki modül: mgmt

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.