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