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 40

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
/usr/game/share_data/locale/turkey/quest/object ->
klasörüne giriş yapın filezilla'dan (Sizde gidiş yolu böylemi bilmiyorum ama değişik ise object'i bulun)

object'e kadar geldikten sonra / uzaktaki site kısmında yazan uzantının sonuna " 71135 " yazın , bu hilal yüzüğünün kodudur.

kısacası tam uzantıyı yazıyorum bu halde olmalıdır
" /usr/game/share_data/locale/turkey/quest/object/71135/use

use'nin içine girin ve not belgesine sağ tıklayıp hilal yüzüğünü açın. (Tavsiyem notepad ++ yükleyip açmanız ayrıntıları daha iyi görebilirsiniz)
Hilal yüzüğünü açtıktan sonra içinde kileri silip aşağıda verdiğimi kopyalayıp yapıştırın. -->>

if pc . getqf ( "hilal" ) == 0 then
if pc . getqf ( "lolipop" ) == 1 or pc . getqf ( "mutluluk" ) == 1 or pc . getqf ( "ebedi" ) == 1 or pc . getqf ( "irade" ) == 1 or pc . getqf ( "olumcul" ) == 1 or pc . getqf ( "madalya" ) == 1 then
chat ( " Herhangi Bir Yüzük Aktifken Başka Bir Yüzük Kullanamazsın " )
else
cmdchat ( "buff1" )
chat ( " EmbayMt2 Sebnem Yüzüğü Aktif. " )
affect . add_collect ( apply . ATT_SPEED , 8 , 60 * 60 * 24 * 365 * 60 )
affect . add_collect ( apply . RESIST_MAGIC , 20 , 60 * 60 * 24 * 365 * 60 )
affect . add_collect ( apply . ATT_GRADE_BONUS , 120 , 60 * 60 * 24 * 365 * 60 )
affect . add_collect ( apply . CRITICAL_PCT , 20 , 60 * 60 * 24 * 365 * 60 )
affect . add_collect ( apply . PENETRATE_PCT , 20 , 60 * 60 * 24 * 365 * 60 )
affect . add_collect ( apply . DEF_GRADE_BONUS , 200 , 60 * 60 * 24 * 365 * 60 )
pc . setqf ( "hilal" , 1 )
end
elseif pc . getqf ( "hilal" ) == 1 then
cmdchat ( "buff1" )
chat ( " Sebnem Yüzüğü Kapatıldı. " )
affect . remove_collect ( apply . ATT_SPEED , 8 , 60 * 60 * 24 * 365 * 60 )
affect . remove_collect ( apply . RESIST_MAGIC , 20 , 60 * 60 * 24 * 365 * 60 )
affect . remove_collect ( apply . ATT_GRADE_BONUS , 120 , 60 * 60 * 24 * 365 * 60 )
affect . remove_collect ( apply . CRITICAL_PCT , 20 , 60 * 60 * 24 * 365 * 60 )
affect . remove_collect ( apply . PENETRATE_PCT , 20 , 60 * 60 * 24 * 365 * 60 )
affect . remove_collect ( apply . DEF_GRADE_BONUS , 200 , 60 * 60 * 24 * 365 * 60 )
pc . setqf ( "hilal" , 0 )
end



NOT : İLK BAŞTA Kİ KODLAR " affect . add_collect " BÖYLE BAŞLAMALIDIR
NEDENİ : YÜZÜK BASILDIĞINDA ŞEBNEMİN ÖZELLİKLERİNİ VERMESİ İÇİN.
NOT 2 : İKİNCİ TARAFTA Kİ KODLAR " affect . remove_collect " BÖYLE BAŞLAMALIDIR
NEDENİ : YÜZÜK KAPATILDIĞINDA ŞEBNEMLERİN ÖZELLİKLERİNİN DE KAPATILMASI İÇİNDİR.
EĞER İKİ TARAFIDA AYNI YAPARSANIZ ŞEBNEM BUGU KAÇINILMAZ OLUR ÜST ÜSTE BASTIKÇA + ÖZELLİK VERİR.
Ve ayrıca Yedeğini alırsanız sevinirim , her hangi bir sorun çıkmaması için.

