- <li data-xf-list-type="ul">Not: Quest dosyasının sahibi ben değilim. Yine Metin2 ile alakalı başka bir forumdan alıntıdır.
Açıklama: 5 seviyeye ulaştığında sistem otomatik olarak size bir mektup gönderir ve buradan yetenek seçiminizi yapabilirsiniz. Quest alındıktan sonra bir daha gösterilmez.
This quest wrotten byZiyaretçiler için gizlenmiş link,görmek için üye olmalısınız! Giriş yap veya üye ol.
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız! Giriş yap veya üye ol.
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız! Giriş yap veya üye ol.
Sadece tercüme işi bana aittir başka birşey yok. Zaten quest yazmasından anlamam
Kod:quest get_skill_group begin state start begin when login or levelup with pc.get_level() >= 5 and pc.get_skill_group() == 0 begin send_letter("Yeni yeteneklere ihtiyacımız var"); end -- when when button or info with pc.get_level() >= 5 and pc.get_skill_group() == 0 begin local ways_per_job = { [0] = {"Bedensel", "Zihinsel"}, [1] = {"Bıçakçı", "Okçu"}, [2] = {"Büyülü Silah", "Kara Büyü"}, [3] = {"Ejderha Gücü", "İyileştirmeci"} }; say_title("Eğitim seç:[ENTER]") say(string.format("Tebrikler %s,", pc.get_name())) say("Burada olduğuna sevindim, güçlü bir savaşçıya[ENTER]") say("benziyorsun. Şanslısın ki burada yeni savaşçılara[ENTER]") say("ihtiyacımız var.") say("5 seviyeye ulaştın, nihayet içindeki gizli") say("yeteneği ortaya çıkarmak için bir fırsat yakaladın![ENTER]") say("Lütfen ustalaşmak istediğin eğitimi seç:[ENTER]") table.insert(ways_per_job[pc.get_job()], "Şimdi değil"); local skill_select = select_table(ways_per_job[pc.get_job()]); if (skill_select ~= table.getn(ways_per_job)) then say_title("Eğitim seç:[ENTER]") say(string.format("Öğrenmek istediğin eğitim %s.", ways_per_job[pc.get_job()][skill_select])) say("Bundan emin misin?[ENTER]") if (select("Eminim", "Şimdi değil") == 1) then pc.set_skill_group(skill_select); pc.clear_skill(); else send_letter("Yeni yeteneklere ihtiyacımız var"); end -- if/else else send_letter("Yeni yeteneklere ihtiyacımız var"); end -- if/else end -- when end -- state end -- quest
Metin2'de 5 Seviyeye Ulaştığında Becerilerini Görev Şeklinde Alma Rehberi
Metin2, oyuncuların karakter gelişimini stratejik ve kişiselleştirilebilir şekilde yönetebildiği popüler bir MMORPG oyunudur. Oyunda becerilerin doğru zamanda alınması, karakterin savaş gücünü doğrudan etkiler. Bu nedenle, becerilerin alındığı süreçlerin otomatikleştirilmesi, özellikle sunucu geliştiricileri için büyük önem taşır. Bu rehberde, oyuncu 5. seviyeye ulaştığında becerilerin görev (quest) sistemi üzerinden alınmasını sağlayacak bir Lua scripti nasıl yazılır onu inceleyeceğiz.
Metin2 Quest Sistemi Nedir?
Metin2'de quest sistemi, oyuncuların belirli eylemleri gerçekleştirmesi veya belirli seviyelere ulaşması gibi durumlarda otomatik olarak tetiklenebilen görev sistemidir. Bu sistem, Lua dilinde yazılmış komutlarla çalışır ve sunucu tarafında karakter gelişimi, ödüller, NPC etkileşimleri gibi pek çok şeyi kontrol edebilir. Quest dosyaları genellikle server_data/quest dizini altında bulunur ve .lua uzantılıdır.
Neden Beceri Alımı İçin Quest Kullanılır?
Oyuncuların karakter seviye atladıkça beceri puanları kazanmaları doğal bir süreçtir. Ancak bazı sunucularda bu becerilerin manuel olarak alınması istenmez çünkü bu, kullanıcı deneyimini olumsuz etkileyebilir. Bu nedenle, oyuncu 5. seviyeye ulaştığında otomatik olarak bir beceri verilmesi için bir quest yazılması tercih edilir. Bu sayede hem kullanıcı dostu bir sistem kurulmuş olur hem de sunucu üzerinde daha fazla kontrol sağlanır.
Basit Bir Quest Script Yazımı
Aşağıda, oyuncu 5. seviyeye ulaştığında beceri puanı veren basit bir quest örneği yer almaktadır:
quest skill_on_level_5 begin
state start begin
when levelup with pc.get_level() == 5 begin
syschat('Tebrikler! 5. seviyeye ulaştınız ve bir beceri puanı kazandınız.')
pc.set_skill_point(pc.get_skill_point() + 1)
end
end
end[/BR][/BR]
Yukarıdaki Script Açıklaması:
- quest skill_on_level_5 begin: Quest ismini tanımlar.
- state start begin: Quest'in başlangıç durumu.
- when levelup with pc.get_level() == 5 begin: Oyuncu seviye atladığında ve 5. seviyeye ulaştığında tetiklenir.
- syschat(...): Oyuncuya mesaj gösterir.
- pc.set_skill_point(...): Oyuncuya beceri puanı ekler.
Gelişmiş Özellikler ve Tavsiyeler
Bu quest scripti, temel düzeyde çalışır ancak sunucuya özel ihtiyaçlara göre genişletilebilir. Örneğin:
- Belirli bir sınıf için özel beceri puanı verilebilir.
- Beceri puanı yerine doğrudan belirli bir beceriyi yükseltmek mümkündür.
- Zamanlayıcı (timer) kullanarak beceri verme sıklığını sınırlayabilirsiniz.
- Flag veya state sistemleri ile quest'in birden fazla kez tetiklenmemesi sağlanabilir.
Quest Debug ve Test Süreci
Quest sistemleri test edilirken dikkatli olunmalıdır. Yanlış bir koşul yazımı, sunucuda hatalara veya beklemedik davranışlara neden olabilir. Quest hata ayıklama (debug) işlemleri sırasında log kayıtları incelenerek,.quest dosyalarının doğru çalışıp çalışmadığı analiz edilmelidir.
Sonuç
Metin2 sunucularında beceri sisteminin otomatikleştirilmesi, kullanıcı deneyimini artırır ve sunucu yöneticilerine daha fazla esneklik sağlar. 5. seviyeye ulaştığında beceri puanı veren bir quest yazmak, temel Lua bilgisiyle kolayca yapılabilen bir işlemdir. Sunucunuzda benzer görevler geliştirmek istiyorsanız, yukarıdaki örnek size iyi bir başlangıç noktası olacaktır.
Guide to Obtaining Skills as a Quest Upon Reaching Level 5 in Metin2
Metin2 is a popular MMORPG where players can strategically and personally manage their character development. In the game, taking skills at the right time directly affects the character's combat power. Therefore, automating the process of skill acquisition is crucial, especially for server developers. In this guide, we'll examine how to write a Lua script that grants skills through the quest system when the player reaches level 5.
What is the Metin2 Quest System?
In Metin2, the quest system is an automated mission system triggered by specific player actions, such as leveling up. This system operates via commands written in the Lua language and can control various aspects like character progression, rewards, and NPC interactions on the server side. Quest files are typically located under the server_data/quest directory and have a .lua extension.
Why Use Quests for Skill Acquisition?
It is natural for players to gain skill points upon leveling up. However, in some servers, manually acquiring skills is not preferred as it may negatively impact user experience. Therefore, a quest is created so that a skill point is automatically granted when a player reaches level 5. This approach creates a more user-friendly system and allows for greater control over the server.
Writing a Simple Quest Script
Below is a basic example of a quest that grants a skill point when the player reaches level 5:
quest skill_on_level_5 begin
state start begin
when levelup with pc.get_level() == 5 begin
syschat('Congratulations! You reached level 5 and gained a skill point.')
pc.set_skill_point(pc.get_skill_point() + 1)
end
end
end[/BR][/BR]
Explanation of the Above Script:
- quest skill_on_level_5 begin: Defines the name of the quest.
- state start begin: Marks the start state of the quest.
- when levelup with pc.get_level() == 5 begin: Triggered when the player levels up and reaches level 5.
- syschat(...): Displays a message to the player.
- pc.set_skill_point(...): Adds a skill point to the player.
Advanced Features and Suggestions
This quest script works at a basic level but can be extended based on your server's needs. For example:
- Grant class-specific skill points.
- Instead of skill points, upgrade a specific skill directly.
- Use timers to limit how often skill points are given.
- Prevent the quest from triggering multiple times using flags or states.
Quest Debugging and Testing Process
Quest systems must be tested carefully. Incorrectly written conditions can cause errors or unexpected behaviors on the server. During quest debugging, log records should be examined to analyze whether quest files operate correctly.
Conclusion
Automating the skill system in Metin2 servers enhances user experience and provides server administrators with more flexibility. Creating a quest that awards skill points upon reaching level 5 is easily achievable with basic Lua knowledge. If you aim to develop similar quests on your server, the above example will serve as a solid starting point.
