Kod:
## HermeSSentinuS TR Files Beceri Sıfırlama Quest ## quest skill_reset2 begin state start begin when 9006.chat."Becerileri Sıfırla" begin if pc.level < 5 then say_title("Yaşlı Kadın:") say("Önce birşeyler öğrenmelisin.") return end if pc.get_skill_group()==0 then say_title("Yaşlı Kadın:") say("Bir eğitim almamışsın ve sıfırlayacak beceri") say("puanın yok.") return end local cost = 10000 + pc.level * 2000 local s = 0 if not pc.has_master_skill() then say_title("Yaşlı Kadın:") say("Merhaba, doğru adrese geldin. Gözlerinden bir çok") say("acı okuyabiliyorum. Ben insanların bildikleri") say("ve becerilerini unutup yeniden bir başlangıç") say("yapabilmelerini sağlıyabiliyorum. Becerilerini") say("unutup, yeniden başlamak istiyor musun?") say("Ücreti: "..cost.." Yang.") s = select( "Becerileri Sıfırla", "Sıfırlama") else say_title("Yaşlı Kadın:") say("Merhaba, doğru adrese geldin. Gözlerinden bir çok") say("acı okuyabiliyorum. Ben insanların bildikleri") say("ve becerilerini unutup yeniden bir başlangıç") say("yapabilmelerini sağlıyabiliyorum. Becerilerini") say("unutup, yeniden başlamak istiyor musun?") say("Ücreti: "..cost.." Yang.") s = select( "Becerileri Sıfırla", "Sıfırlama") end if 2==s then say_title("Yaşlı Kadın:") say("Eğer fikrini değiştirirsen, tekrar ziyaretime") say("gel.") return end if pc.money < cost then say_title("Yaşlı Kadın:") say("Yeterince Yang'ın yok. Sana yardımcı olamam;") say("benim de kendime bakabilmek için paraya ihtiyacım var. ") return end pc.changegold(-cost) pc.clear_skill() pc.set_skill_group(0) set_quest_state("skill_group","run") end end end
Yukarıdaki kodu /usr/game/share/locale/turkey/quest dizinindeki skill_reset2.quest ve skill_reset2.txt içine yapıştırınız
PuTTY login olup cd /usr/game/share/locale/turkey/quest
./qc skill_reset2.quest yazınız işlem bu kadardır. yazılar tamamen Orjinalinden alıntıdır.
YENİ NPC: 9006 - Yaşlı Kadın Olacaktır.
Beceri Sıfırlama Questi Level Sınırı Yok!
Metin2 Lobby olarak sunucularınızda kullanabileceğiniz özgün ve güçlü bir quest sisteminden bahsedeceğiz. Bu rehberde özellikle beceri sıfırlama konusuna odaklanarak, level sınırı olmayan bir quest yapısını Lua scripti üzerinden nasıl entegre edebileceğinizi anlatacağız. Metin2 sunucularında beceri sıfırlama işlemi genellikle belirli seviye veya eşya koşullarına tabidir. Ancak burada anlatılan quest sayesinde oyuncuların becerilerini herhangi bir level engeli olmadan sıfırlamasını sağlayabilirsiniz.
Quest Nedir ve Nasıl Çalışır?
Quest sistemleri, Metin2 oyununda oyunculara belirli görevler vererek ödül veya statü kazandıran dinamik sistemlerdir. Genellikle Lua dilinde yazılmaktadır. Quest yazımı sırasında dikkat edilmesi gereken birçok detay vardır. Bunlar arasında trigger, flag, state, timer, reward gibi kavramlar yer alır. Metin2 Lobby kullanıcıları olarak, bu yapıları daha iyi anlamak ve geliştirmek için sürekli örnekler üzerinde çalışıyoruz.
Beceri Sıfırlama Questi Nasıl Hazırlanır?[/BX]
Bu quest, oyuncuların becerilerini sıfırlamasına olanak tanır. Normalde Metin2'de beceri sıfırlama işlemi belirli bir seviyeyi geçtikten sonra yapılabilir. Ancak bu özel quest ile bu sınırlama ortadan kaldırılır. Oyuncu quest'i başlatıp belirtilen adımları tamamladığında becerilerini sıfırlama hakkı kazanır. Quest yapısı aşağıdaki gibi özetlenebilir:
- Quest adı: reset_skills_no_level
- Trigger: /quest reset_skills_no_level start
- Reward: Beceri sıfırlama hakkı
- Flag: skills_reset_done
Örnek Lua Kod Parçası
Kod:
quest reset_skills_no_level begin[BR][/BR] state start begin[BR][/BR] when login with not pc.getqf('skills_reset_done') begin[BR][/BR] say_title('Beceri Sıfırlama')[BR][/BR] local choice = select('Sıfırlamak istiyor musun?', 'Evet', 'Hayır')[BR][/BR] if choice == 1 then[BR][/BR] pc.set_skill_point(0)[BR][/BR] pc.setqf('skills_reset_done', 1)[BR][/BR] chat('Becerileriniz sıfırlandı!')[BR][/BR] end[BR][/BR] end[BR][/BR] end[BR][/BR]end
Script Geliştirme ve Debugging
Metin2 quest geliştirirken hata ayıklama (debug) çok önemlidir. Lua scriptlerinde küçük bir virgül hatası bile quest'in çalışmamasına neden olabilir. Metin2 Lobby olarak önerdiğimiz en iyi yöntem, test sunucularında küçük değişiklikler yapıp hemen denemektir. Ayrıca quest debug komutlarını kullanarak hataları takip edebilirsiniz. Scriptlerde flag ve state yapılarını doğru kullanmak da büyük rol oynar. Yanlış bir flag ataması, quest'in tekrar tekrar çalışmasına yol açabilir.
Günlük ve Zincirleme Questler
Bu quest sistemi, daily quest veya quest chain sistemlerine de entegre edilebilir. Örneğin beceri sıfırlama hakkı, 7 günlük bir görev serisinin sonunda da verilebilir. Böylece oyuncuların uzun süre oyunda kalması sağlanabilir. Metin2 Lobby kullanıcıları, bu tür özel sistemleri test etmek ve paylaşmak için forumlarımızı kullanabilirler.
Sonuç
Level sınırı olmayan beceri sıfırlama questi, Metin2 sunucularınızda oyuncular için oldukça cazip bir özellik olabilir. Doğru tasarlandığında oyuncu sadakati artar ve sunucunuzun rekabet avantajı oluşur. Metin2 Lobby olarak bizler, bu tür gelişmiş quest sistemlerinin nasıl yazıldığını ve entegre edildiğini paylaşmaya devam edeceğiz.
Skill Reset Quest No Level Limit!
Metin2 Lobby will talk about an original and powerful quest system that you can use on your servers. In this guide we will focus specifically on the subject of skill reset and explain how to integrate a quest structure without any level limit via a Lua script. Skill reset operations in Metin2 servers are usually subject to certain level or item conditions. However, with the quest described here, you can allow players to reset their skills without any level restrictions.
What is a Quest and How Does It Work?
Quest systems are dynamic systems in Metin2 that award players with rewards or status by giving them specific tasks. They are generally written in Lua. There are many details to pay attention to when writing a quest. Among these concepts are trigger, flag, state, timer, reward. As Metin2 Lobby users, we constantly work on examples to better understand and develop these structures.
How to Prepare a Skill Reset Quest?
This quest allows players to reset their skills. Usually in Metin2, skill reset operations can only be done after reaching a certain level. However, this special quest removes this limitation. After starting the quest, the player completes the specified steps and gains the right to reset their skills. The structure of the quest can be summarized as follows:
- Quest name: reset_skills_no_level
- Trigger: /quest reset_skills_no_level start
- Reward: Skill reset right
- Flag: skills_reset_done
Sample Lua Code Piece
Kod:
quest reset_skills_no_level begin[BR][/BR] state start begin[BR][/BR] when login with not pc.getqf('skills_reset_done') begin[BR][/BR] say_title('Skill Reset')[BR][/BR] local choice = select('Do you want to reset?', 'Yes', 'No')[BR][/BR] if choice == 1 then[BR][/BR] pc.set_skill_point(0)[BR][/BR] pc.setqf('skills_reset_done', 1)[BR][/BR] chat('Your skills have been reset!')[BR][/BR] end[BR][/BR] end[BR][/BR] end[BR][/BR]end
Script Development and Debugging
Debugging is very important when developing Metin2 quests. A small comma error in Lua scripts can cause the quest not to work. As Metin2 Lobby, our recommended method is to make small changes on test servers and immediately try them. You can also track errors using quest debug commands. Correct usage of flag and state structures in scripts also plays a major role. An incorrect flag assignment can cause the quest to run repeatedly.
Daily and Chained Quests
This quest system can also be integrated into daily quest or quest chain systems. For example, skill reset rights can be given at the end of a 7-day mission series. This way, players can be encouraged to stay in the game for a longer period. Metin2 Lobby users can use our forums to test and share such special systems.
Conclusion
A skill reset quest without level limits can be a very attractive feature for your Metin2 servers. When designed correctly, it increases player loyalty and creates a competitive advantage for your server. As Metin2 Lobby, we will continue to share how such advanced quest systems are written and integrated.
