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.
| Fonksiyon | Ne yapar | Dö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.