Merhaba,
Son zamanlarda duyduğum bir istekti bende sizlerle paylaşmak istedim ister seviye yüzüğü gibi kullanıp düzenlemeler yaparak nesne marketinize ekleyebilir isterseniz de başlangıca ekleyip istenilen seviyede başlatabilirsiniz ben başlangıca nasıl ekleyeceğimizi de anlatacağım, anlatıma geçelim;
1.Aşama:[/FONT]
Kodu kopyalayıp not defterine yapıştıralım ardından level_sec.lua adında kaydedip ftp de quest dizinine atalım.
Putty Login olalım ve
cd /usr/game/share/locale/turkey/quest
./qc level_sec.lua
yazıp 2.aşamaya geçelim.
2.Aşama:
Yine ftp de notarget/login klasörüne girip give_basic_weapon.start dosyamızda eğer sizin dosyanız karakter karakter özel olarak item veriyorsa genel item veren kod bloğuna;
ekleyip kaydedelim.
Son:
Oyundan gm karakterimiz ile /reload q çekelim veya ben net adamım diyorsanız direkt reboot atalım
İyi kullanımlar bir teşekkür yeterli
Metin2 Lua ile Level Seçme Menüsü Oluşturma Rehberi
Metin2 sunucularında quest sistemleri, oyuncuların deneyimlerini zenginleştirmek ve daha interaktif hale getirmek için oldukça önemli bir rol oynar. Bu yazıda özellikle Lua dilinde yazılmış bir Level Seçme Menüsü quest scriptinin nasıl oluşturulacağını detaylıca ele alacağız. Metin2 quest sistemine aşina olanlar için bu tür özel menüler hem sunucu özelleştirme hem de kullanıcı deneyimi açısından büyük faydalar sağlar.
Level Seçme Menüsünün Amacı
Level Seçme Menüsü, oyuncuların belirli seviyelere ulaştıklarında özel ödüller, görevler veya eylemler başlatmak için ideal bir yöntemdir. Örneğin, 30. levele ulaşan bir oyuncuya özel bir ödül sunabilir ya da yeni bir quest zinciri başlatabilirsiniz. Bu tür menüler sayesinde, quest sisteminiz daha dinamik ve kişiselleştirilebilir hale gelir.
Geliştirme Ortamı ve Araçlar[/BR][/BR]
Metin2 quest geliştirme sürecinde, Lua script dili kullanılır. Geliştirme yapabilmek için Metin2Dev, Martysama[/BR] gibi topluluklardan yardım alabilirsiniz. Ayrıca, quest hatalarını ayıklamak için debug komutları ve quest log sistemleri oldukça faydalıdır.
Script Yapısı ve Kodlama
Level Seçme Menüsü için temel Lua kod yapısı şu şekildedir:
Bu kod parçasında, oyuncu login olduğunda veya belirli bir seviyeye (örneğin 30) ulaştığında menü gösterilir. Menüden alınan seçimlere göre farklı eylemler tetiklenir. Quest zincirleri, flag ve state kontrolleri ile daha da genişletilebilir.
Menü Tasarımı ve Özellikler
Menü tasarımı sırasında, kullanıcı dostu bir arayüz sağlamak için select() fonksiyonunu kullanabilirsiniz. Bu fonksiyon, oyuncuya bir seçim ekranı sunar ve seçilen değere göre farklı işlemler yapılmasını sağlar. Menüde sunulan seçenekler şunları içerebilir:
- Özel item ödülleri
- Yeni quest başlatma
- Görev tamamlama
- Zaman tabanlı görevler (daily quest)
Hata Ayıklama ve Test Süreci
Quest scriptleri geliştirilirken mutlaka test edilmelidir. Quest hata durumlarında, debug komutları ile hatalar izlenebilir. Özellikle levelup event’lerinde dikkatli olunmalıdır. Yanlış tanımlanan bir trigger, quest’in çalışmamasına neden olabilir.
Özet
Metin2 quest geliştirme, sunucu sahipleri için güçlü bir araçtır. Lua ile yazılmış bir Level Seçme Menüsü, oyunculara daha kişisel ve etkileşimli bir deneyim sunar. Doğru yapılandırılmış bir quest sistemi ile sunucunuzun kalitesi artar ve oyuncu memnuniyeti sağlanır.
Creating a Level Selection Menu in Metin2 with Lua
In Metin2 servers, quest systems play a crucial role in enriching the player experience and making it more interactive. In this article, we will thoroughly explain how to create a Level Selection Menu using Lua. For those familiar with the Metin2 quest system, such custom menus provide significant benefits in both server customization and user experience.
Purpose of the Level Selection Menu
The Level Selection Menu allows players to trigger special rewards, quests, or actions upon reaching specific levels. For instance, when a player reaches level 30, you can offer them a special reward or start a new quest chain. Such menus make your quest system more dynamic and customizable.
Development Environment and Tools
Metin2 quest development relies on the Lua scripting language. You can find help from communities like Metin2Dev and Martysama. Additionally, debug commands and quest logs are very useful for troubleshooting errors.
Script Structure and Coding
The basic Lua structure for a Level Selection Menu looks like this:
In this code snippet, the menu appears when the player logs in or reaches a certain level (e.g., 30). Different actions are triggered based on the selected option. Quest chains can be extended further with flag and state controls.
Menu Design and Features
When designing the menu, you can use the select() function to present a user-friendly interface. This function displays a selection screen to the player and triggers different actions based on their choice. Options in the menu may include:
- Special item rewards
- Starting new quests
- Completing tasks
- Time-based quests (daily quests)
Debugging and Testing Process
During development, quest scripts must be thoroughly tested. When encountering quest errors, debug commands can help trace issues. Especially during levelup events, caution must be exercised; a misconfigured trigger might cause the quest not to function properly.
Summary
Developing Metin2 quests is a powerful tool for server owners. A Lua-based Level Selection Menu offers players a more personalized and interactive experience. A well-configured quest system increases the quality of your server and enhances player satisfaction.
Son zamanlarda duyduğum bir istekti bende sizlerle paylaşmak istedim ister seviye yüzüğü gibi kullanıp düzenlemeler yaparak nesne marketinize ekleyebilir isterseniz de başlangıca ekleyip istenilen seviyede başlatabilirsiniz ben başlangıca nasıl ekleyeceğimizi de anlatacağım, anlatıma geçelim;
1.Aşama:[/FONT]
Kod:
quest levelsec begin state start begin when 70058.use begin if pc.getqf("level_sec") == 1 then syschat("Daha önce kullanmışsın.") return end if pc.get_level() != 1 then syschat("Yalnızca 1.Seviyede kullanabilirsin. ") return end say_title("Başlangıç Yüzüğü ") say("Kaçıncı Seviye başlamak istiyorsun?") say_reward("Unutma sadece 1.seviyede kullanabilirsin!") local s = select("1 Level Kal ","34 Level Başla ","55 Level Başla ") if s == 1 then say_title("Başlangıç Yüzüğü - 1 Level ") local ss = select("1 Level Kal ","Biraz daha düşüneyim ") if ss == 1 then at_seviyesi = 30 -- Buraya vereceğiniz at seviyesini yazın. levelsec.baslangicSeviyeAyarla(baslangic_seviyesi) horse.set_level(at_seviyesi) horse.summon() horse.ride() syschat("1 Level kaldın. ") pc.setqf("level_sec",1) pc.remove_item(70058) elseif ss == 2 then end elseif s == 2 then say_title("Başlangıç Yüzüğü - 34 Level ") local sss = select("34 Level Ol ","Biraz daha düşüneyim ") if sss == 1 then baslangic_seviyesi = 34 -- Buraya başlangıç seviyesini yazın. at_seviyesi = 30 -- Buraya vereceğiniz at seviyesini yazın. levelsec.baslangicSeviyeAyarla(baslangic_seviyesi) horse.set_level(at_seviyesi) horse.summon() horse.ride() syschat("34 Level oldun. ") pc.setqf("level_sec",1) pc.remove_item(70058) elseif sss == 2 then end elseif s == 3 then say_title("Başlangıç Yüzüğü - 55 Level ") local ummeh122 = select("55 Level Ol ","Biraz daha düşüneyim ") if ummeh122 == 1 then baslangic_seviyesi = 55 -- Buraya başlangıç seviyesini yazın. at_seviyesi = 30 -- Buraya vereceğiniz at seviyesini yazın. levelsec.baslangicSeviyeAyarla(baslangic_seviyesi) horse.set_level(at_seviyesi) horse.summon() horse.ride() syschat("55 Level oldun. ") pc.setqf("level_sec",1) pc.remove_item(70058) elseif ummeh122 == 2 then end end end --- Seviye verme fonksiyonu BlackForce ye aittir. function baslangicSeviyeAyarla(gelen_seviye_degeri) gelenSeviye = gelen_seviye_degeri oyuncu_seviyesi = pc.get_level() if oyuncu_seviyesi > gelenSeviye then return else seviyeFark = gelenSeviye - oyuncu_seviyesi for i=1,seviyeFark,1 do gerekliTecrube = pc.get_next_exp() tecrubeYukle = gerekliTecrube pc.give_exp2(tecrubeYukle) end end end --- Seviye verme fonksiyonu BlackForce ye aittir. end end
Kodu kopyalayıp not defterine yapıştıralım ardından level_sec.lua adında kaydedip ftp de quest dizinine atalım.
Putty Login olalım ve
cd /usr/game/share/locale/turkey/quest
./qc level_sec.lua
yazıp 2.aşamaya geçelim.
2.Aşama:
Yine ftp de notarget/login klasörüne girip give_basic_weapon.start dosyamızda eğer sizin dosyanız karakter karakter özel olarak item veriyorsa genel item veren kod bloğuna;
Kod:
pc . give_item2 ( "70058" , 1 )
ekleyip kaydedelim.
Son:
Oyundan gm karakterimiz ile /reload q çekelim veya ben net adamım diyorsanız direkt reboot atalım
İyi kullanımlar bir teşekkür yeterli
Metin2 Lua ile Level Seçme Menüsü Oluşturma Rehberi
Metin2 sunucularında quest sistemleri, oyuncuların deneyimlerini zenginleştirmek ve daha interaktif hale getirmek için oldukça önemli bir rol oynar. Bu yazıda özellikle Lua dilinde yazılmış bir Level Seçme Menüsü quest scriptinin nasıl oluşturulacağını detaylıca ele alacağız. Metin2 quest sistemine aşina olanlar için bu tür özel menüler hem sunucu özelleştirme hem de kullanıcı deneyimi açısından büyük faydalar sağlar.
Level Seçme Menüsünün Amacı
Level Seçme Menüsü, oyuncuların belirli seviyelere ulaştıklarında özel ödüller, görevler veya eylemler başlatmak için ideal bir yöntemdir. Örneğin, 30. levele ulaşan bir oyuncuya özel bir ödül sunabilir ya da yeni bir quest zinciri başlatabilirsiniz. Bu tür menüler sayesinde, quest sisteminiz daha dinamik ve kişiselleştirilebilir hale gelir.
Geliştirme Ortamı ve Araçlar[/BR][/BR]
Metin2 quest geliştirme sürecinde, Lua script dili kullanılır. Geliştirme yapabilmek için Metin2Dev, Martysama[/BR] gibi topluluklardan yardım alabilirsiniz. Ayrıca, quest hatalarını ayıklamak için debug komutları ve quest log sistemleri oldukça faydalıdır.
Script Yapısı ve Kodlama
Level Seçme Menüsü için temel Lua kod yapısı şu şekildedir:
Kod:
[B]quest level_menu begin[BR][/BR] state start begin[BR][/BR] when login or levelup with pc.get_level() >= 30 begin[BR][/BR] say_title('Level Menusu')[BR][/BR] local selection = select('Level Odulleri', 'Odul Al', 'Yeni Quest Baslat', 'Cikis')[BR][/BR] if selection == 1 then[BR][/BR] -- Odul al seçeneği[BR][/BR] game.drop_item_with_ownership(ITEM_VNUM, 1)[BR][/BR] elseif selection == 2 then[BR][/BR] -- Yeni quest başlat[BR][/BR] set_quest_state('new_quest_name', 'start')[BR][/BR] end[BR][/BR] end[BR][/BR] end[BR][/BR]end[/B]
Bu kod parçasında, oyuncu login olduğunda veya belirli bir seviyeye (örneğin 30) ulaştığında menü gösterilir. Menüden alınan seçimlere göre farklı eylemler tetiklenir. Quest zincirleri, flag ve state kontrolleri ile daha da genişletilebilir.
Menü Tasarımı ve Özellikler
Menü tasarımı sırasında, kullanıcı dostu bir arayüz sağlamak için select() fonksiyonunu kullanabilirsiniz. Bu fonksiyon, oyuncuya bir seçim ekranı sunar ve seçilen değere göre farklı işlemler yapılmasını sağlar. Menüde sunulan seçenekler şunları içerebilir:
- Özel item ödülleri
- Yeni quest başlatma
- Görev tamamlama
- Zaman tabanlı görevler (daily quest)
Hata Ayıklama ve Test Süreci
Quest scriptleri geliştirilirken mutlaka test edilmelidir. Quest hata durumlarında, debug komutları ile hatalar izlenebilir. Özellikle levelup event’lerinde dikkatli olunmalıdır. Yanlış tanımlanan bir trigger, quest’in çalışmamasına neden olabilir.
Özet
Metin2 quest geliştirme, sunucu sahipleri için güçlü bir araçtır. Lua ile yazılmış bir Level Seçme Menüsü, oyunculara daha kişisel ve etkileşimli bir deneyim sunar. Doğru yapılandırılmış bir quest sistemi ile sunucunuzun kalitesi artar ve oyuncu memnuniyeti sağlanır.
Creating a Level Selection Menu in Metin2 with Lua
In Metin2 servers, quest systems play a crucial role in enriching the player experience and making it more interactive. In this article, we will thoroughly explain how to create a Level Selection Menu using Lua. For those familiar with the Metin2 quest system, such custom menus provide significant benefits in both server customization and user experience.
Purpose of the Level Selection Menu
The Level Selection Menu allows players to trigger special rewards, quests, or actions upon reaching specific levels. For instance, when a player reaches level 30, you can offer them a special reward or start a new quest chain. Such menus make your quest system more dynamic and customizable.
Development Environment and Tools
Metin2 quest development relies on the Lua scripting language. You can find help from communities like Metin2Dev and Martysama. Additionally, debug commands and quest logs are very useful for troubleshooting errors.
Script Structure and Coding
The basic Lua structure for a Level Selection Menu looks like this:
Kod:
[B]quest level_menu begin[BR][/BR] state start begin[BR][/BR] when login or levelup with pc.get_level() >= 30 begin[BR][/BR] say_title('Level Menu')[BR][/BR] local selection = select('Level Rewards', 'Claim Reward', 'Start New Quest', 'Exit')[BR][/BR] if selection == 1 then[BR][/BR] -- Claim reward option[BR][/BR] game.drop_item_with_ownership(ITEM_VNUM, 1)[BR][/BR] elseif selection == 2 then[BR][/BR] -- Start new quest[BR][/BR] set_quest_state('new_quest_name', 'start')[BR][/BR] end[BR][/BR] end[BR][/BR] end[BR][/BR]end[/B]
In this code snippet, the menu appears when the player logs in or reaches a certain level (e.g., 30). Different actions are triggered based on the selected option. Quest chains can be extended further with flag and state controls.
Menu Design and Features
When designing the menu, you can use the select() function to present a user-friendly interface. This function displays a selection screen to the player and triggers different actions based on their choice. Options in the menu may include:
- Special item rewards
- Starting new quests
- Completing tasks
- Time-based quests (daily quests)
Debugging and Testing Process
During development, quest scripts must be thoroughly tested. When encountering quest errors, debug commands can help trace issues. Especially during levelup events, caution must be exercised; a misconfigured trigger might cause the quest not to function properly.
Summary
Developing Metin2 quests is a powerful tool for server owners. A Lua-based Level Selection Menu offers players a more personalized and interactive experience. A well-configured quest system increases the quality of your server and enhances player satisfaction.
