Quest Yazma Dersleri 1

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 103

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
quest, kelime anlamı görev, misyon demek. metin2 oyununda quest uzantısı kullanılarak çeşitli şeyler yapılmış ve bu dosyaların yazılımında kullanılan dil "lua"dır. Bu da demek oluyor ki işini bilen biri lua öğrenip istedi lua komutunu metin2 içinde kullanabilir. Çoğu kişi bu dilde Türkçe'nin kullanılamadığını sanıyor ama basit bir yöntemi var. Şimdilik Türkçe karakter kullanmadan yazın ya da diğer forumlardan nasıl yapıldığını araştırın.

Öncelikle kullanacağınız program notepad++ olsun çok kullanışlıdır. Hata yapma riskinizi en aza indirir. Hatta Eğer programlama dillerine girip "lua" yı seçerseniz renklendirerek yazacağından hatanızı bile çok kolay görebilirsiniz. Şunu da belirteyim lua konusunda hiç bir eğitimim yok. 3 senelik birikimim, araştırmalarım ve merakımın sayesinde bu kadar ilerleyebildim. Çok iyi olduğumu söyleyemem ama isteyipte yazamadığım hiç bir quest olmadı şimdiye kadar.


Öncelikle Quest uzantılı dosya yapmayı anlatayım bilmeyen arkadaşlar vardır. Öncelikle herhangi bir klasöre girip orada sol üstte bulunan düzenle'ye tıklayın sonra klasör seçeneklerine girip orada bilinen dosyalar için uzantıları gizle seçeneğindeki işareti kaldırın. Şimdi notepad++ programı ya da başka bir program ile (normal notepad bile olur) questi yazmaya başlıyorsunuz. Diyelimki questi yazdık bitirdik.


Kod:

quest xxx begin
Bu queste bu şekilde başladıysak dosyamızın adı xxx.quest olmalı. Uzantısını .quest yapıyoruz. Bu questi filezillada usr/game/share/locale/turkey/quest içerisine atıyoruz. Sonra putty i açıp login oluyoruz.

Kod:

cd /usr/game/share/locale/turkey/quest
yazıyoruz.

Kod:

ee hongkong_list
yazıyoruz ve oraya bizim questimizi yazıp yani en alta xxx.quest yazıp kaydedip çıkıyoruz. daha sonra ./qc xxx.quest yazıp questimizi object dosyalarına işletiyoruz.

Şunu söyleyeyim object dosyalarının içine attığınız hiç bir dosya sağlıklı değil. Çünkü object klasörünün içindeki şeyler sizin sh make.sh çektikten sonra oraya yazılır. Yani object dosyasının içine attığınız dosyaların questi yoksa her sh make.sh çektiğinizde o dosya silinir. Yerine questte ne varsa o yazılır. Bu yüzden ne yapacaksanız quest olarak yapın.​

Quest Yazma Dersleri 1

Metin2'de quest sistematiği, oyuncuların oyun içindeki gelişimini yönlendiren en önemli yapıdır. Bu yazıda Metin2 quest yazmaya giriş yapacak olanlara temel adımları anlatacağız.

Metin2 Quest Nedir?
Metin2 quest sistemi, oyunculara belirli görevler vererek onların seviye atlamasına, eşya kazanmasına veya hikaye akışında ilerlemesine yardımcı olan Lua tabanlı bir özelliktir. Quest scriptleri genellikle quest.lua dosyası içinde tanımlanır ve sunucu tarafında çalıştırılır. Quest yazımı, Metin2 sunucularını özelleştirmenin en etkili yollarından biridir.

Quest Dosyası Yapısı
Bir Metin2 quest dosyası genellikle şu yapıya sahiptir:

quest quest_ismi begin
state start begin
when trigger begin
say 'Merhaba, sana özel bir görevim var.'
local secim = select('Görevi kabul et', 'Reddet')
if secim == 1 then
set_state(gorev)
else
return
end
end

