İçeriğe geç

Metin2 Quest forked Fonksiyonları

Krallık Savaşı (üç yol savaşı: Kutsal Alan ve her krallığa ait geçit haritaları) fonksiyonları. Kayıt, giriş ve ödül akışı bu fonksiyonları çağıran quest'e bağlıdır; o quest her sunucu paketinde bulunmaz. Bu modülde 15 fonksiyon var. Diğer modüller quest fonksiyonları listesinde, quest yazımının temeli quest yazma rehberinde.

FonksiyonNe yaparDöner
forked.setdeadcount() Geçerli oyuncunun Krallık Savaşı'ndaki dirilme hakkını threeway_war_dead_count olay bayrağının değerine ayarlar.
forked.setdeadcount()
yok
forked.getdeadcount() Geçerli oyuncunun kalan dirilme hakkını döndürür; oyuncu yoksa 0.
if forked.getdeadcount() <= 0 then
sayı
forked.initkillcount() Geçerli oyuncunun krallığının Krallık Savaşı öldürme puanını sıfırlar.
forked.initkillcount()
yok
forked.initforked() Krallık Savaşı verilerini (puanlar, kayıtlı oyuncular, dirilme hakları) sıfırlar ve bu savaş için Kutsal Alan ile geçit haritalarını rastgele seçer. Savaşı başlatan yönetim işi içindir.
forked.initforked()
yok
forked.get_sungzi_start_pos() Seçili Kutsal Alan haritasında geçerli oyuncunun krallığına ait başlangıç noktasını döndürür.
local x, y = forked.get_sungzi_start_pos()
iki sayı (x, y)
forked.get_pass_start_pos() Seçili geçit haritasında geçerli oyuncunun krallığına ait başlangıç noktasını döndürür.
local x, y = forked.get_pass_start_pos()
iki sayı (x, y)
forked.getsungzimapindex() Bu savaş için seçilmiş Kutsal Alan haritasının numarasını döndürür.
local harita = forked.getsungzimapindex()
sayı
forked.getpassmapindexbyempire(krallık (1-3)) Verilen krallığa ait seçili geçit haritasının numarasını döndürür; krallık geçersizse 0.
local harita = forked.getpassmapindexbyempire(pc.get_empire())
sayı
forked.getpasspathbyempire(krallık (1-3)) Verilen krallığa ait seçili geçit haritasının klasör yolunu döndürür.
local yol = forked.getpasspathbyempire(1)
metin
forked.isforkedmapindex(harita no) Verilen harita Krallık Savaşı haritalarından biriyse true döner.
if forked.isforkedmapindex(pc.get_map_index()) then
true/false
forked.issungzimapindex(harita no) Verilen harita bir Kutsal Alan haritasıysa true döner.
if forked.issungzimapindex(pc.get_map_index()) then
true/false
forked.warp_all_in_map(kaynak harita no, hedef harita no, x, y, saniye) Verilen saniye sonra kaynak haritadaki bütün oyuncuları hedef haritanın x, y noktasına (5 metrelik rastgele sapmayla) ışınlar. Koordinatlar genel koordinattır.
forked.warp_all_in_map(kaynak, hedef, x, y, 10)
yok
forked.is_registered_user() Geçerli oyuncu bu Krallık Savaşı'na kayıtlıysa true döner.
if not forked.is_registered_user() then
true/false
forked.register_user() Geçerli oyuncuyu bu Krallık Savaşı'na kaydeder.
forked.register_user()
yok
forked.purge_all_monsters() Krallık Savaşı haritalarındaki bütün canavarları siler.
forked.purge_all_monsters()
yok

Önceki modül: oxevent | Sonraki modül: oh

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.