bu işlemler bittikten sonra oyunda " /reload q " çekerseniz yüzük aktif olacaktir.
Ancak yüzüğü npc'ye koyacak iseniz : " Navicat'a giriş yapınız -> player -> item_proto " 'ya geliniz oradan hilal yüzüğünün kodunu taratınız " 71135 "
Sonrasında ise yüzüğün ismini dilediğinizce değiştiriniz. ama şebnem yüzüğü yapmanız ideal'dir.

Npc'ye eklemek istiyorsanız ise " navicat -> player -> shop_item " e ekleyebilirsiniz.

SON NOT : FİLEZİLLA'YA ATTIKTAN SONRA " DOSYA İZİNLERİNİ 777 YAPMAYI UNUTMAYINIZ. "
Kolay gelsin
Quest Yazma Dersleri 1
Metin2Lobby olarak, Metin2 sunucularında quest sisteminin ne kadar önemli olduğunu biliyoruz. Quest sistemleri, oyuncuların sunucuda dikkatini çekecek etkileşimli görevlerle tanışmasını sağlar. Bu yazıda quest yazma temellerini ele alacağız. Metin2 quest sistemleri, genellikle Lua diliyle yazılır ve lua quest olarak da bilinir. Metin2 quest geliştirmek istiyorsanız doğru yerdesiniz.

Metin2 Quest Sistemi Nedir?
Metin2 quest sistemi, oyuncuların belirli görevleri tamamlayarak ödüller kazandığı bir yapıdır. Bu görevler, NPC'ler üzerinden başlatılır. Quest yazımı sırasında, Mob öldürme, item toplama, belirli bir yere gitme gibi eylemler tetiklenebilir. Quest yazarken trigger (tetikleyici), timer (zamanlayıcı), flag (bayrak), state (durum) gibi kavramlar önemlidir.

Quest Script nedir?
Metin2 quest script, oyuncuların etkileşime gireceği görevleri tanımlayan Lua tabanlı komutlar bütünüdür. Script dosyaları, quest sisteminin çalışması için gereklidir. Metin2 quest dosyası (.lua uzantılıdır) sunucu tarafında çalıştırılır. Doğru yazılmış bir quest script, quest hatalarını önler. Metin2 quest debug (hata ayıklama) işlemleri, script içinde yapılan mantık hatalarını ortaya çıkarır.

Quest Başlatma ve Bitiş
Metin2 quest sistemlerinde, her quest bir begin ve end bloğu arasında tanımlanır. Örneğin:
Kod:
quest sample_quest begin[BR][/BR]    state start begin[BR][/BR]        when login with pc.level >= 10 begin[BR][/BR]            say('Hoşgeldin!')[BR][/BR]        end[BR][/BR]    end[BR][/BR]end

Yukarıdaki örnek, oyuncu seviyesi 10 ve üzeri olduğunda girişte bir mesaj gösterir. State yapısı, quest’in farklı aşamalarını tanımlamak için kullanılır. Start, complete, fail gibi durumlar olabilir.

Quest Reward (Ödül)
Metin2 quest sistemlerinde ödül tanımlamak için reward fonksiyonları kullanılır. Ödül olarak item, exp, gold verilebilir. Örnek:
Kod:
when kill with mob.vnum == 1001 begin[BR][/BR]    q.set_count(1, q.get_count(1) + 1)[BR][/BR]    if q.get_count(1) >= 5 then[BR][/BR]        say_reward('Görev tamamlandı!')[BR][/BR]        pc.give_item2('gold', 1000000)[BR][/BR]        q.clear()[BR][/BR]    end[BR][/BR]end


Daily Quest (Günlük Görev)
Metin2 daily quest, oyuncuların her gün tekrar ederek ödül kazanabileceği görevlerdir. Günlük görevler, oyuncunun aktif kalmasını sağlar. Bu tür quest’lerde genellikle timer ve flag yapıları kullanılır.

Custom Quest (Özel Görev)
Metin2 özel quest veya custom quest, sunucuya özel olarak geliştirilen ve oyun içinde standart olmayan görevlerdir. Bu görevler, sunucu sahiplerinin kendi fikirlerini uygulamasına olanak tanır. Quest edit işlemleri bu özel quest’leri oluşturmak için yapılır.

Quest Chain (Zincir Görev)
Quest chain, bir görevin bitmesiyle diğer görevin otomatik olarak başlamasını sağlayan sistemdir. Zincir görevler, oyuncunun uzun süreli bir hikaye takibi yapmasını sağlar. Bu sistemde her görev bir sonrakinin şartlarını oluşturur.