state gorev begin
when kill with npc_id == 1001 begin
chat('Hedef öldürüldü!')
end
when letter begin
say('Görev tamamlandı! Ödülünü alabilirsin.')
getitem('gold', 100000)
set_state(reward)
end

state reward begin
when letter begin
getitem('special_item', 1)
end

end

Quest Trigger Kullanımı
Triggerlar, quest'in ne zaman tetikleneceğini belirler. Örneğin bir NPC ile konuşulduğunda, bir canavar öldürüldüğünde ya da belirli bir süre geçtiğinde quest aktif olabilir. Triggerlar genellikle when ifadesiyle tanımlanır. Bu yapı, quest sistematiğinin en dinamik kısmıdır.

Quest Timer ve Flag Sistemleri
Timerlar, questlerde zaman bazlı işlemler için kullanılır. Flag ise oyuncunun durumunu saklamak için kullanılır. Örneğin bir questin daha önce tamamlanıp tamamlanmadığını kontrol etmek için flag kullanılır.

Quest Debug ve Hata Ayıklama
Quest yazarken karşılaşılan hatalar genellikle syntax hatası, trigger eksikliği veya yanlış item ID kullanımıdır. Sunucu logları üzerinden debug işlemi yapılabilir. Hata ayıklama sırasında dikkat edilmesi gereken en önemli kısım quest dosyasının doğru dizine konulmasıdır.

Daily Quest Sistemi
Günlük görevler, oyuncuların her gün giriş yaptıklarında yapabilecekleri görevlerdir. Bu görevler genellikle küçük ödüller içerir ancak oyuncu sadakati için önemlidir. Daily quest sistemleri, özel timer ve flag kombinasyonları ile oluşturulur.

Sonuç
Metin2 quest yazımı, sunucu geliştiricileri için oldukça değerli bir beceridir. Doğru yapılandırılmış questler, oyuncuların oyun deneyimini ciddi anlamda artırabilir. Quest sisteminin temellerini öğrenmek, daha gelişmiş quest sistemlerine geçiş için sağlam bir başlangıçtır.


Quest Writing Lessons 1

In Metin2, the quest system is one of the most important elements that guide player progression within the game. In this article, we will cover basic steps for those starting to write quests in Metin2.

What Is a Metin2 Quest?
The Metin2 quest system provides players with specific tasks that help them level up, earn items, or progress through the storylines. These quest scripts are typically defined inside quest.lua files and run on the server-side. Writing quests is one of the most effective ways to customize Metin2 servers.

Quest File Structure
A typical Metin2 quest file follows this structure:

quest quest_name begin
state start begin
when trigger begin
say 'Hello, I have a special mission for you.'
local choice = select('Accept quest', 'Decline')
if choice == 1 then
set_state(mission)
else
return
end
end

state mission begin
when kill with npc_id == 1001 begin
chat('Target eliminated!')
end
when letter begin
say('Mission completed! You can claim your reward.')
getitem('gold', 100000)
set_state(reward)
end

state reward begin
when letter begin
getitem('special_item', 1)
end

end

Using Quest Triggers
Triggers determine when a quest activates. For example, a quest might activate when speaking to an NPC, killing a monster, or after a certain amount of time has passed. Triggers are generally defined using the when statement. This part is the most dynamic aspect of the quest system.

Quest Timer and Flag Systems
Timers are used for time-based actions in quests. Flags store player-specific states, such as whether a quest has been completed before. Proper use of flags ensures quests behave as intended across multiple sessions.

Debugging Quests and Error Handling
Errors during quest writing often stem from syntax mistakes, missing triggers, or incorrect item IDs. Debugging can be done via server logs. It’s crucial to ensure the quest file is placed in the correct directory.

Daily Quest System
Daily quests are missions that players can complete each day upon logging in. Though they usually offer small rewards, they significantly enhance player engagement and retention. Daily quests are created using combinations of timers and flags.

Conclusion
Writing quests in Metin2 is a valuable skill for server developers. Well-designed quests can significantly improve the player experience. Learning the fundamentals of the quest system is a solid foundation for moving towards more advanced quest designs.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt