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