İçeriğe geç

Metin2 Quest horse Fonksiyonları

Geçerli oyuncunun atıyla ilgili fonksiyonlar. At seviyesi 0-30, derece seviyeden çıkar: 1-10 birinci, 11-20 ikinci, 21-30 üçüncü derece. Bu modülde 21 fonksiyon var. Diğer modüller quest fonksiyonları listesinde, quest yazımının temeli quest yazma rehberinde.

FonksiyonNe yaparDöner
horse.is_mine() Geçerli NPC, geçerli oyuncunun çağırdığı at ise true döner (ata tıklanan olaylarda).
if horse.is_mine() then
true/false
horse.is_riding() Geçerli oyuncu ata binmişse 1, değilse 0 döndürür.
if horse.is_riding() == 1 then
sayı (0 ya da 1)
horse.is_summon() Geçerli oyuncunun çağrılmış bir atı varsa true döner.
if horse.is_summon() then
true/false
horse.ride() Geçerli oyuncuyu atına bindirir. Ölü, dönüşmüş ya da smokin veya gelinlik giymiş oyuncu binemez.
horse.ride()
yok
horse.unride() Geçerli oyuncuyu attan indirir.
horse.unride()
yok
horse.summon(uzaktan gelsin (true/false, isteğe bağlı), at vnum (isteğe bağlı), ad (isteğe bağlı)) Geçerli oyuncunun atını çağırır. At seviyesi 0 ise, oyuncu at üstündeyse ya da at zaten çağrılmışsa bir şey yapmaz. Uzaktan seçeneğinde at 20-25 metre öteden gelir; vnum verilmezse at derecesine uygun at çıkar.
horse.summon()
yok
horse.unsummon() Geçerli oyuncunun çağrılmış atını geri gönderir.
horse.unsummon()
yok
horse.advance() At seviyesini bir artırır (en çok 30) ve karakterin puanlarını yeniden hesaplar.
horse.advance()
yok
horse.get_level() Geçerli oyuncunun at seviyesini (0-30) döndürür.
if horse.get_level() >= 11 then
sayı
horse.set_level(seviye) At seviyesini verilen değere (0-30 arasına kırpılır) ayarlar.
horse.set_level(21)
yok
horse.get_health() Atın sağlık değerini döndürür; atı yoksa 0.
local saglik = horse.get_health()
sayı
horse.get_health_pct() Atın sağlığını yüzde (0-100) olarak döndürür; atı yoksa 0.
if horse.get_health_pct() < 50 then
sayı
horse.get_stamina() Atın dayanıklılık değerini döndürür; atı yoksa 0.
local dayaniklilik = horse.get_stamina()
sayı
horse.get_stamina_pct() Atın dayanıklılığını yüzde (0-100) olarak döndürür; atı yoksa 0.
if horse.get_stamina_pct() < 30 then
sayı
horse.get_grade() At derecesini döndürür: 0 at yok, 1 seviye 1-10, 2 seviye 11-20, 3 seviye 21-30.
if horse.get_grade() == 3 then
sayı
horse.is_dead() Atın sağlığı 0 ya da altındaysa true döner.
if horse.is_dead() then
true/false
horse.revive() Atı varsa ve ölüyse diriltir.
horse.revive()
yok
horse.feed() Atı varsa ve yaşıyorsa besler; yem eşyasını düşmek quest'in işidir.
horse.feed()
yok
horse.set_name(at adı) Ata ad verir; ad 30 gün geçerlidir (horse_name.valid_till bayrağı) ve at yeniden çağrılarak yeni adla görünür. Dönüş: 2 ad verildi, 1 ad geçersiz, 0 atı yok.
local sonuc = horse.set_name(ad)
sayı (0, 1 ya da 2)
horse.get_name() Atın adını döndürür; ad verilmemişse boş metin.
local ad = horse.get_name()
metin
horse.set_stat0(sağlık (0-50), dayanıklılık (0-200)) Atın sağlık ve dayanıklılık değerlerini verilen değerlere ayarlar. Topluluk eki (ENABLE_NEWSTUFF).
horse.set_stat0(50, 200)
yok

Önceki modül: d | Sonraki modül: pet

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.