Merhabalar Luktodora Quest Paylaşımları Çoklu Npc Sistemi
1-) usr/game/share/locale/turkey/quest bölümüne "npcac.lua" adında bir lua dosyası açalım. Daha sonra dosyasının içine aşağıdaki kodları yazalım:
PHP- Kodu:
quest npcac begin
state start begin
when 20087.chat."Çoklu NPC" begin
npcKategori = {
"Silah Satıcısi",
"Balıkçi",
"Market",
}
npcKategoriSay = tonumber(table.getn(npcKategori))
npcKategori[npcKategoriSay + 1 ] = "Kapat"
npcKategoriSec = select_table(npcKategori)
for i=1,npcKategoriSay,1 do
if npcKategoriSec == npcKategoriSay + 1 then
return
end
if npcKategoriSec == i then
npc.open_shop(npcac.npcVeri(tostring(npcKategori[i])))
end
end
end
function npcVeri(npcKodu)
npcVeri = {
["Silah Satıcısi"] = {1},
["Balıkçi"] = {2},
["Market"] = {3}
}
return npcVeri[npcKodu][1]
end
end
end
Bunu kaydedip çıkıyoruz.
2-)Putty'e geliyoruz.
cd /usr/game/share/locale/turkey/quest yazıp enterliyoruz. Daha sonra şu komutu yazıyoruz.
./qc npcac.lua
Putty ile de işimiz bitti.
3-) Oyuna dönüyoruz ve bir GM karakter ile "/reload q" çekiyoruz.
4-) Daha sonra 20087 kodlu NPC'den sistemi kontrol edebilirsiniz.
NOT: Şuan 3 tane NPC kayıtlıdır. Eğer daha fazla NPC eklemek istiyorsanız yapmanız gereken şudur:
PHP- Kodu:
npcKategori = {
"Silah Satıcısi",
"Balıkçi",
"Market",
"Silahci",
"Zırhci"
}
Bu kısma NPC'ye tıklanınca görülecek ismi ekliyoruz.(ÇOK ÇOK önemli, isimlerin sonu " ı " harfi ile bitmemeli! Eğer " ı " harfi ile biterse sistem çalışmaz. Örneğin: Silahçı yada Zırhçı yapamazsınız!)
Daha sonra aşağıdaki kısma da aynı şekilde ekliyorsunuz:
PHP- Kodu:
npcVeri = {
["Silah Satıcısi"] = {1},
["Balıkçi"] = {2},
["Market"] = {3},
["Silahci"] = {4},
["Zirhci"] = {5}
}
Karşısındaki 4,5 değerlerini siz player veritabanından shop.sql tablosuna girip bulacaksınız.
Shop.sql'i açınca: vnum sütunu buradaki 1,2,3,4,5 değerlerini temsil eder. npc_vnum'sa o değerlerin hangi NPC olacağını. Örneğin shop.sql'i açtığınızda vnum'u 4 yapıp npc_vnum'u 9001 yapmalısınız. Sistemin mantığı bu şekilde.(Buradaki ilk isimler Zirhci, Balikci, Silahci... yukarıdaki kısımla aynı isimde ve aynı sırada olmalı yoksa sistem karışır.)
Saygılarımla Luktodora +rep verip teşşekür ederseniz sevinirim iyi forumlar
Metin2 Çoklu NPC Sistemi ve Quest Geliştirme Rehberi
Metin2 oyununda quest sistemleri, oyuncuların deneyim yaşamaları ve oyun içi ödüller kazanmaları açısından büyük önem taşır. Özellikle sunucu geliştiricileri için özelleştirilmiş quest sistemleri, oyuncu tutkunluğunu artırmada kilit rol oynar. Bu makalede Metin2 Çoklu NPC Sistemi üzerinden quest geliştirme konusuna odaklanacağız. Quest sisteminin nasıl çalıştığını, Lua dilinde nasıl yazılabileceğini, NPC’lerin quest zincirlerinde nasıl kullanıldığını ve geliştiricilerin karşılaşabileceği sorunları ele alacağız.
Metin2 Quest Sistemi Nedir?
Metin2'de quest sistemi, oyuncuların belirli görevleri yaparak ödüller kazandığı bir yapıdır. Oyuncular, NPC'lerden görev alır, görevleri tamamlar ve karşılığında item, 경험, gold gibi ödüller alabilirler. Quest sistemleri genellikle Lua programlama dili kullanılarak geliştirilir. Quest dosyaları .lua uzantılıdır ve Metin2 sunucusuna özel olarak yüklenir.
NPC Nedir ve Quest ile Nasıl Etkileşime Girer?
NPC (Non-Player Character), oyuncunun dışındaki karakterlerdir. Metin2'de bir quest başlatmak için genellikle bir NPC ile etkileşim gereklidir. Çoklu NPC sistemi ile aynı quest farklı NPC'ler üzerinden devam edebilir veya farklı görev adımları farklı NPC'lerde tamamlanabilir. Bu, oyuncuya daha zengin bir hikaye ve görev akışı sunar. Örneğin, bir görevin başlangıcı 'Görev Verici NPC' ile yapılırken, görevin bitimi başka bir NPC ile yapılabilir.
Quest Yazımı ve Lua Script Kullanımı
Metin2 quest sistemlerinde görevler Lua scriptleri ile tanımlanır. Quest dosyaları genellikle server_files/quest dizini altındadır. Bir quest yazarken şu temel yapıya dikkat edilmelidir:
- Quest ismi tanımlanır
- Quest başlatma komutu tanımlanır
- NPC ile etkileşim tanımlanır
- Görev akışı ve durum yönetimi yapılır
- Görev tamamlandığında ödül verilir
Örnek Quest Yapısı
Aşağıda basit bir quest örneği verilmiştir. Bu quest, oyuncunun bir NPC ile konuşup görevi alması, bir görevi tamamlaması ve ardından ödül alması şeklinde ilerlemektedir:
Metin2 Quest Hata Ayıklama ve Debug
Quest geliştirirken karşılaşılan hatalar, oyunun doğru çalışmasını engelleyebilir. Quest debug işlemleri için log kayıtlarını takip etmek önemlidir. Sunucu loglarında quest ile ilgili hatalar gözlemlenebilir. Ayrıca, quest dosyasının Lua syntax kurallarına uygunluğu kontrol edilmelidir. Yanlış parantez, eksik komut veya yanlış değişken kullanımı gibi hatalar, quest'in çalışmamasına neden olabilir.
Quest Reward ve Item Sistemleri
Quest tamamlandığında oyuncuya verilecek ödüller, quest geliştiriciler için önemli bir unsurdur. Metin2'de item, 경험, gold gibi ödüller pc.give_item2(), pc.give_exp() gibi fonksiyonlarla verilir. Bu ödüller, oyuncunun motivasyonunu artırır ve oyun içi etkinliği teşvik eder. Aynı zamanda, özel itemlerin veya sınırlı süreli ödüllerin verilmesi, oyuncuların aktif kalmasını sağlar.
Metin2 Lobby Quest Sistemleri
Metin2Lobby olarak biz, Metin2 sunucularında geliştirilen özel quest sistemlerine destek veriyoruz. Sitemizde birçok quest scripti, quest editörleri ve geliştirici araçları mevcuttur..quest sistemleri ile ilgili sorularınız ya da yardımlarınız için forumlarımıza göz atabilirsiniz.
Sonuç
Metin2'de quest sistemleri, oyun deneyimini zenginleştiren en önemli unsurlardan biridir. Çoklu NPC sistemleri ile daha karmaşık ve ilginç görevler tasarlanabilir. Doğru bir şekilde geliştirilmiş questler, oyuncuların sunucuda daha uzun süre kalmalarını sağlar. Lua dili bilgisi ile özgün questler yazmak, sunucu geliştiricileri için büyük bir avantajdır.
Metin2 Multi-NPC System and Quest Development Guide
In Metin2, quest systems are crucial for players to experience gameplay and earn in-game rewards. For server developers, customized quest systems play a key role in increasing player engagement. In this article, we will focus on quest development through the Metin2 Multi-NPC System. We'll explore how the quest system works, how to write quests in Lua, how NPCs are used within quest chains, and common issues developers may encounter.
What is the Metin2 Quest System?
The quest system in Metin2 allows players to complete specific tasks and earn rewards such as items, 경험, gold, and more. Players interact with NPCs to receive missions, complete them, and get rewards in return. Quests are typically developed using the Lua programming language. The quest files have a .lua extension and are uploaded specifically to the Metin2 server.
What is an NPC and How Does It Interact With Quests?
NPCs (Non-Player Characters) are characters controlled by the game rather than players. In Metin2, initiating a quest often requires interaction with an NPC. With a multi-NPC system, the same quest can continue through different NPCs, or various quest steps can be completed at different NPCs. This provides a richer story and quest flow for players. For instance, a quest might begin with one NPC and conclude with another.
Writing Quests and Using Lua Scripts
In Metin2, quests are defined using Lua scripts. These files are usually located under the server_files/quest directory. When writing a quest, the following structure should be followed:
- Define the quest name
- Set up the quest start command
- Define NPC interactions
- Manage quest flow and states
- Grant rewards upon completion
Sample Quest Structure
Below is a simple example of a quest that starts with a player interacting with an NPC, completing a task, and receiving a reward:
Debugging and Troubleshooting Quests in Metin2
Errors encountered during quest development can prevent the game from running properly. Monitoring server logs is essential for debugging quests. Incorrect Lua syntax, missing commands, or wrong variable usage can cause quests to malfunction. Checking for mismatched brackets or incomplete functions helps ensure smooth operation.
Quest Rewards and Item Systems
Rewards given upon quest completion are important for developers. In Metin2, rewards like items, 경험, and gold are distributed via functions such as pc.give_item2() and pc.give_exp(). These rewards encourage player motivation and in-game activity. Special or limited-time rewards also help maintain player engagement over time.
Metin2 Lobby Quest Systems
At Metin2Lobby, we support custom quest systems developed for Metin2 servers. Our site offers many quest scripts, editors, and developer tools. For questions or help regarding quest systems, feel free to visit our forums.
Conclusion
Quest systems in Metin2 are among the most important features that enhance the gaming experience. Complex and interesting quests can be designed using multi-NPC systems. Well-developed quests encourage players to stay longer on the server. Writing original quests using Lua knowledge is a significant advantage for server developers.
1-) usr/game/share/locale/turkey/quest bölümüne "npcac.lua" adında bir lua dosyası açalım. Daha sonra dosyasının içine aşağıdaki kodları yazalım:
PHP- Kodu:
quest npcac begin
state start begin
when 20087.chat."Çoklu NPC" begin
npcKategori = {
"Silah Satıcısi",
"Balıkçi",
"Market",
}
npcKategoriSay = tonumber(table.getn(npcKategori))
npcKategori[npcKategoriSay + 1 ] = "Kapat"
npcKategoriSec = select_table(npcKategori)
for i=1,npcKategoriSay,1 do
if npcKategoriSec == npcKategoriSay + 1 then
return
end
if npcKategoriSec == i then
npc.open_shop(npcac.npcVeri(tostring(npcKategori[i])))
end
end
end
function npcVeri(npcKodu)
npcVeri = {
["Silah Satıcısi"] = {1},
["Balıkçi"] = {2},
["Market"] = {3}
}
return npcVeri[npcKodu][1]
end
end
end
Bunu kaydedip çıkıyoruz.
2-)Putty'e geliyoruz.
cd /usr/game/share/locale/turkey/quest yazıp enterliyoruz. Daha sonra şu komutu yazıyoruz.
./qc npcac.lua
Putty ile de işimiz bitti.
3-) Oyuna dönüyoruz ve bir GM karakter ile "/reload q" çekiyoruz.
4-) Daha sonra 20087 kodlu NPC'den sistemi kontrol edebilirsiniz.
NOT: Şuan 3 tane NPC kayıtlıdır. Eğer daha fazla NPC eklemek istiyorsanız yapmanız gereken şudur:
PHP- Kodu:
npcKategori = {
"Silah Satıcısi",
"Balıkçi",
"Market",
"Silahci",
"Zırhci"
}
Bu kısma NPC'ye tıklanınca görülecek ismi ekliyoruz.(ÇOK ÇOK önemli, isimlerin sonu " ı " harfi ile bitmemeli! Eğer " ı " harfi ile biterse sistem çalışmaz. Örneğin: Silahçı yada Zırhçı yapamazsınız!)
Daha sonra aşağıdaki kısma da aynı şekilde ekliyorsunuz:
PHP- Kodu:
npcVeri = {
["Silah Satıcısi"] = {1},
["Balıkçi"] = {2},
["Market"] = {3},
["Silahci"] = {4},
["Zirhci"] = {5}
}
Karşısındaki 4,5 değerlerini siz player veritabanından shop.sql tablosuna girip bulacaksınız.
Shop.sql'i açınca: vnum sütunu buradaki 1,2,3,4,5 değerlerini temsil eder. npc_vnum'sa o değerlerin hangi NPC olacağını. Örneğin shop.sql'i açtığınızda vnum'u 4 yapıp npc_vnum'u 9001 yapmalısınız. Sistemin mantığı bu şekilde.(Buradaki ilk isimler Zirhci, Balikci, Silahci... yukarıdaki kısımla aynı isimde ve aynı sırada olmalı yoksa sistem karışır.)
Saygılarımla Luktodora +rep verip teşşekür ederseniz sevinirim iyi forumlar
Metin2 Çoklu NPC Sistemi ve Quest Geliştirme Rehberi
Metin2 oyununda quest sistemleri, oyuncuların deneyim yaşamaları ve oyun içi ödüller kazanmaları açısından büyük önem taşır. Özellikle sunucu geliştiricileri için özelleştirilmiş quest sistemleri, oyuncu tutkunluğunu artırmada kilit rol oynar. Bu makalede Metin2 Çoklu NPC Sistemi üzerinden quest geliştirme konusuna odaklanacağız. Quest sisteminin nasıl çalıştığını, Lua dilinde nasıl yazılabileceğini, NPC’lerin quest zincirlerinde nasıl kullanıldığını ve geliştiricilerin karşılaşabileceği sorunları ele alacağız.
Metin2 Quest Sistemi Nedir?
Metin2'de quest sistemi, oyuncuların belirli görevleri yaparak ödüller kazandığı bir yapıdır. Oyuncular, NPC'lerden görev alır, görevleri tamamlar ve karşılığında item, 경험, gold gibi ödüller alabilirler. Quest sistemleri genellikle Lua programlama dili kullanılarak geliştirilir. Quest dosyaları .lua uzantılıdır ve Metin2 sunucusuna özel olarak yüklenir.
NPC Nedir ve Quest ile Nasıl Etkileşime Girer?
NPC (Non-Player Character), oyuncunun dışındaki karakterlerdir. Metin2'de bir quest başlatmak için genellikle bir NPC ile etkileşim gereklidir. Çoklu NPC sistemi ile aynı quest farklı NPC'ler üzerinden devam edebilir veya farklı görev adımları farklı NPC'lerde tamamlanabilir. Bu, oyuncuya daha zengin bir hikaye ve görev akışı sunar. Örneğin, bir görevin başlangıcı 'Görev Verici NPC' ile yapılırken, görevin bitimi başka bir NPC ile yapılabilir.
Quest Yazımı ve Lua Script Kullanımı
Metin2 quest sistemlerinde görevler Lua scriptleri ile tanımlanır. Quest dosyaları genellikle server_files/quest dizini altındadır. Bir quest yazarken şu temel yapıya dikkat edilmelidir:
- Quest ismi tanımlanır
- Quest başlatma komutu tanımlanır
- NPC ile etkileşim tanımlanır
- Görev akışı ve durum yönetimi yapılır
- Görev tamamlandığında ödül verilir
Örnek Quest Yapısı
Aşağıda basit bir quest örneği verilmiştir. Bu quest, oyuncunun bir NPC ile konuşup görevi alması, bir görevi tamamlaması ve ardından ödül alması şeklinde ilerlemektedir:
Kod:
[B]quest örnek_quest begin[/B][BR][/BR][B]state start begin[/B][BR][/BR][B]when login or levelup with pc.get_level() >= 30 begin[/B][BR][/BR][B]say('Merhaba, sana özel bir görevim var!')[/B][BR][/BR][B]end[/B][BR][/BR][B]when button[/B][BR][/BR][B]or click begin[/B][BR][/BR][B]say_title('Görev Verici')[/B][BR][/BR][B]local s = select('Görevi başlat', 'Bilgi al', 'Vazgeç')[/B][BR][/BR][B]if s == 1 then[/B][BR][/BR][B]set_state(quest_state)[/B][BR][/BR][B]elseif s == 2 then[/B][BR][/BR][B]say('Bu görevde bir canavarı yeneceksin.')[/B][BR][/BR][B]elseif s == 3 then[/B][BR][/BR][B]return[/B][BR][/BR][B]end[/B][BR][/BR][B]end[/B][BR][/BR][B]state quest_state begin[/B][BR][/BR][B]when kill with npc.get_race() == 101 begin[/B][BR][/BR][B]say('Tebrikler! Görevi tamamladın.')[/B][BR][/BR][B]pc.give_item2('gold', 1000)[/B][BR][/BR][B]set_state(__complete)[/B][BR][/BR][B]end[/B][BR][/BR][B]end[/B][BR][/BR][B]state __complete begin[/B][BR][/BR][B]end[/BR][/BR][B]end[/B]
Metin2 Quest Hata Ayıklama ve Debug
Quest geliştirirken karşılaşılan hatalar, oyunun doğru çalışmasını engelleyebilir. Quest debug işlemleri için log kayıtlarını takip etmek önemlidir. Sunucu loglarında quest ile ilgili hatalar gözlemlenebilir. Ayrıca, quest dosyasının Lua syntax kurallarına uygunluğu kontrol edilmelidir. Yanlış parantez, eksik komut veya yanlış değişken kullanımı gibi hatalar, quest'in çalışmamasına neden olabilir.
Quest Reward ve Item Sistemleri
Quest tamamlandığında oyuncuya verilecek ödüller, quest geliştiriciler için önemli bir unsurdur. Metin2'de item, 경험, gold gibi ödüller pc.give_item2(), pc.give_exp() gibi fonksiyonlarla verilir. Bu ödüller, oyuncunun motivasyonunu artırır ve oyun içi etkinliği teşvik eder. Aynı zamanda, özel itemlerin veya sınırlı süreli ödüllerin verilmesi, oyuncuların aktif kalmasını sağlar.
Metin2 Lobby Quest Sistemleri
Metin2Lobby olarak biz, Metin2 sunucularında geliştirilen özel quest sistemlerine destek veriyoruz. Sitemizde birçok quest scripti, quest editörleri ve geliştirici araçları mevcuttur..quest sistemleri ile ilgili sorularınız ya da yardımlarınız için forumlarımıza göz atabilirsiniz.
Sonuç
Metin2'de quest sistemleri, oyun deneyimini zenginleştiren en önemli unsurlardan biridir. Çoklu NPC sistemleri ile daha karmaşık ve ilginç görevler tasarlanabilir. Doğru bir şekilde geliştirilmiş questler, oyuncuların sunucuda daha uzun süre kalmalarını sağlar. Lua dili bilgisi ile özgün questler yazmak, sunucu geliştiricileri için büyük bir avantajdır.
Metin2 Multi-NPC System and Quest Development Guide
In Metin2, quest systems are crucial for players to experience gameplay and earn in-game rewards. For server developers, customized quest systems play a key role in increasing player engagement. In this article, we will focus on quest development through the Metin2 Multi-NPC System. We'll explore how the quest system works, how to write quests in Lua, how NPCs are used within quest chains, and common issues developers may encounter.
What is the Metin2 Quest System?
The quest system in Metin2 allows players to complete specific tasks and earn rewards such as items, 경험, gold, and more. Players interact with NPCs to receive missions, complete them, and get rewards in return. Quests are typically developed using the Lua programming language. The quest files have a .lua extension and are uploaded specifically to the Metin2 server.
What is an NPC and How Does It Interact With Quests?
NPCs (Non-Player Characters) are characters controlled by the game rather than players. In Metin2, initiating a quest often requires interaction with an NPC. With a multi-NPC system, the same quest can continue through different NPCs, or various quest steps can be completed at different NPCs. This provides a richer story and quest flow for players. For instance, a quest might begin with one NPC and conclude with another.
Writing Quests and Using Lua Scripts
In Metin2, quests are defined using Lua scripts. These files are usually located under the server_files/quest directory. When writing a quest, the following structure should be followed:
- Define the quest name
- Set up the quest start command
- Define NPC interactions
- Manage quest flow and states
- Grant rewards upon completion
Sample Quest Structure
Below is a simple example of a quest that starts with a player interacting with an NPC, completing a task, and receiving a reward:
Kod:
[B]quest sample_quest begin[/B][BR][/BR][B]state start begin[/B][BR][/BR][B]when login or levelup with pc.get_level() >= 30 begin[/B][BR][/BR][B]say('Hello, I have a special mission for you!')[/B][BR][/BR][B]end[/B][BR][/BR][B]when button[/B][BR][/BR][B]or click begin[/B][BR][/BR][B]say_title('Quest Giver')[/B][BR][/BR][B]local s = select('Start Quest', 'Get Info', 'Cancel')[/B][BR][/BR][B]if s == 1 then[/B][BR][/BR][B]set_state(quest_state)[/B][BR][/BR][B]elseif s == 2 then[/B][BR][/BR][B]say('In this quest, you will defeat a monster.')[/B][BR][/BR][B]elseif s == 3 then[/B][BR][/BR][B]return[/B][BR][/BR][B]end[/B][BR][/BR][B]end[/B][BR][/BR][B]state quest_state begin[/B][BR][/BR][B]when kill with npc.get_race() == 101 begin[/B][BR][/BR][B]say('Congratulations! You have completed the quest.')[/B][BR][/BR][B]pc.give_item2('gold', 1000)[/B][BR][/BR][B]set_state(__complete)[/B][BR][/BR][B]end[/B][BR][/BR][B]state __complete begin[/B][BR][/BR][B]end[/BR][/BR][B]end[/B]
Debugging and Troubleshooting Quests in Metin2
Errors encountered during quest development can prevent the game from running properly. Monitoring server logs is essential for debugging quests. Incorrect Lua syntax, missing commands, or wrong variable usage can cause quests to malfunction. Checking for mismatched brackets or incomplete functions helps ensure smooth operation.
Quest Rewards and Item Systems
Rewards given upon quest completion are important for developers. In Metin2, rewards like items, 경험, and gold are distributed via functions such as pc.give_item2() and pc.give_exp(). These rewards encourage player motivation and in-game activity. Special or limited-time rewards also help maintain player engagement over time.
Metin2 Lobby Quest Systems
At Metin2Lobby, we support custom quest systems developed for Metin2 servers. Our site offers many quest scripts, editors, and developer tools. For questions or help regarding quest systems, feel free to visit our forums.
Conclusion
Quest systems in Metin2 are among the most important features that enhance the gaming experience. Complex and interesting quests can be designed using multi-NPC systems. Well-developed quests encourage players to stay longer on the server. Writing original quests using Lua knowledge is a significant advantage for server developers.
