İçeriğe geç

Metin2 Quest target Fonksiyonları

Geçerli oyuncuya haritada hedef işareti koyan fonksiyonlar. Kurulan hedefler, quest'te 'when <hedef adı>.target.click', '.target.arrive' ve '.target.die' olaylarını tetikler. Hedefler oyuncuya ve quest'e bağlıdır; aynı adla yeniden kurmak eskisinin yerine geçer. Bu modülde 7 fonksiyon var. Diğer modüller quest fonksiyonları listesinde, quest yazımının temeli quest yazma rehberinde.

FonksiyonNe yaparDöner
target.pos(hedef adı, x, y, harita no, açıklama (isteğe bağlı), istemciye gönder (isteğe bağlı, varsayılan 1)) Bulunulan haritanın köşesine göre x, y metre konumuna hedef koyar; açıklama metni istemcide gösterilir. Oyuncu o anda 'harita no' haritasında değilse hedef kurulmaz. Oyuncu hedefe 5 metre yaklaşınca '<hedef adı>.target.arrive' olayı çalışır.
target.pos("kapi", 352, 882, 1, "Köy kapısı")
yok
target.vid(hedef adı, vid, açıklama (isteğe bağlı), istemciye gönder (isteğe bağlı, varsayılan 1)) VID'i verilen karaktere (NPC, canavar ya da oyuncu) hedef koyar. Hedef NPC'ye tıklanınca target.click, 5 metre yaklaşınca target.arrive, hedef karakter yok olunca target.die olayı çalışır; die olayından sonra hedef silinir.
target.vid("ogretmen", vid, "Bedensel Savaş Öğretmeni")
yok
target.npc(hedef adı, vid, açıklama (isteğe bağlı), istemciye gönder (isteğe bağlı, varsayılan 1)) target.vid ile aynı fonksiyon; eski ad olarak tabloda duruyor.
target.npc("ogretmen", vid, "Öğretmen")
yok
target.pc(hedef adı, vid, açıklama (isteğe bağlı), istemciye gönder (isteğe bağlı, varsayılan 1)) target.vid ile aynı fonksiyon; eski ad olarak tabloda duruyor.
target.pc("es", vid, "Eşin")
yok
target.delete(hedef adı) Geçerli quest'in bu oyuncu için kurduğu, adı verilen hedefi siler ve işaretini kaldırır.
target.delete("ogretmen")
yok
target.clear() Geçerli quest'in bu oyuncu için kurduğu bütün hedefleri siler.
target.clear()
yok
target.id(hedef adı) Adı verilen hedef bir VID hedefiyse hedef karakterin VID'ini döndürür; konum hedefinde ya da hedef bulunamazsa 0.
local vid = target.id("ogretmen")
sayı

Önceki modül: affect | Sonraki modül: party

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.