İçeriğe geç

Metin2 Quest building Fonksiyonları

Lonca arazisi ve binaları fonksiyonları: arazi bilgisi, araziyi loncaya verme, binayı başka bir binaya dönüştürme. Bu modülde 5 fonksiyon var. Diğer modüller quest fonksiyonları listesinde, quest yazımının temeli quest yazma rehberinde.

FonksiyonNe yaparDöner
building.get_land_id(harita no, x, y (genel koordinat, pc.get_x() * 100 gibi)) Verilen noktanın içinde bulunduğu lonca arazisinin kimliğini döndürür; arazi yoksa 0.
local arazi = building.get_land_id(pc.get_map_index(), pc.get_x() * 100, pc.get_y() * 100)
sayı
building.get_land_info(arazi kimliği) Arazinin fiyatını, sahibi olan loncanın kimliğini (yoksa 0) ve gereken lonca seviyesini döndürür; arazi bulunamazsa üçü de 1.000.000.000 olur.
local fiyat, sahip, seviye = building.get_land_info(arazi)
üç sayı (fiyat, sahip lonca kimliği, lonca seviye sınırı)
building.set_land_owner(arazi kimliği, lonca kimliği) Sahipsiz araziyi verilen loncaya verir; arazinin zaten sahibi varsa bir şey yapmaz. Ücret düşmek quest'in işidir.
building.set_land_owner(arazi, pc.get_guild())
yok
building.has_land(lonca kimliği) Loncanın bir arazisi varsa true döner; veritabanına anlık sorgu atar. Parametre hatalıysa ya da sorgu sonuç vermezse de true döner.
if building.has_land(pc.get_guild()) then
true/false
building.reconstruct(yeni bina vnum) Geçerli NPC'nin bağlı olduğu lonca binasını verilen vnum'daki binaya dönüştürür (ör. güç sunağının seviyesini yükseltmek). NPC'nin loncası ya da arazisi yoksa bir şey yapmaz.
building.reconstruct(14062)
yok

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

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.