Öncelikle herkezlere merhabalar
Gördünüz'mü bilmem daha önce quest ile mysql ilişkilendirme başlığında konularım vardı fakat web tasarıma yönlenince bırakmak zorunda kaldım fakat o konuyu yakında buraya taşıtıp devam ettireceğim..
Bu konumda aslında quest yazma değilde elimizde olan bir questin mantığını anlama ve üzerinde oynama yapma konularını anlatacağım hatam, yazım yanlışım olursa kusura bakmayın kardeşlerim benim amacım ticaret değil yardım maruz görün
Elimde olan bir questi hemen anlatayım sizlere
quest ilk olarak 20032 kodlu npc'mize tıklandğında aktif hale geliyor..
ilk koşulumuz if item.vnum == 50010
mantık: kontrol et itemlerden kodu==50010 olan varmı;
amaç:serverimizde böyle bir item olmaya bilir değilmi..
2.inci koşul if pc.count_item("50010") >= 5
mantık:etkileşimde olan oyuncunun yani npc'yee tıklayan oyuncuda 50010 kodlu item sayısı 5'e eşit ve 5'den büyükmü
amaç:50010 kodlu item den 5 en az 5 tane olmasını istiyoruz sadece = koysak o itemden 4 tane'de olasa 10 tane olsada 5 olmadığı sürece koşul gerçekleşmez yani illa 5 olacak olurdu sadece > bunu koysa idik bu kezde en az 6 tane olması gerekirdi çünkü 5 küçük değildir 5'den
değilmi mantık olarak bu yüzden >=5 kullanıyoruz 5 ve beşten büyük rakamlar koşulu sağlar..
3.'üncü koşul if pc.get_empty_inventory_count() >= 1
mantık Etkileşimde olan oyuncunun envanterinde en az 1 tane boş alan olmalıdır
amaç:Boş alan yoksa nasıl veririz itemi değilmi.. burdaki >=1 mantığıda verilen ödül 1 alan kapladığı için siz eğer 2 alanlık bir item verir iseniz sadece >=2 olacak
Koşullar bitti herşey koşula girdi ise devam eder
1.50010'Kodlu itemlerin silinmesi
c.remove_item("50010",5)
mantığı:Etkileşimde olan oyuncunun 50010 kodlu iteminden 5 tane sil
amaç:etkinliğin mantığı bu idi 50010 nolu itemden 5 tane getiren ödülü alacak ama siz silmez iseniz her almasında adam her tıklamada alır ödülü çünkü hala envanterinde 50010 nolu item hala duruyo olur
2.Verilen ödüller local kodlar = {19,149,159,169,49,59}
mantık:local değişken tanıma anlamına gelir php'de $ gibi kodlar adında bir dizi tanımlanıyor icerisindede 6 farklı item var dizi ne demek derseniz dizi değişkenin çoklu hali yani örnek vermek gerekirse
local araba=bmw bu değişken ben ne zaman araba yazsam bmw gelir
local arabalar={bmw,mercedes,audi} buda dizi demek ben ne zaman arabalar desem bunlar çıkmazzzz :d neden mi.. okumaya devam edin anlarsınız
3.Rasgele sayı tanımlama local rand = number(1,6)
mantık: Rand adında bir değişken tanımladı içerisindede 1 ve 6 yok ama
number demek rastgele sayı tanımlama
aslında php de rand(1,10) desek oluyo ama lua da olmuyo demekki burdaki number rastgele sayı oluşturuyo yani 1den 6'ya kadar bir sayı 1-2-3-4-5-6 her çağırmada bu rand değişkeni 1de 2de 3de..6'yakadar bir rakam olabiliyor
amaç:verilecek ödülün 6 itemden birisi olmasını sağlamak
4.Ödülün verilmesi pc.give_item2(kodlar[rand])
Mantık:SON DOKUNUŞ derler ya işte o son dokunuş bu.
Etkileşimde olan oyuncuya kodlar[rand] ver
biliyorum anlamadın yukarı bak kodlar ne idi 6 tane item kodu ya rand? buda rast gele sayı demekti mantığı ne?
mantığı şu aslında ben şölede yapabilirdim kodlar[1] bu kodlar dizisindeki 1'inci elemanı ver hım..1 inci eleman ne 19 (19 0lvl lik kılıç kodu idi heralde yanlış hatırlamıyo isem) bunu yazsa idim hep bu kılıcı verirdi
kodlar[rand] dedik çünkü şans olayını işin içine kattık yani bu şansa göre kodlar[1] de gelebilir kodlar[6] da yani 1 den 6 ya kadar değişe bilir
sonuç olarak şans ile itemi verdik burayı anlamak için iyi okuyun arkadaşlar..
Üzerinde oynama yapmak
mesela siz 5 değilde 10 tane isteyin 50010 kodlu itemi değilde başka bir kodlu itemi isteyin
veya;
if pc.get_level () >=50 then ekleyin 50 lvl den büyükse tabi bunu eklerseniz else yi de ekleyin
else 50 lvl den küçüksünüz.. gibi
Metin2 oyununda quest sistematiği, oyuncuların oyun içi deneyimlerini zenginleştiren temel unsurlardan biridir. Questler sayesinde oyuncular, belirli görevleri yerine getirerek ödüller kazanabilir, hikaye gelişimine katkı sağlayabilir veya özel içeriklere erişebilirler. Bu yazıda, Bir quest mantığını anlama ve üzerinde oynama yapma konusuna odaklanacağız. Metin2.quest, Metin2.quest.sistemi, Metin2.quest.script, Metin2.quest.lua gibi kavramlar da ele alınacaktır.
Metin2 Quest Nedir?
Metin2'de questler, oyuncuların belirli görevleri yerine getirmesiyle başlayan ve ödüllerle son bulan sistemlerdir. Questler genellikle Lua dilinde yazılır ve oyun sunucusuna entegre edilir. Quest sistemi, NPC'ler üzerinden başlatılır ve oyuncuların belirli eylemleri gerçekleştirmesini gerektirir. Örneğin, bir düşmanı öldürmek, bir eşya toplamak ya da belirli bir konuma gitmek gibi görevler yer alabilir.
Quest Geliştirme Araçları
Metin2.quest.geliştirme süreci, genellikle Lua dili bilgisine dayanır. Quest scriptleri, 'quest' komutuyla başlar ve 'end' komutuyla biter. Metin2.quest.lua dosyalarında bu scriptler saklanır. Scriptlerde kullanılan anahtar kelimeler arasında begin, end, state, when, say, chat, timer, item, mob, flag gibi terimler bulunur. Bu yapılar, quest'in nasıl çalışacağını belirler. Örneğin, when komutu, belirli bir koşul sağlandığında questin devreye girmesini sağlar. Timer ise belirli bir süreye dayalı görevler için kullanılır.
Quest Yazımı ve Hata Ayıklama
Metin2.quest.yazma süreci, doğru syntax kurallarına bağlıdır. Yanlış bir noktalama, parantez açma-kapama hatası ya da eksik komut, questin çalışmamasına neden olabilir. Metin2.quest.debug işlemleri, bu tür hataların tespiti için önemlidir. Sunucu loglarında quest hataları gözlemlenerek sorun çözülebilir. Ayrıca, quest edit işlemleri sırasında dikkatli olunması gerekir çünkü küçük değişiklikler büyük etkiler yaratabilir.
Quest Ödülleri ve Görev Zincirleri
Metin2.quest.reward, oyuncuların tamamladıkları görevler karşılığında aldıkları ödüllerdir. Bu ödüller para, item, tecrübe puanı ya da özel yetenekler olabilir. Quest chain (görev zinciri) yapıları, bir görevin tamamlanmasının ardından diğer görevin otomatik olarak başlamasını sağlar. Bu sistem, oyuncuların daha uzun süre oyunla etkileşimde kalmasını teşvik eder. Daily quest (günlük görevler) ise oyunculara günlük olarak yenilenen görevler sunarak aktif kalma motivasyonu sağlar.
Özel ve Gelişmiş Quest Sistemleri
Metin2.custom.quest veya Metin2.özel.quest gibi yapılar, sunucuya özgü geliştirilmiş olan questleri ifade eder. Bu questler, standart oyundan farklı kurallar, ödüller veya görev tipleri içerebilir. Martysama.quest gibi gelişmiş script örnekleri, karmaşık mantık ve animasyonlar barındırabilir. Quest geliştirme sürecinde, NPC'lerin konuşmaları, görev tetikleyicileri ve durum kontrolleri gibi unsurlar detaylıca planlanmalıdır.
Sonuç olarak, Metin2.quest.mantığı, Lua tabanlı bir yapıya sahiptir ve doğru şekilde uygulandığında oyunculara harika deneyimler sunabilir. Quest yazımı, debug işlemleri ve geliştirme süreçleri, Metin2 sunucuları için kritik öneme sahiptir.
In the game Metin2, the quest system is one of the core elements that enriches the player's in-game experience. Through quests, players can earn rewards, contribute to story development, or gain access to special content by completing certain tasks. In this article, we will focus on understanding the logic of a quest and making modifications to it. Concepts such as Metin2.quest, Metin2.quest.system, Metin2.quest.script, and Metin2.quest.lua will also be addressed.
What Is a Metin2 Quest?
In Metin2, quests are systems where players start by completing specific tasks and conclude with rewards. Quests are generally written in the Lua language and integrated into the game server. The quest system starts through NPCs and requires players to perform certain actions, such as killing an enemy, collecting an item, or going to a specific location.
Quest Development Tools[/BR][/BR]
The process of Metin2.quest.development largely relies on knowledge of the Lua programming language. Quest scripts begin with the 'quest' command and end with 'end'. These scripts are stored in Metin2.quest.lua files. Keywords used within these scripts include begin, end, state, when, say, chat, timer, item, mob, flag. These structures determine how the quest operates. For example, the when command triggers the quest upon meeting a specific condition. Timer is used for time-based quests.
Writing Quests and Debugging
The process of Metin2.quest.writing depends heavily on correct syntax rules. Incorrect punctuation, mismatched brackets, or missing commands can cause the quest not to run. Debugging processes like Metin2.quest.debug are crucial for identifying such errors. Errors can be observed in server logs and fixed accordingly. During Metin2.quest.edit operations, care must be taken because even small changes can have significant impacts.
Quest Rewards and Chain Systems
Metin2.quest.reward refers to the prizes players receive after completing quests. These can be money, items, experience points, or special abilities. Quest chains allow a new quest to automatically start once a previous one is completed. This system encourages players to stay engaged longer. Daily quests provide players with renewed tasks each day, promoting active participation.
Custom and Advanced Quest Systems
Structures like Metin2.custom.quest or Metin2.special.quest refer to quests uniquely developed for a server. These quests may contain different rules, rewards, or task types compared to standard gameplay. Advanced script examples such as Martysama.quest can include complex logic and animations. During the quest development process, elements such as NPC dialogues, quest triggers, and state checks must be carefully planned.
In conclusion, the logic behind Metin2.quest is based on Lua scripting and, when implemented correctly, can offer great experiences to players. Writing quests, debugging, and development processes are critical for Metin2 servers.
Gördünüz'mü bilmem daha önce quest ile mysql ilişkilendirme başlığında konularım vardı fakat web tasarıma yönlenince bırakmak zorunda kaldım fakat o konuyu yakında buraya taşıtıp devam ettireceğim..
Bu konumda aslında quest yazma değilde elimizde olan bir questin mantığını anlama ve üzerinde oynama yapma konularını anlatacağım hatam, yazım yanlışım olursa kusura bakmayın kardeşlerim benim amacım ticaret değil yardım maruz görün
Elimde olan bir questi hemen anlatayım sizlere
Kod:
quest yilbasiagac begin state start begin when 20032.take begin if item.vnum == 50010 then if pc.count_item("50010") >= 5 then if pc.get_empty_inventory_count() >= 1 then pc.remove_item("50010",5) local kodlar = {19,149,159,169,49,59} local rand = number(1,6) pc.give_item2(kodlar[rand]) else chat("Ödül alabilmek için envanterinde boş yer olmalı. ") end else chat("Ödül alabilmek için en az 5 çorap toplamalısın. ") end else return end end end end
quest ilk olarak 20032 kodlu npc'mize tıklandğında aktif hale geliyor..
ilk koşulumuz if item.vnum == 50010
mantık: kontrol et itemlerden kodu==50010 olan varmı;
amaç:serverimizde böyle bir item olmaya bilir değilmi..
2.inci koşul if pc.count_item("50010") >= 5
mantık:etkileşimde olan oyuncunun yani npc'yee tıklayan oyuncuda 50010 kodlu item sayısı 5'e eşit ve 5'den büyükmü
amaç:50010 kodlu item den 5 en az 5 tane olmasını istiyoruz sadece = koysak o itemden 4 tane'de olasa 10 tane olsada 5 olmadığı sürece koşul gerçekleşmez yani illa 5 olacak olurdu sadece > bunu koysa idik bu kezde en az 6 tane olması gerekirdi çünkü 5 küçük değildir 5'den
3.'üncü koşul if pc.get_empty_inventory_count() >= 1
mantık Etkileşimde olan oyuncunun envanterinde en az 1 tane boş alan olmalıdır
amaç:Boş alan yoksa nasıl veririz itemi değilmi.. burdaki >=1 mantığıda verilen ödül 1 alan kapladığı için siz eğer 2 alanlık bir item verir iseniz sadece >=2 olacak
Koşullar bitti herşey koşula girdi ise devam eder
1.50010'Kodlu itemlerin silinmesi
mantığı:Etkileşimde olan oyuncunun 50010 kodlu iteminden 5 tane sil
amaç:etkinliğin mantığı bu idi 50010 nolu itemden 5 tane getiren ödülü alacak ama siz silmez iseniz her almasında adam her tıklamada alır ödülü çünkü hala envanterinde 50010 nolu item hala duruyo olur
2.Verilen ödüller local kodlar = {19,149,159,169,49,59}
mantık:local değişken tanıma anlamına gelir php'de $ gibi kodlar adında bir dizi tanımlanıyor icerisindede 6 farklı item var dizi ne demek derseniz dizi değişkenin çoklu hali yani örnek vermek gerekirse
local araba=bmw bu değişken ben ne zaman araba yazsam bmw gelir
local arabalar={bmw,mercedes,audi} buda dizi demek ben ne zaman arabalar desem bunlar çıkmazzzz :d neden mi.. okumaya devam edin anlarsınız
3.Rasgele sayı tanımlama local rand = number(1,6)
mantık: Rand adında bir değişken tanımladı içerisindede 1 ve 6 yok ama
aslında php de rand(1,10) desek oluyo ama lua da olmuyo demekki burdaki number rastgele sayı oluşturuyo yani 1den 6'ya kadar bir sayı 1-2-3-4-5-6 her çağırmada bu rand değişkeni 1de 2de 3de..6'yakadar bir rakam olabiliyor
amaç:verilecek ödülün 6 itemden birisi olmasını sağlamak
4.Ödülün verilmesi pc.give_item2(kodlar[rand])
Mantık:SON DOKUNUŞ derler ya işte o son dokunuş bu.
Etkileşimde olan oyuncuya kodlar[rand] ver
mantığı şu aslında ben şölede yapabilirdim kodlar[1] bu kodlar dizisindeki 1'inci elemanı ver hım..1 inci eleman ne 19 (19 0lvl lik kılıç kodu idi heralde yanlış hatırlamıyo isem) bunu yazsa idim hep bu kılıcı verirdi
kodlar[rand] dedik çünkü şans olayını işin içine kattık yani bu şansa göre kodlar[1] de gelebilir kodlar[6] da yani 1 den 6 ya kadar değişe bilir
sonuç olarak şans ile itemi verdik burayı anlamak için iyi okuyun arkadaşlar..
Üzerinde oynama yapmak
mesela siz 5 değilde 10 tane isteyin 50010 kodlu itemi değilde başka bir kodlu itemi isteyin
veya;
if pc.get_level () >=50 then ekleyin 50 lvl den büyükse tabi bunu eklerseniz else yi de ekleyin
else 50 lvl den küçüksünüz.. gibi
Metin2 oyununda quest sistematiği, oyuncuların oyun içi deneyimlerini zenginleştiren temel unsurlardan biridir. Questler sayesinde oyuncular, belirli görevleri yerine getirerek ödüller kazanabilir, hikaye gelişimine katkı sağlayabilir veya özel içeriklere erişebilirler. Bu yazıda, Bir quest mantığını anlama ve üzerinde oynama yapma konusuna odaklanacağız. Metin2.quest, Metin2.quest.sistemi, Metin2.quest.script, Metin2.quest.lua gibi kavramlar da ele alınacaktır.
Metin2 Quest Nedir?
Metin2'de questler, oyuncuların belirli görevleri yerine getirmesiyle başlayan ve ödüllerle son bulan sistemlerdir. Questler genellikle Lua dilinde yazılır ve oyun sunucusuna entegre edilir. Quest sistemi, NPC'ler üzerinden başlatılır ve oyuncuların belirli eylemleri gerçekleştirmesini gerektirir. Örneğin, bir düşmanı öldürmek, bir eşya toplamak ya da belirli bir konuma gitmek gibi görevler yer alabilir.
Quest Geliştirme Araçları
Metin2.quest.geliştirme süreci, genellikle Lua dili bilgisine dayanır. Quest scriptleri, 'quest' komutuyla başlar ve 'end' komutuyla biter. Metin2.quest.lua dosyalarında bu scriptler saklanır. Scriptlerde kullanılan anahtar kelimeler arasında begin, end, state, when, say, chat, timer, item, mob, flag gibi terimler bulunur. Bu yapılar, quest'in nasıl çalışacağını belirler. Örneğin, when komutu, belirli bir koşul sağlandığında questin devreye girmesini sağlar. Timer ise belirli bir süreye dayalı görevler için kullanılır.
Quest Yazımı ve Hata Ayıklama
Metin2.quest.yazma süreci, doğru syntax kurallarına bağlıdır. Yanlış bir noktalama, parantez açma-kapama hatası ya da eksik komut, questin çalışmamasına neden olabilir. Metin2.quest.debug işlemleri, bu tür hataların tespiti için önemlidir. Sunucu loglarında quest hataları gözlemlenerek sorun çözülebilir. Ayrıca, quest edit işlemleri sırasında dikkatli olunması gerekir çünkü küçük değişiklikler büyük etkiler yaratabilir.
Quest Ödülleri ve Görev Zincirleri
Metin2.quest.reward, oyuncuların tamamladıkları görevler karşılığında aldıkları ödüllerdir. Bu ödüller para, item, tecrübe puanı ya da özel yetenekler olabilir. Quest chain (görev zinciri) yapıları, bir görevin tamamlanmasının ardından diğer görevin otomatik olarak başlamasını sağlar. Bu sistem, oyuncuların daha uzun süre oyunla etkileşimde kalmasını teşvik eder. Daily quest (günlük görevler) ise oyunculara günlük olarak yenilenen görevler sunarak aktif kalma motivasyonu sağlar.
Özel ve Gelişmiş Quest Sistemleri
Metin2.custom.quest veya Metin2.özel.quest gibi yapılar, sunucuya özgü geliştirilmiş olan questleri ifade eder. Bu questler, standart oyundan farklı kurallar, ödüller veya görev tipleri içerebilir. Martysama.quest gibi gelişmiş script örnekleri, karmaşık mantık ve animasyonlar barındırabilir. Quest geliştirme sürecinde, NPC'lerin konuşmaları, görev tetikleyicileri ve durum kontrolleri gibi unsurlar detaylıca planlanmalıdır.
Sonuç olarak, Metin2.quest.mantığı, Lua tabanlı bir yapıya sahiptir ve doğru şekilde uygulandığında oyunculara harika deneyimler sunabilir. Quest yazımı, debug işlemleri ve geliştirme süreçleri, Metin2 sunucuları için kritik öneme sahiptir.
In the game Metin2, the quest system is one of the core elements that enriches the player's in-game experience. Through quests, players can earn rewards, contribute to story development, or gain access to special content by completing certain tasks. In this article, we will focus on understanding the logic of a quest and making modifications to it. Concepts such as Metin2.quest, Metin2.quest.system, Metin2.quest.script, and Metin2.quest.lua will also be addressed.
What Is a Metin2 Quest?
In Metin2, quests are systems where players start by completing specific tasks and conclude with rewards. Quests are generally written in the Lua language and integrated into the game server. The quest system starts through NPCs and requires players to perform certain actions, such as killing an enemy, collecting an item, or going to a specific location.
Quest Development Tools[/BR][/BR]
The process of Metin2.quest.development largely relies on knowledge of the Lua programming language. Quest scripts begin with the 'quest' command and end with 'end'. These scripts are stored in Metin2.quest.lua files. Keywords used within these scripts include begin, end, state, when, say, chat, timer, item, mob, flag. These structures determine how the quest operates. For example, the when command triggers the quest upon meeting a specific condition. Timer is used for time-based quests.
Writing Quests and Debugging
The process of Metin2.quest.writing depends heavily on correct syntax rules. Incorrect punctuation, mismatched brackets, or missing commands can cause the quest not to run. Debugging processes like Metin2.quest.debug are crucial for identifying such errors. Errors can be observed in server logs and fixed accordingly. During Metin2.quest.edit operations, care must be taken because even small changes can have significant impacts.
Quest Rewards and Chain Systems
Metin2.quest.reward refers to the prizes players receive after completing quests. These can be money, items, experience points, or special abilities. Quest chains allow a new quest to automatically start once a previous one is completed. This system encourages players to stay engaged longer. Daily quests provide players with renewed tasks each day, promoting active participation.
Custom and Advanced Quest Systems
Structures like Metin2.custom.quest or Metin2.special.quest refer to quests uniquely developed for a server. These quests may contain different rules, rewards, or task types compared to standard gameplay. Advanced script examples such as Martysama.quest can include complex logic and animations. During the quest development process, elements such as NPC dialogues, quest triggers, and state checks must be carefully planned.
In conclusion, the logic behind Metin2.quest is based on Lua scripting and, when implemented correctly, can offer great experiences to players. Writing quests, debugging, and development processes are critical for Metin2 servers.
