Her 10 seviyede bir görev verir, seviyesine göre metin ve boss kestirir ödül olarak bonus verir.
Kod:
state start begin when login or levelup with pc.get_level() >= 10 begin send_letter("Savas ustasi (10Lv) ") setstate(lvGorevleri_10start) end end state lvGorevleri_10start begin when button or info begin say_title("Savas Ustasi") say("Tebrikler 10lv. oldun artik egitime baslayabilirsin") say("Ancak savas ustasi önce kendini kanitlamani istiyor,") say("Kendini kanitlamak icin önce bagzi canavarlarla savasmalisin!") say("Bu görevi tamamladiginda sana; 10 Hayvanlara karsi güc verilecektir.") say("Öldürmen gereken yaratığın adı: "..mob_name(691)) say("Kırman gereken metnin adı: "..mob_name(8003)) end when 691.kill or 8003.kill begin local count = pc.getqf("state") + 1 if count <= 2 then pc.setqf("state", count) if count == 2 then say_title("Görevi tamamladın!") say("İşte ödülün:") affect.add_collect(apply.ATTBONUS_ANIMAL , 10 , 60*60*24*365*60) --ödül vnum,adet set_state(lvGorevleri_10end) end end end end state lvGorevleri_10end begin when login or levelup with pc.get_level() >= 20 begin send_letter("Savas ustasi (20lv) ") setstate(lvGorevleri_20start) end end state lvGorevleri_20start begin when button or info begin say_title("Savas Ustasi") say("20 Lv. oldun artik bir sonraki seviyeye geçebilirsin.") say("Bu görevi tamamladiginda sana; 10 seytanlara karsi güc verilecektir.") say("") say("Öldürmen gereken yaratığın adı: "..mob_name(5163)) say("Kırman gereken metnin adı: "..mob_name(8005)) end when 5163.kill or 8005.kill begin local count = pc.getqf("state") + 1 if count <= 2 then pc.setqf("state", count) if count == 2 then say_title("Görevi tamamladın!") say("İşte ödülün:") affect.add_collect(apply.ATTBONUS_DEVIL , 10 , 60*60*24*365*60) --ödül vnum,adet set_state(lvGorevleri_20end) end end end end state lvGorevleri_20end begin when login or levelup with pc.get_level() >= 30 begin send_letter("Savas ustasi (30Lv) ") setstate(lvGorevleri_30start) end end state lvGorevleri_30start begin when button or info begin say_title("Savas Ustasi") say("30 Lv. oldun artik bir sonraki seviyeye geçebilirsin.") say("Bu görevi tamamladiginda sana; 10 ölümsüzlere karsi güc verilecektir.") say("") say("Öldürmen gereken yaratığın adı: "..mob_name(1304)) say("Kırman gereken metnin adı: "..mob_name(8006)) end when 1304.kill or 8006.kill begin local count = pc.getqf("state") + 1 if count <= 2 then pc.setqf("state", count) if count == 2 then say_title("Görevi tamamladın!") say("İşte ödülün:") affect.add_collect(apply.ATTBONUS_UNDEAD , 10 , 60*60*24*365*60) --ödül vnum,adet set_state(lvGorevleri_30end) end end end end state lvGorevleri_30end begin when login or levelup with pc.get_level() >= 40 begin send_letter("Savas ustasi (40Lv) ") setstate(lvGorevleri_40start) end end state lvGorevleri_40start begin when button or info begin say_title("Savas Ustasi") say("40 Lv. oldun artik bir sonraki seviyeye geçebilirsin.") say("Bu görevi tamamladiginda sana; 10 Canlilik verilecektir.") say("") say("Öldürmen gereken yaratığın adı: "..mob_name(2091)) say("Kırman gereken metnin adı: "..mob_name(8008)) end when 2091.kill or 8008.kill begin local count = pc.getqf("state") + 1 if count <= 2 then pc.setqf("state", count) if count == 2 then say_title("Görevi tamamladın!") say("İşte ödülün:") affect.add_collect(apply.CON , 10 , 60*60*24*365*60) --ödül vnum,adet set_state(lvGorevleri_40end) end end end end state lvGorevleri_40end begin when login or levelup with pc.get_level() >= 50 begin send_letter("Savas ustasi (50Lv) ") setstate(lvGorevleri_50start) end end state lvGorevleri_50start begin when button or info begin say_title("Savas Ustasi") say("50 Lv. oldun artik bir sonraki seviyeye geçebilirsin.") say("Bu görevi tamamladiginda sana; 10 Güç verilecektir.") say("") say("Öldürmen gereken yaratığın adı: "..mob_name(1901)) say("Kırman gereken metnin adı: "..mob_name(8011)) end when 1901.kill or 8011.kill begin local count = pc.getqf("state") + 1 if count <= 2 then pc.setqf("state", count) if count == 2 then say_title("Görevi tamamladın!") say("İşte ödülün:") affect.add_collect(apply.STR , 10 , 60*60*24*365*60) --ödül vnum,adet set_state(lvGorevleri_50end) end end end end state lvGorevleri_50end begin when login or levelup with pc.get_level() >= 60 begin send_letter("Savas ustasi (60Lv) ") setstate(lvGorevleri_60start) end end state lvGorevleri_60start begin when button or info begin say_title("Savas Ustasi") say("60 Lv. oldun artik bir sonraki seviyeye geçebilirsin.") say("Bu görevi tamamladiginda sana; 10 Dex verilecektir.") say("Bu görevi tamamladiginda sana; 10 Zeka verilecektir.") say("") say("Öldürmen gereken yaratığın adı: "..mob_name(1304)) say("Kırman gereken metnin adı: "..mob_name(8012)) end when 1304.kill or 8012.kill begin local count = pc.getqf("state") + 1 if count <= 2 then pc.setqf("state", count) if count == 2 then say_title("Görevi tamamladın!") say("İşte ödülün:") affect.add_collect(apply.DEX , 10 , 60*60*24*365*60) --ödül vnum,adet affect.add_collect(apply.INT , 10 , 60*60*24*365*60) --ödül vnum,adet set_state(lvGorevleri_60end) end end end end state lvGorevleri_60end begin when login or levelup with pc.get_level() >= 70 begin send_letter("Savas ustasi (70Lv) ") setstate(lvGorevleri_70start) end end state lvGorevleri_70start begin when button or info begin say_title("Savas Ustasi") say("70 Lv. oldun artik bir sonraki seviyeye geçebilirsin.") say("Bu görevi tamamladiginda sana; 10 Delici verilecektir.") say("") say("Öldürmen gereken yaratığın adı: "..mob_name(2206)) say("Kırman gereken metnin adı: "..mob_name(8014)) end when 2206.kill or 8014.kill begin local count = pc.getqf("state") + 1 if count <= 2 then pc.setqf("state", count) if count == 2 then say_title("Görevi tamamladın!") say("İşte ödülün:") affect.add_collect(apply.PENETRATE_PCT , 10 , 60*60*24*365*60) --ödül vnum,adet set_state(lvGorevleri_70end) end end end end state lvGorevleri_70end begin when login or levelup with pc.get_level() >= 75 begin send_letter("Savas ustasi (70Lv) ") setstate(lvGorevleri_75start) end end state lvGorevleri_75start begin when button or info begin say_title("Savas Ustasi") say("75 Lv. oldun artik bir sonraki seviyeye geçebilirsin.") say("Bu görevi tamamladiginda sana; +1000 Max. HP verilecektir.") say("") say("Öldürmen gereken yaratığın adı: "..mob_name(2598)) say("Kırman gereken metnin adı: "..mob_name(8016)) end when 2298.kill or 8016.kill begin local count = pc.getqf("state") + 1 if count <= 2 then pc.setqf("state", count) if count == 2 then say_title("Görevi tamamladın!") say("İşte ödülün:") affect.add_collect(apply.MAX_HP , 1000 , 60*60*24*365*60) --ödül vnum,adet set_state(lvGorevleri_70end) end end end end state lvGorevleri_75end begin when login or levelup with pc.get_level() >= 80 begin send_letter("Savas ustasi (80Lv) ") setstate(lvGorevleri_80start) end end state lvGorevleri_80start begin when button or info begin say_title("Savas Ustasi") say("80 Lv. oldun artik bir sonraki seviyeye geçebilirsin.") say("Bu görevi tamamladiginda sana; 10 Kritik verilecektir.") say("") say("Öldürmen gereken yaratığın adı: "..mob_name(1093)) say("Kırman gereken metnin adı: "..mob_name(8025)) end when 1093.kill or 8025.kill begin local count = pc.getqf("state") + 1 if count <= 2 then pc.setqf("state", count) if count == 2 then say_title("Görevi tamamladın!") say("İşte ödülün:") affect.add_collect(apply.CRITICAL_PCT , 10 , 60*60*24*365*60) --ödül vnum,adet set_state(lvGorevleri_80end) end end end end state lvGorevleri_80end begin when login or levelup with pc.get_level() >= 85 begin send_letter("Savas ustasi (85Lv) ") setstate(lvGorevleri_90start) end end state lvGorevleri_85start begin when button or info begin say_title("Savas Ustasi") say("90 Lv. oldun artik bir sonraki seviyeye geçebilirsin.") say("Bu görevi tamamladiginda sana; 10 Canavarlara karsi güc verilecektir.") say("") say("Öldürmen gereken yaratığın adı: "..mob_name(2092)) say("Kırman gereken metnin adı: "..mob_name(8026)) end when 2092.kill or 8026.kill begin local count = pc.getqf("state") + 1 if count <= 2 then pc.setqf("state", count) if count == 2 then say_title("Görevi tamamladın!") say("İşte ödülün:") affect.add_collect(apply.ATTBONUS_MONSTER , 10 , 60*60*24*365*60) --ödül vnum,adet AYARLANMADI set_state(lvGorevleri_85end) end end end end state lvGorevleri_85end begin when login or levelup with pc.get_level() >= 90 begin send_letter("Savas ustasi (90Lv) ") setstate(lvGorevleri_90start) end end state lvGorevleri_90start begin when button or info begin say_title("Savas Ustasi") say("90 Lv. oldun artik bir sonraki seviyeye geçebilirsin.") say("Bu görevi tamamladiginda sana; 30 Saldiri Degeri verilecektir.") say("") say("Öldürmen gereken yaratığın adı: "..mob_name(2493)) say("Kırman gereken metnin adı: "..mob_name(8027)) end when 2092.kill or 8027.kill begin local count = pc.getqf("state") + 1 if count <= 2 then pc.setqf("state", count) if count == 2 then say_title("Görevi tamamladın!") say("İşte ödülün:") affect.add_collect(apply.ATT_GRADE_BONUS , 30 , 60*60*24*365*60) --ödül vnum,adet set_state(lvGorevleri_90end) end end end end state lvGorevleri_90end begin when login or levelup with pc.get_level() >= 95 begin send_letter("Savas ustasi (95Lv) ") setstate(lvGorevleri_95start) end end state lvGorevleri_95start begin when button or info begin say_title("Savas Ustasi") say("95 Lv. oldun artik bir sonraki seviyeye geçebilirsin.") say("Bu görevi tamamladiginda sana; 10 Metinlere Karsi Güc verilecektir.") say("") say("Öldürmen gereken yaratığın adı: "..mob_name(6091)) say("Kırman gereken metnin adı: "..mob_name(8051)) end when 6091.kill or 8051.kill begin local count = pc.getqf("state") + 1 if count <= 2 then pc.setqf("state", count) if count == 2 then say_title("Görevi tamamladın!") say("İşte ödülün:") affect.add_collect(apply.ATTBONUS_STONE , 10 , 60*60*24*365*60) --ödül vnum,adet set_state(lvGorevleri_90end) end end end end state lvGorevleri_95end begin when login or levelup with pc.get_level() >= 100 begin send_letter("Savas ustasi (100Lv) ") setstate(lvGorevleri_100start) end end state lvGorevleri_100start begin when button or info begin say_title("Savas Ustasi") say("100 Lv. oldun artik bir sonraki seviyeye geçebilirsin.") say("Bu görevi tamamladiginda sana; 10 Bosslara Karsi Güc verilecektir.") say("") say("Öldürmen gereken yaratığın adı: "..mob_name(6191)) say("Kırman gereken metnin adı: "..mob_name(8053)) end when 6191.kill or 8053.kill begin local count = pc.getqf("state") + 1 if count <= 2 then pc.setqf("state", count) if count == 2 then say_title("Görevi tamamladın!") say("İşte ödülün:") affect.add_collect(apply.ATTBONUS_BOSS , 10 , 60*60*24*365*60) --ödül vnum,adet set_state(lvGorevleri_100end) end end end end state lvGorevleri_100end begin when login or levelup with pc.get_level() >= 105 begin send_letter("Savas ustasi (105Lv) ") setstate(lvGorevleri_105start) end end state lvGorevleri_105start begin when button or info begin say_title("Savas Ustasi") say("105 Lv. oldun artik bir sonraki seviyeye geçebilirsin.") say("Bu görevi tamamladiginda sana; 5 Savasciya Karsi Güc verilecektir.") say("Bu görevi tamamladiginda sana; 5 yari insanlara Karsi Güc verilecektir.") say("") say("Öldürmen gereken yaratığın adı: "..mob_name(6418)) say("Kırman gereken metnin adı: "..mob_name(8055)) end when 8055.kill or 8053.kill begin local count = pc.getqf("state") + 1 if count <= 2 then pc.setqf("state", count) if count == 2 then say_title("Görevi tamamladın!") say("İşte ödülün:") affect.add_collect(apply.ATTBONUS_WARRIOR , 5 , 60*60*24*365*60) --ödül vnum,adet affect.add_collect(apply.ATTBONUS_HUMAN , 5 , 60*60*24*365*60) --ödül vnum,adet set_state(lvGorevleri_105end) end end end end state lvGorevleri_105end begin when login or levelup with pc.get_level() >= 110 begin send_letter("Savas ustasi (110Lv) ") setstate(lvGorevleri_110start) end end state lvGorevleri_110start begin when button or info begin say_title("Savas Ustasi") say("110 Lv. oldun artik bir sonraki seviyeye geçebilirsin.") say("Bu görevi tamamladiginda sana; 5 ninjaya Karsi Güc verilecektir.") say("Bu görevi tamamladiginda sana; 5 yari insanlara Karsi Güc verilecektir.") say("") say("Öldürmen gereken yaratığın adı: "..mob_name(3964)) say("Kırman gereken metnin adı: "..mob_name(8059)) end when 3964.kill or 8059.kill begin local count = pc.getqf("state") + 1 if count <= 2 then pc.setqf("state", count) if count == 2 then say_title("Görevi tamamladın!") say("İşte ödülün:") affect.add_collect(apply.ATTBONUS_ASSASSIN , 5 , 60*60*24*365*60) --ödül vnum,adet affect.add_collect(apply.ATTBONUS_HUMAN , 5 , 60*60*24*365*60) --ödül vnum,adet set_state(lvGorevleri_110end) end end end end state lvGorevleri_110end begin when login or levelup with pc.get_level() >= 115 begin send_letter("Savas ustasi (115Lv) ") setstate(lvGorevleri_115start) end end state lvGorevleri_115start begin when button or info begin say_title("Savas Ustasi") say("115 Lv. oldun artik bir sonraki seviyeye geçebilirsin.") say("Bu görevi tamamladiginda sana; 5 suraya Karsi Güc verilecektir.") say("Bu görevi tamamladiginda sana; 5 yari insanlara Karsi Güc verilecektir.") say("") say("Öldürmen gereken yaratığın adı: "..mob_name(55264)) say("Kırman gereken metnin adı: "..mob_name(8061)) end when 55264.kill or 8061.kill begin local count = pc.getqf("state") + 1 if count <= 2 then pc.setqf("state", count) if count == 2 then say_title("Görevi tamamladın!") say("İşte ödülün:") affect.add_collect(apply.ATTBONUS_SURA , 5 , 60*60*24*365*60) --ödül vnum,adet affect.add_collect(apply.ATTBONUS_HUMAN , 5 , 60*60*24*365*60) --ödül vnum,adet set_state(lvGorevleri_115end) end end end end state lvGorevleri_115end begin when login or levelup with pc.get_level() >= 120 begin send_letter("Savas ustasi (120Lv) ") setstate(lvGorevleri_120start) end end state lvGorevleri_120start begin when button or info begin say_title("Savas Ustasi") say("115 Lv. oldun artik bir sonraki seviyeye geçebilirsin.") say("Bu görevi tamamladiginda sana; 5 saman Karsi Güc verilecektir.") say("Bu görevi tamamladiginda sana; 5 lycan Karsi Güc verilecektir.") say("Bu görevi tamamladiginda sana; 5 yari insanlara Karsi Güc verilecektir.") say("Bu görevi tamamladiginda sana; 50 EP Kuponu verilecektir.") say("") say("Öldürmen gereken yaratığın adı: "..mob_name(101)) say("Kırman gereken metnin adı: "..mob_name(8061)) end when 101.kill or 8061.kill begin local count = pc.getqf("state") + 1 if count <= 2 then pc.setqf("state", count) if count == 2 then say_title("Görevi tamamladın!") say("İşte ödülün:") affect.add_collect(apply.ATTBONUS_SHAMAN , 5 , 60*60*24*365*60) --ödül vnum,adet affect.add_collect(apply.ATTBONUS_HUMAN , 5 , 60*60*24*365*60) --ödül vnum,adet affect.add_collect(apply.ATTBONUS_WOLFMAN , 5 , 60*60*24*365*60) --ödül vnum,adet pc.give_item2(80015,1) --ödül vnum,adet set_state(__COMPLETE__) end end end end state __COMPLETE__ begin end
Level Görevleri [Ayarlı]: Metin2 Oyununda Görev Sistemini Zenginleştirin
Metin2 Lobby, oyuncuların oyun deneyimini zenginleştirmek adına sunucu özelinde özelleştirilmiş Level Görevleri sunmaktadır. Bu sistem, oyuncuların belirli seviyelere ulaştıkça özel görevler yapmalarını sağlar. Bu görevler sayesinde, hem oyun içi ilerleme daha dengeli olur hem de oyunculara ekstra ödüller kazandırılır. Bu yazıda, Level Görevleri [Ayarlı] konusunu detaylıca ele alacağız ve Metin2 quest sistemine dair önemli bilgiler vereceğiz.
Level Görevleri Nedir?
Level Görevleri, oyuncuların belirli level aralıklarında tamamlamaları gereken özel görevlerdir. Bu görevler, genellikle quest sistem üzerinden çalışır. Her seviye aralığında farklı zorlukta ve ödüllerde görevler sunulabilir. Örneğin 15. levele ulaşan oyuncuya bir mob öldürme görevi verilebilir. Bu görevi tamamlayan oyuncuya özel item veya exp ödülü verilir. Bu sistem, oyun içi dengeleri korumaya yardımcı olurken, aynı zamanda oyuncuların motivasyonunu artırır.
Ayarlı Görevlerin Özellikleri
Ayarlı görevler, geliştirici tarafından özelleştirilmiş ve sunucuya özel olarak ayarlanmış questlerdir. Bu görevler, standart Metin2 sisteminden farklı olarak, lua script kullanılarak oluşturulmuştur. Bu sayede, daha karmaşık yapılar ve daha fazla etkileşim kurulabilir. Quest geliştirme sürecinde kullanılan lua dili, geliştiricilere büyük esneklik sağlar. Timer, trigger, flag, state gibi kavramlar, questlerin daha akıcı ve dinamik olmasına olanak tanır.
Quest Yazımı ve Hata Ayıklama
Metin2 quest yazımı, genellikle lua dilinde yapılır. Doğru bir quest yazabilmek için, quest script yapısını iyi bilmek gerekir. Begin ve end blokları arasındaki komutlar, questin nasıl çalışacağını belirler. Hatalar genellikle syntax eksikliklerinden veya yanlış flag kullanımı gibi nedenlerden kaynaklanır. Debug işlemleri, bu hataları tespit etmede oldukça önemlidir. Quest edit süreçleri sırasında dikkat edilmesi gereken detaylar vardır. Yanlış bir komut, tüm questin çalışmasını engelleyebilir.
NPC ve Mob Kullanımı
Level görevleri, genellikle NPC ile başlatılır. Oyuncu NPC'ye gelip görevi kabul eder. Daha sonra, belirtilen mobları öldürmesi istenir. Bu görevlerde, quest chain yapıları da kullanılabilir. Yani bir görevin bitimiyle diğer görevin otomatik olarak başlaması sağlanabilir. Bu yapılar, oyuncuların uzun vadeli hedefler koymasına yardımcı olur.
Daily Quest ve Ekstra Ödüller
Bazı level görevleri, günlük olarak tekrarlanabilen görevler şeklinde ayarlanabilir. Bu tür görevler, daily quest olarak adlandırılır. Günlük görevleri yapan oyunculara, özel rewardlar verilir. Bu ödüller, item, gold, exp veya özel quest item olabilir. Bu sistem, oyuncuların her gün oyuna giriş yapmasını teşvik eder.
Sunucu Özel Görevler
Metin2 sunucuları, kendi özel custom quest sistemlerini kurabilir. Bu questler, standart oyun yapısından farklıdır ve sunucuya özel geliştirilmiştir. Metin2dev veya martysama gibi platformlardan alınan questler, sunucuya entegre edilebilir. Ancak, bu questlerin doğru çalışması için test edilmesi ve gerekirse düzenlenmesi gerekir.
Sonuç
Level Görevleri [Ayarlı], Metin2 oyun deneyimini zenginleştiren önemli bir özelliktir. Doğru tasarlanmış quest sistemleri, oyuncuların uzun süre oyunda kalmasını sağlar. Lua tabanlı scriptler sayesinde, sınırsız fikir üretimi ve özelleştirme imkanı sunulur. Metin2 Lobby olarak, bu tür gelişmiş görev sistemlerini sunucumuza entegre ederek, oyuncularımıza daha keyifli bir deneyim sunuyoruz.
Customized Level Quests: Enhance Your Metin2 Experience
Metin2 Lobby offers customized Level Quests designed to enrich the gaming experience for players. This system allows players to undertake special quests when they reach certain levels. These quests help balance progression within the game while providing additional rewards. In this article, we will explore Customized Level Quests in detail and provide important information about the Metin2 quest system.
What Are Level Quests?
Level Quests are special tasks assigned to players at specific level intervals. These quests operate through the quest system. Different quests with varying difficulty and rewards can be offered at each level range. For example, a player reaching level 15 might be given a task to defeat a certain mob. Upon completion, the player receives special items or experience points. This system helps maintain in-game balance while increasing player motivation.
Features of Customized Quests
Customized quests are specially configured and tailored to the server by developers. These quests are created using lua scripts, allowing for more complex structures and enhanced interactions. The use of lua provides great flexibility to developers during quest development. Concepts like timer, trigger, flag, and state allow quests to become more fluid and dynamic.
Writing Quests and Debugging
Writing Metin2 quests typically involves using the lua language. To write an effective quest, one must understand the structure of quest scripts. Commands between begin and end blocks determine how the quest functions. Errors often stem from syntax mistakes or incorrect use of flags. Debugging processes are crucial for identifying such issues. Attention to detail during quest editing is essential, as even a single wrong command can prevent the entire quest from functioning properly.
Using NPCs and Mobs
Level quests usually start with an NPC. The player interacts with the NPC to accept the quest. Then, the player may be asked to defeat specific mobs. Quest chains can also be implemented so that completing one quest triggers another automatically. Such structures encourage players to set long-term goals.
Daily Quests and Extra Rewards
Some level quests can be configured as daily repeatable tasks, known as daily quests. Players completing these quests receive special rewards, which may include items, gold, exp, or unique quest items. This system encourages players to log into the game every day.
Server-Specific Quests
Metin2 servers can implement their own custom custom quests. These quests differ from standard gameplay and are developed specifically for the server. Quests obtained from platforms like Metin2dev or martysama can be integrated into the server. However, testing and adjusting these quests is necessary to ensure proper functionality.
Conclusion
Customized Level Quests are an important feature that enhances the Metin2 gaming experience. Well-designed quest systems encourage players to remain engaged longer. Thanks to lua-based scripting, unlimited creativity and customization options are available. At Metin2 Lobby, we integrate such advanced quest systems into our server to provide a more enjoyable experience for our players.
