Metin2 Quest oxevent Fonksiyonları
OX etkinliği (harita 113) fonksiyonları: etkinliği açma ve kapama, soru sorma, katılımcılara ödül verme. Sorular yerel ayar klasöründeki oxquiz.lua dosyasından (add_ox_quiz satırları) yüklenir. Bu modülde 11 fonksiyon var. Diğer modüller quest fonksiyonları listesinde, quest yazımının temeli quest yazma rehberinde.
| Fonksiyon | Ne yapar | Döner |
|---|---|---|
oxevent.get_status() |
OX etkinliğinin durumunu döndürür: 0 bitti/kapalı, 1 giriş açık, 2 giriş kapandı, 3 soru soruluyor.if oxevent.get_status() == 0 then |
sayı |
oxevent.open() |
Eski soruları siler, soru dosyasını yeniden yükler ve girişi açar. Dosya yüklenirse 1, hata olursa 0 döner (o durumda giriş açılmaz).if oxevent.open() == 0 then say("Soru dosyası yüklenemedi.") end |
sayı (1 ya da 0) |
oxevent.close() |
OX haritasına girişi kapatır (durum 2); içerideki oyuncular kalır.oxevent.close() |
yok |
oxevent.quiz(seviye, süre (saniye)) |
Verilen seviyedeki sorulardan rastgele birini OX haritasına duyurur ve durumu 3 yapar; aynı soru bir daha sorulmaz. Süre negatifse 30 saniye alınır. Sürenin son 15 saniyesinde geri sayım duyurulur, 5 saniye kala cevap açıklanır, süre dolunca yanlış tarafta kalanlar izleyici alanına alınır ve durum yeniden 2 olur. O seviyede soru kalmadıysa 0 döner.oxevent.quiz(1, 30) |
sayı (1 ya da 0) |
oxevent.get_attender() |
OX haritasındaki katılımcı sayısını döndürür.say("Kalan yarışmacı: "..oxevent.get_attender()) |
sayı |
oxevent.end_event() |
Etkinliği bitirir (durum 0); 5 saniye sonra OX haritasındaki oyuncular krallıklarının başlangıç noktasına ışınlanır.oxevent.end_event() |
yok |
oxevent.end_event_force() |
Etkinliği beklemeden kapatır: oyuncular hemen krallıklarının başlangıç noktasına ışınlanır ve durum 0 olur.oxevent.end_event_force() |
yok |
oxevent.give_item(vnum, adet) |
OX haritasında kalan bütün katılımcılara verilen eşyayı verir.oxevent.give_item(50011, 1) |
yok |
oxevent.get_oxquiz_fn() |
oxevent.open'ın yükleyeceği soru dosyasının yolunu döndürür (varsayılan locale klasöründeki oxquiz.lua). Topluluk eki (ENABLE_NEWSTUFF).say(oxevent.get_oxquiz_fn()) |
metin |
oxevent.set_oxquiz_fn(dosya adı) |
Soru dosyasını locale klasörüne göre verilen dosya adıyla değiştirir. Topluluk eki (ENABLE_NEWSTUFF).oxevent.set_oxquiz_fn("oxquiz_kolay.lua") |
yok |
oxevent.set_oxquiz_fn0(dosya yolu) |
Soru dosyasını locale klasörü eklenmeden, verilen yolla değiştirir. Topluluk eki (ENABLE_NEWSTUFF). | yok |
Önceki modül: building | Sonraki modül: forked
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.