Quest Hata Ayıklama
Metin2 quest hata ve debug işlemleri, quest geliştirirken kaçınılmazdır. Yanlış yazılan bir lua kodu sunucuda quest’in çalışmamasına neden olabilir. Hata ayıklama sırasında log dosyaları incelenmelidir. Ayrıca quest sistemlerinde flag kontrolü eksikse, görev tekrar başlayabilir. Bu gibi durumlarda quest hataları oluşur.

Martysama Quest ve Metin2Dev Quest
Martysama ve Metin2Dev, quest geliştirme konusunda örnek alınabilecek kaynaklardır. Bu platformlardaki quest şablonları, yeni başlayanlar için faydalıdır. Metin2 quest geliştirme sürecinde bu kaynaklara göz atmak önerilir.

Sonuç
Metin2 quest yazımı, hem teknik bilgi hem de yaratıcılık gerektiren bir iştir. Doğru quest tasarımı, oyuncuların oyun deneyimini artırır. Bu yazıda quest sisteminin temellerini öğrendiniz. Bir sonraki derste daha ileri seviye örneklerle devam edeceğiz.


Quest Writing Lessons 1
At Metin2Lobby, we know how important the quest system is for Metin2 servers. Quest systems introduce players to engaging interactive missions within the game. In this article, we'll cover the fundamentals of quest writing. Metin2 quest systems are typically written in Lua and are also known as lua quests. If you want to learn how to develop Metin2 quests, you're in the right place.

What is the Metin2 Quest System?
The Metin2 quest system is a structure where players complete certain tasks to earn rewards. These missions are usually initiated through NPCs. While writing quests, actions like killing mobs, collecting items, or reaching specific locations can be triggered. Important concepts during quest writing include trigger, timer, flag, and state.

What is a Quest Script?
Metin2 quest script refers to the set of Lua-based commands that define the missions players interact with. Script files are required for the quest system to function properly. The Metin2 quest file (.lua extension) runs on the server side. A well-written quest script prevents errors. Metin2 quest debug processes reveal logical errors made inside the script.

Starting and Ending Quests
In Metin2 quest systems, each quest is defined between a begin and end block. For example:
Kod:
quest sample_quest begin[BR][/BR]    state start begin[BR][/BR]        when login with pc.level >= 10 begin[BR][/BR]            say('Welcome!')[BR][/BR]        end[BR][/BR]    end[BR][/BR]end

This example shows a message when the player's level is 10 or above upon logging in. The state structure defines different stages of the quest. States such as start, complete, and fail can be used.

Quest Reward
In Metin2 quest systems, reward functions are used to grant rewards. Rewards can include items, experience, or gold. Example:
Kod:
when kill with mob.vnum == 1001 begin[BR][/BR]    q.set_count(1, q.get_count(1) + 1)[BR][/BR]    if q.get_count(1) >= 5 then[BR][/BR]        say_reward('Mission completed!')[BR][/BR]        pc.give_item2('gold', 1000000)[BR][/BR]        q.clear()[BR][/BR]    end[BR][/BR]end


Daily Quest
Metin2 daily quest refers to missions that players can repeat daily to earn rewards. Daily quests encourage players to stay active. Such quests often use timer and flag structures.

Custom Quest
Metin2 custom quest or special quests are non-standard missions developed specifically for a server. These allow server owners to implement their own ideas. Quest edit operations are performed to create these special quests.

Quest Chain
Quest chain is a system where completing one mission triggers another automatically. These chained missions allow players to follow a long-term story. Each mission sets the conditions for the next one.

Debugging Quest Errors
Metin2 quest error and debug processes are inevitable when developing quests. A poorly written Lua code can prevent a quest from running on the server. During debugging, log files should be examined. Additionally, missing flag checks in quest systems may cause a mission to restart unexpectedly, leading to errors.

Martysama Quest and Metin2Dev Quest
Martysama and Metin2Dev are valuable resources for quest development. Templates found on these platforms are helpful for beginners. It is recommended to check out these sources during the process of Metin2 quest development.

Conclusion
Metin2 quest writing requires both technical knowledge and creativity. Properly designed quests enhance the player experience. In this article, you've learned the basics of the quest system. In the next lesson, we will continue with more advanced examples.
 

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

Benzer konular

Geri
Üst Alt