Kod:
quest anonymous_letter begin state start begin end state run begin when letter with pc.level >= 66 begin set_state(info) end end state info begin when letter with pc.get_level() >= 66 begin send_letter("Eu tenho uma carta.") end when button or info begin say_title("Eu tenho uma carta.") say("") say("Hey merhaba bana yardım et ! bir kitap var.") say("Oku ve gizemli gönderenin kim olduğunu öğren.") say("") end when 11000.chat."Mektubun var." or 11002.chat."Mektubun var." or 11004.chat."Mektubun var." begin say_title("Köy Gardiyanı:") say("") say("Son zamanlarda pek görünmüyorsun. Sana bu mektubu ") say("vermemi istediler - kimden olduğunu bilmiyorum,") say("bana kendini tanıtmadı.") say("") wait() say_title("Köy Gardiyanı:") say("") say("Mektubun yazıldığı kağıt çok eski görünüyor.") say("Aceleyle şunlar yazılmış:") say("Yedi Ejderha Rahibesi ve Sung Mahi ile ilgili") say("önemli bilgilere sahibim. Şeytan Kulesi'nin arka") say("kısmında, Hwang Tapığnağı'nda seni bekliyorum. Beni") say("ağacın gölgesinde bulacaksın. Acele et, fazla") say("vaktimiz yok!") say("") set_state(anonim) end end state anonim begin when letter with pc.get_level() >= 60 begin local v = find_npc_by_vnum(20369) if v != 0 then target.vid("__TARGET__", v, "LeeChung") end send_letter("Anonim Mektup") end when button or info begin say_title("Anonim Mektup") say("") say("Köy meydanının nöbetçisinin sana mektubu var.") say("Oku ve gizemli gönderenin kim olduğunu öğren.") say("") end when 20369.chat."Anonim Mektup" begin target.delete("__TARGET__") say_title("Lee Chung:") say("") say("Hoşgeldin! Önce izninle kendimi tanıtayım: Adım") say("Lee Chung.") say("Yabancı birinin talimatına uyman cesaretli") say("olduğunu gösteriyor. Yanılmamışım - sen de buna") say("pişman olmayacaksın.") say("Söyleyeceklerimi iyi dinle!") say("") set_state(anonim2) end end state anonim2 begin when letter with pc.get_level() >= 66 begin local v = find_npc_by_vnum(20369) if v != 0 then target.vid("__TARGET2__", v, "LeeChung") end send_letter("Yeni Kötülük") end when button or info begin say_title("Yeni Kötülük") say("") say("Lee Chung'un anlatacaklarını iyi dinle.") say("") end when 20369.chat."Yeni Kötülük" begin target.delete("__TARGET2__") say_title("Lee Chung:") say("") say("Hwang Tapınağı'na gelmeni gerektiren bir durum") say("var: Son zamanlarda burada tuhaf şeyler oluyor.") say("Kısa zaman önce de Şeytan Kulesi'nin arka") say("tarafında devasa bir mağaraya giden bir yol") say("bulduk!") say("") wait() say_title(""..pc.get_name()..":") say("") say("Devasa bir mağara mı? Peki içinde ne var?") say("") wait() say_title("Lee Chung:") say("") say("Bu mağarada yeni, akıl almaz bir kötülük") say("bekliyor: Casuslarımız şeytanları bile geride") say("bırakan, dehşet verici bir yaratıktan bahsetti.") say("Korkutucu görüntüsü ve canlılara karşı doymak") say("bilmeyen aç gözlülüğü nedeniyle onun şeytan") say("dünyasının on büyük şeytanından biri olan") say("efsanevi Agwi olduğunu düşünüyoruz.") say("Eğer haklıysak insanoğlu büyük tehlike altında.") say("") wait() say_title(""..pc.get_name()..":") say("") say("Şeytanlardan daha korkutucu demek... Bu yaratık") say("gerçekten de çok güçlü ve kötü olmalı.") say("") wait() say_title("Lee Chung:") say("") say("Evet öyle. Adamlarım ve ben defalarca Şeytan") say("Katakombu'na girmeyi denedik. Ama her seferinde") say("başarısız olduk ve büyük kayıplar verdik.") say("Bu işte mükemmel bir savaşçıya ihtiyacımız var -") say("seni buraya çağırmamızın nedeni bu. Bize yardım") say("edecek misin?") say("") wait() say_title(""..pc.get_name()..":") say("") say("Evet, sana yardım edeceğim.") say("") wait() say_title("Lee Chung:") say("") say("Oh, artık daha ümitliyiz! Bizim tarafımızda") say("olduğunu bildiğim için sana bir gerçeği") say("açıklayacağım: Ben, Gölge Savaşçıları Kumandanı,") say("Lee Chung. Lee Seops'un gizli seçkin") say("bir birliğiyiz.") say("") wait() say_title("Lee Chung:") say("") say("Gölge Savaşçıları evveli ezeli gizliden gizliye") say("Sung Mahi'nin yeniden dirilişini engelleme") say("çabasında. Bu bizim görevimiz. Birlikte Agwi'yi") say("tekrar mağarasına göndermeye ve dünyamıza nasıl") say("geldiklerini öğrenmeye çalışalım!") say("") set_state(anonim3) return end end state anonim3 begin when letter with pc.get_level() >= 66 begin local v = find_npc_by_vnum(20369) if v != 0 then target.vid("__TARGET3__", v, "LeeChung") end send_letter("Zaman yok") end when button or info begin say_title("Zaman yok") say("") say("Gölge Savaşçılarının kumandanı Lee Chung seni") say("arıyor. Çok acil.") say("") end when 20369.chat."Zaman yok" begin target.delete("__TARGET3__") say_title("Lee Chung:") say("") say("Senden acil bir ricam var. karşı taraftaki yaralı ") say("askeri görüyor musun? O benim emrimde Şeytan") say("Katakombu'nu araştıran casuslarımdan biri. Bu") say("görev sırasında Agwi tarafından saldırıya uğradı ") say("ve zehirlendi. Zehir vücuduna yayılmaya başladı ") say("bile, fazla vakti kalmadı.") say("") wait() say_title("Lee Chung:") say("") say("Panzehire ihtiyacı var - hem de hemen!") say("Sen alabilir misin? Kırmızı Orman'da kırmızı ") say("orman perilerini bulabilirsin. O, benim en") say("önemli savaşçılarımdan biri - canını kurtar ben") say("de sana Kırık Porselen vereyim.") say("") wait() say_title(""..pc.get_name()..":") say("") say("Panzehiri getireceğim!") say("") wait() say_title("Lee Chung:") say("") say("Teşekkür ederim! Henüz hayatta ama her geçen") say("saniye daha da zayıflıyor. Kaybedecek vaktimiz") say("yok!") pc.setqf("panzehir",get_time() + 30*60) set_state(panzehir) return end end state panzehir begin when letter with pc.get_level() >= 66 begin send_letter("Panzehir") end when button or info begin local time = pc.getqf("panzehir") - get_time() local time_remaining = math.floor(time / 60) say_title("Panzehir") say("") say("Lee Chung sayesinde panzehiri Kırmızı Orman'da") say("bulabileceğini biliyorsun. Bunun için 200 Kırmızı ") say("Orman Perisi'ni yakala.") say("Kırmızı Orman, Hayalet Orman'dan daha tehlikeli,") say("kendine dikkat et.") if pc.getqf("panzehir") - get_time() > 0 then say(""..time_remaining.." dakikan kaldı.") else say("Süre geçti. Asker ölmek üzere. Ona hemen") say("panzehiri götür.") end say("") q.set_clock("Kalan süre:", time) q.set_counter("Kırmızı Orman Perisi:", 200-pc.getqf("kill_count")) end when 2313.kill or 2313.party_kill begin pc.setqf("kill_count",pc.getqf("kill_count") + 1) q.set_counter("Kırmızı Orman Perisi:", 200-pc.getqf("kill_count")) if pc.getqf("kill_count") == 200 then pc.give_item2("31003",1) set_state(panzehirialdın) end end end state panzehirialdın begin when letter with pc.get_level() >= 66 begin send_letter("Panzehir") end when button or info begin say_title("Panzehir") say("") say("Nihayet panzehiri buldun! Onu hemen Lee Chung'a") say("götür.") say("") end when 20369.chat."Panzehir" begin target.delete("__TARGET4__") say_title("Lee Chung:") say("") say("Çok zaman harcadın. Son gücüyle hayatta kalmaya") say("neyseki son anda yetişebildin.") say("") wait() say_title("Lee Chung:") say("") say("İşe yarıyor sanırım. Ama çok ucu ucuna yetiştin,") say("ama panzehiri bulmak amacıyla bu kadar çok zaman") say("kaybettiğin için neredeyse ölüyordu.") say("Çok üzgünüm, ama ödül olarak verebileceğim tek") say("şey bu.") say("") wait() if pc.getqf("panzehir") - get_time() > 0 then say_reward("2900000 deneyim puanı kazandın.") say_reward("200000 Yang kazandın.") say_reward("Kırık Porselen 1 adet kazandın.") say_reward("Alp Gülü 10 adet kazandın.") say_reward("Dut 10 adet kazandın.") pc.remove_item("31003",1) pc.give_exp2("2900000") pc.change_gold("200000") pc.give_item2("30033",1) pc.give_item2("50727",10) pc.give_item2("50728",10) pc.give_item2("50513",1) --- extra else say_reward("2000000 deneyim puanı kazandın.") say_reward("100000 Yang kazandın.") say_reward("Alp Gülü 10 adet kazandın.") say_reward("Dut 10 adet kazandın.") pc.remove_item("31003",1) pc.give_exp2("2000000") pc.change_gold("100000") pc.give_item2("50727",10) pc.give_item2("50728",10) end pc.delqf("kill_count") set_state(spy_report) end end state spy_report begin when letter with pc.get_level() >= 66 begin local v = find_npc_by_vnum(20370) if v != 0 then target.vid("__TARGET5__", v, "zehirliasker") end send_letter("Rapor") end when button or info begin say_title("Rapor") say("") say("Casus kendine geldi. Şeytan Katakombu'nda neler") say("gördüğünü dile.") say("") end when 20370.chat."Rapor" begin target.delete("__TARGET5__") say_title("Zehirlenen Asker") say("") say("Beni kurtardığın için teşekkür ederim. Şeytan") say("Katakombu'nda inanılmaz şeyler gördüm. Ama sonra") say("yakalandım ve...") say("") wait() say_title(""..pc.get_name()..":") say("") say("Neler gördün?") say("") wait() say_title("Zehirlenen Asker") say("") say("Kara pelerinli, yüzlerikara kapüşonlarıyla") say("örtülü insanlar vardı.") say("Ettikleri bir iki lakırdıdan Karanlığın Köleleri") say("olduklarını anladım. Ama dahası da var:") say("Kadın siluetine benzeyen dehşetli bir ruh,") say("başlarının üzerinde uçuyordu. Karanlığın Köleleri") say("bunlara Banshee diyordu.") say("") wait() say_title(""..pc.get_name()..":") say("") say("Bu kulağa pek iyi gelmiyor. Karanlığın Köleleri") say("ve Banshee'nin amacı ne?") say("") wait() say_title("Zehirlenen Asker") say("") say("Banshee kara büyüyle cehennem yarığından gelen") say("Agwi'ye şeytansı varlıklara büyü yaptı.") say("Agwiler'in Kralına Azrail diyorlardı.") say("") wait() say_title("Zehirlenen Asker") say("") say("Lee Chung'a bunu rapor etmek için hemen yola") say("koyuldum. Ama ayağım takıldı ve düştüm.") say("Ah, bu arada Kumandan Lee") say("Chung sana önemli bir şey söyleyecekti. En iyisi") say("hemen yanına git.") say("") set_state(leechung1) end end state leechung1 begin when letter with pc.get_level() >= 66 begin local v = find_npc_by_vnum(20369) if v != 0 then target.vid("__TARGET6__", v, "LeeChung") end send_letter("Karanlık Tehdit") end when button or info begin say_title("Karanlık Tehdit") say("") say("Lee Chung'a git ve onunla Şeytan") say("Katakombu'ndaki yeni tehditle ilgili konuş.") say("") end when 20369 chat."Karanlık Tehdit" begin target.delete("__TARGET6__") say_title("Lee Chung:") say("") say("Casusumun raporu korkutucu, değil mi? Agwiler'in") say("ortaya çıkmasından bir türlü tarikat olan") say("Karanlığın Köleleri sorumluymuş. Son Ejderha") say("Rahibesi'nin ruhunu uyandırdılar.") say("O da, kötünün görüntüsü Banshee olarak dünyaya") say("geri döndü ve büyülü güçleri sayesinde Şeytan") say("Tanrısı Sung Mahi'yi çağıracak.") say("") wait() say_title(""..pc.get_name()..":") say("") say("Ne? Bu Banshee son Ejderha Rahibesi'nin ruhu") say("muymuş?") say("") wait() say_title("Lee Chung:") say("") say("Kesinlikle. Ejderha kültündeki kardeşleri") say("arasında gökyüzünün dört kutsal nöbetçisini") say("çağırma ve kara büyü yapma gücüne bir tek o") say("sahipti. Artık bu yeni tehditin arkasında kim") say("olduğunu biliyoruz: Karanlığın Köleleri ve") say("Banshee karanlık milletin dehşet verici") say("eserini tamamlamaya ve Sung Mahi'yi uyandırmaya") say("çalışıyor!") say("") wait() say_title("Lee Chung:") say("") say("Sana çok şey borçluyuz: En iyi adamlarından") say("birini ölümden kurtardın ve bu şekilde") say("Agwi'nin birden bire belirmesi ve Şeytan") say("Katakombu'ndaki yeni tehditlerle ilgili bilgiler") say("edinebildik. Şimdi biraz dinlen - sonra") say("uygun bir taktik düşünürüz.") wait() say_title("Lee Chung:") say("") say("Macera seviye 72'ye ulaştığında devam edecek.") say("") clear_letter() set_state(complete) set_quest_state("spy_report","run") return end end state complete begin end end
Metin2 Quest Sistemi: anonymous_letter.quest Nedir ve Nasıl Çalışır?
Metin2 quest sistemleri, oyuncuların oyun içinde daha fazla etkileşimde bulunmasını sağlayan temel yapı taşlarından biridir. Özellikle sunucu geliştiricileri için önemli olan Metin2 quest lua dili ile yazılmış quest dosyaları, oyun deneyimini zenginleştirir. Bu yazıda özellikle anonymous_letter.quest dosyasını detaylı olarak ele alacağız.
anonymous_letter.quest Nedir?
Metin2 quest sistemlerinde yer alan anonymous_letter.quest, genellikle gizli veya anonim mektuplar yoluyla başlatılan özel görevleri yönetmek için kullanılır. Bu tür questler, oyuncuların oyun içinde sürpriz ödüller kazanmasına ya da belirli NPC’lerle etkileşim kurarak ilginç öykü akışları yaşamalarına olanak tanır.
Quest Dosyası Yapısı
Metin2 quest script dosyaları genellikle Lua dilinde yazılır. anonymous_letter.quest dosyası da bu yapıya uyan bir sistemdir. Bu dosya, oyuncuya mektup şeklinde gelen bir görevi başlatır. Görev, belirli quest trigger ile aktif edilir. Örneğin, bir NPC ile konuşulduğunda veya bir item kullanıldığında quest başlayabilir.
Quest İçeriği ve Akışı
Metin2 quest sistemlerinde anonymous_letter.quest gibi özel questler genellikle chain yapısında çalışır. Yani bir görev tamamlandığında diğerine geçiş sağlanır. Bu sayede oyuncular, birden fazla görevi sırayla yaparak oyunun hikâyesine daha fazla dahil olur. anonymous_letter.quest dosyası, bu zincirin başlangıcı veya ortasında yer alabilir.
Quest Görevleri ve Hedefler
Metin2 quest sistem dosyalarında anonymous_letter.quest, oyuncudan belirli quest mob[/CR] öldürmesini, özel quest item toplamasını veya belirli bir konuma gitmesini talep edebilir. Bu görevler, quest reward kısmında ödüllerle takviye edilir. anonymous_letter.quest, bu tür görevleri gizli ve sürpriz bir tarzda sunar.
Quest Debug ve Hata Ayıklama
Metin2 quest hata ayıklama işlemleri sırasında anonymous_letter.quest dosyasının doğru çalışmadığı durumlarda, geliştiricilerin quest debug yöntemlerini kullanması gerekir. Quest dosyasının quest state[/CR] ve quest flag[/CR] yapıları incelenerek sorunlar çözülebilir.
Sonuç
Metin2 quest geliştirme süreçlerinde anonymous_letter.quest gibi özel quest dosyaları, oyuncu deneyimini farklı boyutlara taşıyabilir. Doğru yapılandırıldığında, bu tür questler hem eğlendirici hem de ödüllendirici bir sistem sunar.
Metin2 Quest System: What is anonymous_letter.quest and How Does It Work?
Metin2 quest systems are one of the fundamental elements that allow players to interact more within the game. Especially for server developers, Metin2 quest lua written quest files enrich the gaming experience. In this article, we will examine the anonymous_letter.quest file in detail.
What is anonymous_letter.quest?
Metin2 quest systems feature the anonymous_letter.quest file which is typically used to manage special quests initiated through hidden or anonymous letters. Such quests allow players to receive surprise rewards or engage in interesting storylines by interacting with certain NPCs.
Structure of the Quest File
Metin2 quest script files are generally written in the Lua language. The anonymous_letter.quest file also follows this structure. This file triggers a quest delivered to the player in the form of a letter. The quest starts upon a specific quest trigger[/CR]. For instance, speaking to an NPC or using an item may initiate the quest.
Content and Flow of the Quest
Metin2 quest[/CR] systems like anonymous_letter.quest usually operate in a chain format. As one quest completes, the next one begins. This allows players to complete multiple quests in sequence, immersing them further into the game's narrative. The anonymous_letter.quest file can serve as the beginning or middle part of such a chain.
Quest Tasks and Objectives
Metin2 quest system[/CR] files like anonymous_letter.quest may require the player to kill specific quest mob[/CR], collect special quest item[/CR], or travel to a specific location. These tasks are rewarded via the quest reward[/CR] section. anonymous_letter.quest presents these kinds of missions in a mysterious and surprising way.
Quest Debugging and Error Correction
Metin2 quest error[/CR] debugging processes may require developers to use quest debug[/CR] methods when the anonymous_letter.quest file does not work correctly. Issues can be resolved by examining the quest state[/CR] and quest flag[/CR] structures of the quest file.
Conclusion
Metin2 quest development[/CR] processes can elevate player experiences with special quest files like anonymous_letter.quest. When configured correctly, these types of quests offer both entertaining and rewarding gameplay.
