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 Dosyası ve Kullanımı
Metin2, MMORPG oyunlarında popüler olan bir yapıdır ve sunucu tarafında özelleştirilebilir birçok sisteme sahiptir. Bu sistemlerden biri de quest (görev) sistemidir. Quest sistemleri, oyuncuların oyun içinde belirli görevleri yaparak ödüller kazanmalarını sağlar. anonymous_letter.quest, Metin2 quest sistemine özel olarak yazılmış, belirli bir işlevi yerine getiren bir quest dosyasıdır. Bu yazıda, anonymous_letter.quest dosyasının ne olduğu, nasıl çalıştığı ve Metin2 sunucularında nasıl kullanıldığı üzerine detaylı bilgiler bulacaksınız.
anonymous_letter.quest Nedir?
anonymous_letter.quest, genellikle Metin2 sunucularında anonim mektup gönderimiyle ilgili görevleri yönetmek için kullanılan bir Lua tabanlı quest dosyasıdır. Oyunculara belirli görevler vererek, mektup gönderme veya alma gibi eylemleri tetikleyebilir. Bu dosya, quest sisteminin gelişmiş kullanım örneklerinden biridir ve doğru şekilde yapılandırıldığında sunucuda etkileyici etkileşimli olaylar yaratabilir.
Quest Yazımında Temel Yapı
Metin2 quest sistemleri Lua dilinde yazılmaktadır. anonymous_letter.quest dosyası da bu yapıya uygun olarak hazırlanır. Quest dosyasında kullanılan temel komutlar arasında quest_begin, quest_end, trigger, timer, flag gibi kavramlar yer alır. Bu yapılar, quest’in hangi koşullarda başlayacağını, biteceğini ve arada neler olacağını belirler.
Quest Trigger ve State Kullanımı
Trigger kavramı, oyuncunun belirli bir eylemi gerçekleştirmesi durumunda quest’in aktif hale gelmesini sağlar. Örneğin, oyuncu bir NPC ile konuşunca anonymous_letter.quest aktif olabilir. State ise quest’in o anki durumunu gösterir. Başlamış, devam ediyor ya da bitmiş gibi.
Quest Timer ve Flag Özellikleri
Timer, quest içinde zamanlamaya dayalı işlemler için kullanılır. Belirli bir süre sonra bir eylemin yapılmasını sağlayabilir. Flag ise oyuncunun quest ile ilgili bir bilgiye sahip olduğunu veya bir görevi tamamladığını belirtmek için kullanılır. anonymous_letter.quest içinde bu yapılarla mektup gönderme süresi gibi zamanlamalar ayarlanabilir.
Quest Reward ve Item Yönetimi
Oyuncu quest'i başarıyla tamamladığında, reward bloğu ile belirlenen ödüller verilir. Bu ödüller para, item veya deneyim puanı olabilir. Item yönetimi, quest içindeki ekipman veya kullanılabilir objelerin kontrolünü sağlar. anonymous_letter.quest ile mektup gönderimi sonrası ödül olarak item verilmesi gibi senaryolar oluşturulabilir.
Quest Debug ve Hata Ayıklama
Quest yazarken hatalarla karşılaşmak kaçınılmazdır. Debug yöntemleri kullanarak quest logları incelenir ve hatalar düzeltilir. anonymous_letter.quest dosyasında hata varsa, oyuncular quest'e başlayamayabilir veya görev doğru çalışmayabilir. Bu yüzden test aşaması önemlidir.
Metin2 Lobby ve Quest Geliştirme
Metin2Lobby, Metin2 quest sistemleri konusunda geniş kaynaklara sahiptir. anonymous_letter.quest gibi özel quest dosyaları için örnekler ve destekler sunulmaktadır. Quest geliştirme sürecinde bu platformlardan faydalanmak büyük kolaylık sağlar.
Sonuç
anonymous_letter.quest, Metin2 quest sistemlerinde anonim mektup gibi sosyal etkileşimlerin sağlanmasında önemli bir rol oynar. Doğru yapılandırıldığında hem oyuncular için eğlenceli hem de sunucu yöneticileri için etkili bir araç haline gelir. Quest sistemleri hakkında daha fazla bilgi almak istiyorsanız Metin2Lobby üzerinden detaylı rehberlere ulaşabilirsiniz.
Metin2 Quest System: anonymous_letter.quest File and Its Usage
Metin2 is a popular structure in MMORPG games and has many customizable systems on the server side. One of these systems is the quest system. Quest systems allow players to earn rewards by completing specific tasks within the game. anonymous_letter.quest is a quest file specifically designed for the Metin2 quest system, serving a particular function. In this article, you will find detailed information about what the anonymous_letter.quest file is, how it works, and how it is used in Metin2 servers.
What is anonymous_letter.quest?
anonymous_letter.quest is generally a Lua-based quest file used in Metin2 servers to manage quests related to sending anonymous letters. It assigns certain tasks to players and triggers actions like sending or receiving letters. This file is one of the advanced usage examples of the quest system and can create impressive interactive events on the server when configured correctly.
Basic Structure in Quest Writing
Metin2 quest systems are written in the Lua language. The anonymous_letter.quest file is also prepared according to this structure. Basic commands used in the quest file include quest_begin, quest_end, trigger, timer, flag. These structures determine under which conditions the quest starts, ends, and what happens in between.
Quest Trigger and State Usage
Trigger refers to the activation of a quest when a player performs a specific action. For example, speaking with an NPC might activate the anonymous_letter.quest. State indicates the current status of the quest—whether it has started, is ongoing, or completed.
Quest Timer and Flag Features
Timer is used for timed operations within the quest. It allows actions to be performed after a certain duration. Flag is used to indicate that the player possesses certain information related to the quest or has completed a task. Within anonymous_letter.quest, these structures can be used to set timing for letter-sending processes.
Quest Reward and Item Management
Upon successful completion of the quest, rewards defined in the reward block are given to the player. These rewards can be gold, items, or experience points. Item management handles the control of equipment or usable objects within the quest. Scenarios such as rewarding an item after sending a letter via anonymous_letter.quest can be created.
Quest Debugging and Error Handling
Encountering errors while writing quests is inevitable. Debug methods can be used to examine quest logs and fix errors. If there are issues in the anonymous_letter.quest file, players may not be able to start the quest or it may not function properly. Therefore, the testing phase is crucial.
Metin2 Lobby and Quest Development
Metin2Lobby provides extensive resources on Metin2 quest systems. Examples and support for special quest files like anonymous_letter.quest are available. Utilizing platforms like this during the quest development process offers significant convenience.
Conclusion
anonymous_letter.quest plays an important role in facilitating social interactions like anonymous letters in Metin2 quest systems. When properly configured, it becomes both fun for players and an effective tool for server administrators. To learn more about quest systems, visit Metin2Lobby for detailed guides.
