İçeriğe geç

Metin2 Quest guild Fonksiyonları

Geçerli oyuncunun loncası ve lonca savaşlarıyla ilgili fonksiyonlar. Lonca kimliği isteyen fonksiyonlara pc.get_guild() ile alınan sayı verilir. Bu modülde 36 fonksiyon var. Diğer modüller quest fonksiyonları listesinde, quest yazımının temeli quest yazma rehberinde.

FonksiyonNe yaparDöner
guild.get_rank() Geçerli oyuncunun loncasının lonca sıralamasındaki yerini döndürür; loncası yoksa -1.
local sira = guild.get_rank()
sayı
guild.get_ladder_point() Geçerli oyuncunun loncasının lonca puanını döndürür; loncası yoksa -1.
say("Lonca puanı: "..guild.get_ladder_point())
sayı
guild.high_ranking_string() Lonca sıralamasının üst kısmını, oyuncunun loncası işaretli olarak say ile gösterilmeye hazır metin halinde döndürür.
say(guild.high_ranking_string())
metin
guild.around_ranking_string() Sıralamada geçerli oyuncunun loncasının çevresindeki loncaları hazır metin olarak döndürür; loncası yoksa boş metin.
say(guild.around_ranking_string())
metin
guild.name(lonca kimliği) Kimliği verilen loncanın adını döndürür; lonca yoksa boş metin. Parametre sayı değilse hata yazar ve değer döndürmez (guild.get_name bu durumda boş metin döndürür).
say(guild.name(npc.get_guild()))
metin
guild.level(lonca kimliği) Kimliği verilen loncanın seviyesini döndürür; lonca yoksa 0. Parametre sayı değilse Lua hatası verir.
if guild.level(pc.get_guild()) >= 3 then
sayı
guild.is_war(lonca kimliği) Geçerli oyuncunun loncası, kimliği verilen loncayla savaştaysa true döner.
if guild.is_war(rakip) then
true/false
guild.war_enter(rakip lonca kimliği) Geçerli oyuncuyu, loncasının bu rakiple sürmekte olan savaşının haritasına ışınlar; alan savaşında çalışmaz. Çıkış konumu kaydedilir ve oyuncunun war.is_war_member bayrağı 1 yapılır.
guild.war_enter(rakip)
yok
guild.get_any_war() Geçerli oyuncunun loncasının başlamış bir savaşı varsa rakip loncanın kimliğini, yoksa 0 döndürür.
local rakip = guild.get_any_war()
sayı
guild.get_reserve_war_table() Rezerve edilmiş, savaş (battle) türündeki lonca savaşlarını {savaş no, güçlü lonca, zayıf lonca, handikap} tablolarından oluşan bir liste olarak döndürür. Lonca savaşı bahis quest'i kullanır.
local g = guild.get_reserve_war_table()
tablo
guild.get_name(lonca kimliği) Kimliği verilen loncanın adını döndürür; parametre hatalıysa ya da lonca yoksa boş metin.
local ad = guild.get_name(g[s][2])
metin
guild.war_bet(savaş no, lonca kimliği, Yang) Geçerli oyuncunun hesabı adına, verilen savaşta verilen loncaya Yang bahsi kaydını veritabanı sunucusuna gönderir. Yang'ı oyuncudan düşmek quest'in işidir.
guild.war_bet(savas_no, lonca, 100000)
yok
guild.is_bet(savaş no) Geçerli oyuncunun hesabı bu savaşa bahis yatırdıysa true döner; parametre hatalıysa da true.
if guild.is_bet(savas_no) then
true/false
guild.get_warp_war_list() Sürmekte olan, alan savaşı dışındaki lonca savaşlarını {lonca 1 kimliği, lonca 2 kimliği} çiftlerinden oluşan bir liste olarak döndürür; savaş izleme ışınlamasında kullanılır.
local liste = guild.get_warp_war_list()
tablo
guild.get_member_count() Geçerli oyuncunun loncasının üye sayısını döndürür; loncası yoksa 0.
if guild.get_member_count() < 8 then
sayı
guild.change_master(yeni lider adı) Geçerli oyuncu loncanın lideriyse liderliği adı verilen üyeye devreder. Dönüş: 3 devredildi, 2 devredilemedi, 0 ad verilmedi, 1 oyuncu lider değil, 4 loncası yok.
local sonuc = guild.change_master(yeni_lider)
sayı
guild.change_master_with_limit(yeni lider adı, en düşük seviye, yeni liderin istifa sınırı, eski liderin lider olma sınırı, eski liderin üye olma sınırı, bekleme denetimini atla (true/false)) guild.change_master gibidir; ek olarak yeni liderin bu çekirdekte çevrimiçi olmasını, seviyesini ve change_guild_master.be_other_leader bayrağındaki bekleme süresini denetler, başarıda iki oyuncunun change_guild_master.* bayraklarına verilen zaman değerlerini yazar. Dönüş: 3 devredildi, 2 devredilemedi, 5 yeni lider bulunamadı, 6 seviyesi yetmiyor, 7 bekleme süresi dolmadı; 0, 1 ve 4 change_master ile aynı. sayı
guild.get_id0() Geçerli oyuncunun lonca kimliğini döndürür; loncası yoksa 0. Topluluk eki (ENABLE_NEWSTUFF); her kaynakta bulunmaz.
local id = guild.get_id0()
sayı
guild.get_sp0() Geçerli oyuncunun loncasının lonca becerileri için kullanılan SP'sini döndürür; loncası yoksa 0. Topluluk eki (ENABLE_NEWSTUFF).
local sp = guild.get_sp0()
sayı
guild.get_maxsp0() Loncanın en yüksek SP değerini döndürür; loncası yoksa 0. Topluluk eki (ENABLE_NEWSTUFF).
local en_sp = guild.get_maxsp0()
sayı
guild.get_money0() Lonca kasasındaki Yang miktarını döndürür; loncası yoksa 0. Topluluk eki (ENABLE_NEWSTUFF).
local kasa = guild.get_money0()
sayı
guild.get_max_member0() Loncanın alabileceği en fazla üye sayısını döndürür; loncası yoksa 0. Topluluk eki (ENABLE_NEWSTUFF).
local sinir = guild.get_max_member0()
sayı
guild.get_total_member_level0() Lonca üyelerinin seviyeleri toplamını döndürür; loncası yoksa 0. Topluluk eki (ENABLE_NEWSTUFF).
local toplam = guild.get_total_member_level0()
sayı
guild.has_land0() Geçerli oyuncunun loncasının arazisi varsa true döner. Topluluk eki (ENABLE_NEWSTUFF).
if guild.has_land0() then
true/false
guild.get_win_count0() Loncanın kazandığı savaş sayısını döndürür. Topluluk eki (ENABLE_NEWSTUFF).
local galibiyet = guild.get_win_count0()
sayı
guild.get_draw_count0() Loncanın berabere biten savaş sayısını döndürür. Topluluk eki (ENABLE_NEWSTUFF).
local beraberlik = guild.get_draw_count0()
sayı
guild.get_loss_count0() Loncanın kaybettiği savaş sayısını döndürür. Topluluk eki (ENABLE_NEWSTUFF).
local maglubiyet = guild.get_loss_count0()
sayı
guild.add_comment0(metin) Lonca ilan panosuna geçerli oyuncu adına yazı ekler. Topluluk eki (ENABLE_NEWSTUFF).
guild.add_comment0("Bu akşam lonca savaşı var.")
yok
guild.set_ladder_point0(puan değişimi) Adının aksine puanı ayarlamaz, verilen miktar kadar değiştirir: loncanın lonca puanına eklenir, negatif değer düşer. İstek veritabanı sunucusuna gider. Topluluk eki (ENABLE_NEWSTUFF).
guild.set_ladder_point0(10)
yok
guild.get_skill_level0(lonca becerisi vnum) Loncanın verilen lonca becerisindeki seviyesini döndürür; loncası yoksa 0. Topluluk eki (ENABLE_NEWSTUFF).
local sv = guild.get_skill_level0(151)
sayı
guild.set_skill_level0(lonca becerisi vnum, seviye, puan (isteğe bağlı, varsayılan 0)) Loncanın verilen lonca becerisinin seviyesini ayarlar. Topluluk eki (ENABLE_NEWSTUFF).
guild.set_skill_level0(151, 5)
yok
guild.get_skill_point0() Loncanın dağıtılmamış beceri puanını döndürür. Topluluk eki (ENABLE_NEWSTUFF).
local puan = guild.get_skill_point0()
sayı
guild.set_skill_point0(puan) Loncanın dağıtılmamış beceri puanını ayarlar. Topluluk eki (ENABLE_NEWSTUFF).
guild.set_skill_point0(3)
yok
guild.get_exp_level0(seviye) Lonca seviye tablosunda verilen seviye için gereken EXP'yi döndürür; seviye 0 ile en yüksek lonca seviyesi arasına kırpılır. Topluluk eki (ENABLE_NEWSTUFF).
local gereken = guild.get_exp_level0(5)
sayı
guild.offer_exp0(EXP) Geçerli oyuncunun EXP'sinden verilen miktarı (100'ün katına aşağı yuvarlanır) loncaya bağışlar; loncaya miktarın yüzde biri yazılır. Lonca en yüksek seviyedeyse, oyuncunun EXP'si yetmiyorsa ya da loncası yoksa false. Topluluk eki (ENABLE_NEWSTUFF).
guild.offer_exp0(100000)
true/false
guild.give_exp0(EXP) Geçerli oyuncunun loncasına verilen miktarın yüzde biri kadar lonca EXP'si ekler; oyuncudan EXP düşmez. Topluluk eki (ENABLE_NEWSTUFF).
guild.give_exp0(50000)
yok

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

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.