Kod:
quest gmservis begin state start begin when letter with pc.is_gm() begin send_letter("GM: Servis") end when info or button with pc.is_gm() begin local s = select("Becerilerimi Perfect yap","İtem ver","Saç Stili ver","Güneş Özütü ve Ay Özütü ver","Giriş eşyası al","NPC çağır","Event başlat veya bitir","Vazgeç ") if s == 1 then if pc.get_job() == 0 then pc.set_skill_level(1,40) pc.set_skill_level(2,40) pc.set_skill_level(3,40) pc.set_skill_level(4,40) pc.set_skill_level(5,40) pc.set_skill_level(137,20) pc.set_skill_level(138,20) pc.set_skill_level(139,20) pc.set_skill_level(131,10) pc.set_skill_level(129,40) pc.set_skill_level(128,20) pc.set_skill_level(130,21) pc.set_skill_level(127,20) pc.set_skill_level(126,20) pc.set_skill_level(124,40) pc.set_skill_level(121,40) pc.set_skill_level(122,2) pc.set_skill_level(17,40) pc.set_skill_level(18,40) pc.set_skill_level(19,40) pc.set_skill_level(20,40) pc.set_skill_level(16,40) send_letter("GM: Servis") end if pc.get_job() == 1 then pc.set_skill_level(46,40) pc.set_skill_level(47,40) pc.set_skill_level(48,40) pc.set_skill_level(49,40) pc.set_skill_level(50,40) pc.set_skill_level(137,20) pc.set_skill_level(138,20) pc.set_skill_level(139,20) pc.set_skill_level(140,20) pc.set_skill_level(131,10) pc.set_skill_level(130,21) pc.set_skill_level(129,40) pc.set_skill_level(128,20) pc.set_skill_level(127,20) pc.set_skill_level(126,20) pc.set_skill_level(124,40) pc.set_skill_level(121,40) pc.set_skill_level(122,2) pc.set_skill_level(49,40) pc.set_skill_level(50,40) pc.set_skill_level(48,40) pc.set_skill_level(47,40) pc.set_skill_level(46,40) send_letter("GM: Servis") end if pc.get_job() == 2 then pc.set_skill_level(61,40) pc.set_skill_level(62,40) pc.set_skill_level(63,40) pc.set_skill_level(64,40) pc.set_skill_level(65,40) pc.set_skill_level(66,40) pc.set_skill_level(137,20) pc.set_skill_level(138,20) pc.set_skill_level(139,20) pc.set_skill_level(130,21) pc.set_skill_level(131,10) pc.set_skill_level(129,40) pc.set_skill_level(128,20) pc.set_skill_level(127,20) pc.set_skill_level(126,20) pc.set_skill_level(124,40) pc.set_skill_level(121,40) pc.set_skill_level(122,2) pc.set_skill_level(76,40) pc.set_skill_level(77,40) pc.set_skill_level(78,40) pc.set_skill_level(79,40) pc.set_skill_level(80,40) pc.set_skill_level(81,40) send_letter("GM: Servis") end if pc.get_job() == 3 then pc.set_skill_level(91,40) pc.set_skill_level(92,40) pc.set_skill_level(93,40) pc.set_skill_level(94,40) pc.set_skill_level(95,40) pc.set_skill_level(96,40) pc.set_skill_level(137,20) pc.set_skill_level(138,20) pc.set_skill_level(139,20) pc.set_skill_level(131,10) pc.set_skill_level(130,21) pc.set_skill_level(129,40) pc.set_skill_level(128,20) pc.set_skill_level(127,20) pc.set_skill_level(126,20) pc.set_skill_level(124,40) pc.set_skill_level(121,40) pc.set_skill_level(122,2) pc.set_skill_level(106,40) pc.set_skill_level(107,40) pc.set_skill_level(108,40) pc.set_skill_level(109,40) pc.set_skill_level(110,40) pc.set_skill_level(111,40) end elseif s == 2 then if pc.get_job() == 0 then pc . give_item2("40002" , 1) pc . give_item2("40003" , 1) pc . give_item2("189" , 1) pc . give_item2("279" , 1) pc . give_item2("11299" , 1) pc . give_item2("12019" , 1) pc . give_item2("14229" , 1) pc . give_item2("16229" , 1) pc . give_item2("15419" , 1) pc . give_item2("17229" , 1) pc . give_item2("12289" , 1) pc . give_item2("13149" , 1) send_letter("GM: Servis") end if pc.get_job() == 1 then pc . give_item2("40002" , 1) pc . give_item2("40003" , 1) pc . give_item2("1139" , 1) pc . give_item2("4049" , 1) pc . give_item2("2179" , 1) pc . give_item2("2169" , 1) pc . give_item2("12029" , 1) pc . give_item2("11499" , 1) pc . give_item2("14229" , 1) pc . give_item2("16229" , 1) pc . give_item2("15419" , 1) pc . give_item2("17229" , 1) pc . give_item2("12409" , 1) pc . give_item2("13149" , 1) send_letter("GM: Servis") end if pc.get_job() == 2 then pc . give_item2("40002" , 1) pc . give_item2("40003" , 1) pc . give_item2("12039" , 1) pc . give_item2("11699" , 1) pc . give_item2("14229" , 1) pc . give_item2("16229" , 1) pc . give_item2("15419" , 1) pc . give_item2("17229" , 1) pc . give_item2("12549" , 1) pc . give_item2("13149" , 1) pc . give_item2("289" , 1) pc . give_item2("3129" , 1) pc . give_item2("279" , 1) send_letter("GM: Servis") end if pc.get_job() == 3 then pc . give_item2("40002" , 1) pc . give_item2("40003" , 1) pc . give_item2("12049" , 1) pc . give_item2("11899" , 1) pc . give_item2("14229" , 1) pc . give_item2("16229" , 1) pc . give_item2("15419" , 1) pc . give_item2("17229" , 1) pc . give_item2("12689" , 1) pc . give_item2("13149" , 1) pc . give_item2("5129" , 1) pc . give_item2("7199" , 1) send_letter("GM: Servis") end elseif s == 3 then if pc.get_job() == 0 then if pc.get_sex() == 1 then pc . give_item2("75013" , 1) pc . give_item2("75014" , 1) pc . give_item2("75015" , 1) pc . give_item2("75016" , 1) pc . give_item2("75017" , 1) pc . give_item2("75018" , 1) pc . give_item2("75019" , 1) pc . give_item2("75020" , 1) send_letter("GM: Servis") else pc . give_item2("74013" , 1) pc . give_item2("74014" , 1) pc . give_item2("74015" , 1) pc . give_item2("74016" , 1) pc . give_item2("74017" , 1) pc . give_item2("74018" , 1) pc . give_item2("74019" , 1) pc . give_item2("74020" , 1) send_letter("GM: Servis") end end if pc.get_job() == 1 then if pc.get_sex() == 1 then pc . give_item2("74263" , 1) pc . give_item2("74264" , 1) pc . give_item2("74265" , 1) pc . give_item2("74266" , 1) pc . give_item2("74267" , 1) pc . give_item2("74268" , 1) pc . give_item2("74269" , 1) pc . give_item2("74270" , 1) send_letter("GM: Servis") else pc . give_item2("75213" , 1) pc . give_item2("75214" , 1) pc . give_item2("75215" , 1) pc . give_item2("75216" , 1) pc . give_item2("75217" , 1) pc . give_item2("75218" , 1) pc . give_item2("75219" , 1) pc . give_item2("75220" , 1) send_letter("GM: Servis") end end if pc.get_job() == 2 then if pc.get_sex() == 1 then pc . give_item2("75413" , 1) pc . give_item2("75414" , 1) pc . give_item2("75415" , 1) pc . give_item2("75416" , 1) pc . give_item2("75417" , 1) pc . give_item2("75418" , 1) pc . give_item2("75419" , 1) pc . give_item2("75420" , 1) send_letter("GM: Servis") else pc . give_item2("74513" , 1) pc . give_item2("74514" , 1) pc . give_item2("74515" , 1) pc . give_item2("74516" , 1) pc . give_item2("74517" , 1) pc . give_item2("74518" , 1) pc . give_item2("74519" , 1) pc . give_item2("74520" , 1) send_letter("GM: Servis") end end if pc.get_job() == 3 then if pc.get_sex() == 1 then pc . give_item2("74763" , 1) pc . give_item2("74764" , 1) pc . give_item2("74765" , 1) pc . give_item2("74766" , 1) pc . give_item2("74767" , 1) pc . give_item2("74768" , 1) pc . give_item2("74769" , 1) pc . give_item2("74770" , 1) send_letter("GM: Servis") else pc . give_item2("75613" , 1) pc . give_item2("75614" , 1) pc . give_item2("75615" , 1) pc . give_item2("75616" , 1) pc . give_item2("75617" , 1) pc . give_item2("75618" , 1) pc . give_item2("75619" , 1) pc . give_item2("75620" , 1) send_letter("GM: Servis") end end elseif s == 4 then pc . give_item2("72726" , 1) pc . give_item2("72730" , 1) send_letter("GM: Servis") elseif s == 5 then local ss = select("Kilit Açma Taşı(5 adet)","Zin-Sa-Gui Kale Haritası ","Zin-Bong-In Anahtar","Kan Taşı, Geçiş Bileti, Kıvrık Anahtar","Ruh Kristali Anahtarı ","Küçülen Kafa","Surat Totemi","Vazgeç ") if ss == 1 then pc . give_item2("50084" , 1) pc . give_item2("50084" , 1) pc . give_item2("50084" , 1) pc . give_item2("50084" , 1) pc . give_item2("50084" , 1) send_letter("GM: Servis") elseif ss == 2 then pc . give_item2("30302" , 1) send_letter("GM: Servis") elseif ss == 3 then pc . give_item2("30304" , 1) send_letter("GM: Servis") elseif ss == 4 then pc . give_item2("30190" , 1) pc . give_item2("71095" , 1) pc . give_item2("30179" , 3) send_letter("GM: Servis") elseif ss == 5 then pc . give_item2("30311" , 1) send_letter("GM: Servis") elseif ss == 6 then pc . give_item2("30319" , 1) send_letter("GM: Servis") elseif ss == 7 then pc . give_item2("30312" , 1) send_letter("GM: Servis") elseif ss == 8 then return send_letter("GM: Servis") end elseif s == 6 then local sss = select("Satıcı, Silahçı, Zırhçı ","Genel Depocu Helen, Olay Yardımcısı ","Malzemeci Glocken, Madenci","Kud Heykeli","Kaplumbağa Kayalığı ","Runik Direği","Bazalt Dikili Taş ","Vazgeç ") if sss == 1 then command("mob 9001") command("mob 9002") command("mob 9003") send_letter("GM: Servis") elseif sss == 2 then command("mob 9010") command("mob 9004") send_letter("GM: Servis") elseif sss == 3 then command("mob 9007") command("mob 9008") send_letter("GM: Servis") elseif sss == 4 then command("mob 30101") send_letter("GM: Servis") elseif sss == 5 then command("mob 30103") send_letter("GM: Servis") elseif sss == 6 then command("mob 30104") send_letter("GM: Servis") elseif sss == 7 then command("mob 30102") send_letter("GM: Servis") elseif sss == 8 then return send_letter("GM: Servis") end elseif s == 7 then local event = select("Ramazan Etkinliği","Lonca Savaşları Turnuvası ","VS Turnuvası ","Parşömen dropları ","Ayışığı Etkinliği","Mistik Sandık Etkinliği","Futbol Topu Etkinliği","Kapat") if event == 1 then local event2 = select("Ramazan Etkinliği başlat","Bereket Meyvesi ödülleri","Ramazan etkinliği bitir","Hiçbir şey") if event2 == 1 then notice_all("Ramazan ayı etkinliği başladı!") notice_all("Tarihçi'yi ziyaret et, Niyetli Vatandaş'a bir iyilik yap ya da") notice_all("yaratıkları öldürüp simitleri al!") game.set_event_flag("ramazan",1) send_letter("GM: Servis") elseif event2 == 2 then notice_all("Bereket meyvelerini Tarihçi'ye götür!") notice_all("Ödülünü al!") game.set_event_flag("ramazan",2) send_letter("GM: Servis") elseif event2 == 3 then notice_all("Ramazan ayı etkinliği sona erdi.") game.set_event_flag("ramazan",0) send_letter("GM: Servis") elseif event2 == 4 then return send_letter("GM: Servis") end elseif event == 2 then local event3 = select("Turnuva kayıtlarını aç ","Turnuva kayıtlarını kapat","Hiçbir şey") if event3 == 1 then notice_all("Lonca Savaşları Turnuvası kayıtları açıldı!") notice_all("Turnuvaya katılmak için Savaş Sorumlusu ile konuş.") game.set_event_flag("turnuva",1) send_letter("GM: Servis") elseif event3 == 2 then notice_all("Lonca Savaşları Turnuvası kayıtları kapandı.") notice_all("Turnuva zamanı ve lonca eşleşmeleri forumdan duyurulacaktır.") game.set_event_flag("turnuva",0) send_letter("GM: Servis") elseif event3 == 3 then return send_letter("GM: Servis") end elseif event == 3 then local event4 = select("Turnuva kayıtlarını aç ","Turnuva kayıtlarını kapat","Hiçbir şey") if event4 == 1 then notice_all("Vs Turnuvası kayıtları açıldı!") notice_all("Katılmak için Yu-Hwan ile konuş.") send_letter("GM: Servis") game.set_event_flag("vs_turnuva",1) elseif event4 == 2 then notice_all("Vs Turnuvası kayıtları kapandı.") notice_all("Eşleşmeler ve turnuva zamanını forumdan öğrenebilirsin.") game.set_event_flag("vs_turnuva",0) send_letter("GM: Servis") elseif event4 == 3 then return send_letter("GM: Servis") end elseif event == 4 then local event5 = select("Parşömen drop aç ","Hiçbir şey") if event5 == 1 then clear_server_timer("parsomen_kapat") clear_server_timer("parsomen_ac") notice_all("Mutasyon veya Evrim Parşömeni'ne mi ihtiyacın var?") notice_all("Devler Diyarı'na git ve yaratıkları yen!") game.set_event_flag("parsomen",1) server_timer("parsomen_kapat",7200) send_letter("GM: Servis") elseif event5 == 2 then return send_letter("GM: Servis") end elseif event == 5 then local panpa = select("Ayışığı etkinliği başlat","Ayışığı etkinliği bitir","Vazgeç ") if panpa == 1 then game.set_event_flag("ayisigi",1) notice_all("Ayışığı Define Sandığı etkinliği başladı!") notice_all("Kalan Süre: 6 saat") server_timer("ayisik",21600) send_letter("GM: Servis") elseif panpa == 2 then game.set_event_flag("ayisigi",0) notice_all("Ayışığı Define Sandığı etkinliği sona erdi.") send_letter("GM: Servis") elseif panpa == 3 then return send_letter("GM: Servis") end elseif event == 6 then local panpa2 = select("Mistik Sandık droplarını aç ","Anahtar droplarını aç ","Etkinliği bitir","Vazgeç ") if panpa2 == 1 then game.set_event_flag("esrarengiz_sandik",1) notice_all("Mistik Sandık etkinliği başladı! Ayrıntılı bilgi: board.metintwo.org") notice_all("Kalan Süre: 6 saat") server_timer("mistik1",21600) send_letter("GM: Servis") elseif panpa2 == 2 then game.set_event_flag("esrarengiz_sandik",2) notice_all("Mistik Sandıklarını açmak için gerekli olan anahtarları ") notice_all("elde etmek için düşman krallıkların oyuncularını yen!") send_letter("GM: Servis") elseif panpa2 == 3 then notice_all("Mistik Sandık etkinlği sona erdi.") send_letter("GM: Servis") elseif panpa2 == 4 then return send_letter("GM: Servis") end elseif event == 7 then local panpa5 = select("Futbol Topu etkinliği başlat","Futbol Topu etkinliği bitir","Hiçbir şey") if panpa5 == 1 then game.set_event_flag("futboltopu",1) notice_all("Futbol Topu etkinliği başladı!") notice_all("Kalan Süre: 6 saat") server_timer("futboltopu",21600) send_letter("GM: Servis") elseif panpa5 == 2 then game.set_event_flag("futboltopu",0) notice_all("Futbol Topu etkinliği sona erdi.") clear_server_timer("futboltopu") send_letter("GM: Servis") elseif panpa5 == 3 then send_letter("GM: Servis") return end elseif event == 8 then send_letter("GM: Servis") return end elseif s == 8 then send_letter("GM: Servis") return end end
when parsomen_kapat.server_timer begin
notice_all("Parşömen bulabilmek için yarını bekle!")
game.set_event_flag("parsomen",0)
clear_server_timer("parsomen_kapat")
server_timer("parsomen_ac",79200)
end
when parsomen_ac.server_timer begin
notice_all("Mutasyon veya Evrim Parşömeni'ne mi ihtiyacın var?")
notice_all("Devler Diyarı'na git ve yaratıkları yen!")
game.set_event_flag("parsomen",1)
clear_server_timer("parsomen_ac")
server_timer("parsomen_kapat",7200)
end
when ayisik.server_timer begin
game.set_event_flag("ayisigi",0)
notice_all("Ayışığı Define Sandığı etkinliği sona erdi.")
clear_server_timer("ayisik")
end
when mistik1.server_timer begin
game.set_event_flag("esrarengiz_sandik",2)
notice_all("Mistik Sandıklarını açmak için gerekli olan anahtarları ")
notice_all("elde etmek için düşman krallıkların oyuncularını yen!")
notice_all("Kalan Süre: 3 saat")
server_timer("mistik2",10800)
clear_server_timer("mistik1")
end
when mistik2.server_timer begin
game.set_event_flag("esrarengiz_sandik",0)
notice_all("Mistik Sandık etkinliği sona erdi.")
clear_server_timer("mistik2")
end
when futboltopu.server_timer begin
game.set_event_flag("futboltopu",0)
notice_all("Futbol Topu etkinliği sona erdi.")
clear_server_timer("futboltopu")
end
end
end
Kurulum Diger Questler Gibi
Gm Çoklu Quest Sistemi Nedir? Metin2'de Etkinlik Npc Çağırma, Item Verme ve Perfect Yapma
Metin2 sunucularında oyun deneyimini zenginleştirmek ve oyuncuların aktif kalmasını sağlamak adına quest sistemleri büyük önem taşır. Özellikle Gm Çoklu Quest olarak bilinen sistemler, yöneticilerin belirli görevler vermesine, npc çağrımına, item dağıtımına ve özel etkinliklere olanak tanır. Bu yazıda, Metin2 özelinde Gm Çoklu Quest sisteminin nasıl çalıştığını, npc çağırmanın yollarını, item verme yöntemlerini ve perfect yapma süreçlerini detaylıca ele alacağız.
Quest Sistemi ve Lua Script Kullanımı
Metin2 quest sistemleri genellikle Lua dili ile yazılmaktadır. Quest dosyaları server'e entegre edildiğinde, belirlenen trigger'lara göre çalışırlar. Gm Çoklu Quest sistemi, birden fazla görevin aynı anda aktif olabileceği, farklı npc'lerin çağrıldığı ve reward'ların (ödüllerin) otomatik dağıtıldığı gelişmiş bir sistemdir. Bu sistemde quest yazımı sırasında quest trigger, quest state, quest flag gibi kavramlar önemli rol oynar.
Npc Çağırma ve Görev Atama
Gm Çoklu Quest sisteminde görevler, genellikle özel npc’ler üzerinden başlatılır. Bu npc’ler, admin veya gm tarafından çağrılır. Npc spawn işlemleri genellikle server üzerinde manuel olarak ya da özel scriptler ile yapılır. Quest başlatıldığında npc, oyuncuya görev verir. Bu görevlerin doğru yapılabilmesi için lua quest dosyasının hatasız ve optimize şekilde yazılması gerekir.
Item Dağıtımı ve Reward Sistemleri
Oyuncular görevleri tamamladıklarında, reward olarak çeşitli item'lar kazanabilirler. Gm Çoklu Quest sisteminde reward'lar, quest dosyasında tanımlanır. Bu item'lar, gold, equipment, pet item'ları veya özel event item'ları olabilir. Reward sisteminin doğru çalışması için quest reward komutları ve item ID'lerinin doğru girilmesi şarttır. Hatalı ID kullanımı, oyuncuların ödül alamamasına sebep olabilir.
Perfect Yapma ve Görev Tamamlama
Perfect görev tamamlama, oyuncunun görevi maksimum puanla bitirmesidir. Bu durum genellikle quest timer süresi dolmadan, tüm görevleri eksiksiz yaparak elde edilir. Perfect yapıldığında ekstra ödüller verilebilir. Bu, oyuncuların daha hızlı ve etkin oynamasını teşvik eder. Perfect sistemlerinde, quest state'lerin kontrol edilmesi ve timer'ların ayarlanması çok önemlidir.
Hata Ayıklama ve Debug İşlemleri
Quest sistemleri karmaşık yapılara sahip olduğu için hatalar oluşabilir. Quest debug işlemleri, sistemsel sorunların tespiti ve düzeltilmesi için yapılır. Hata mesajları loglarda takip edilir ve lua script üzerinde gerekli düzeltmeler yapılır. Quest edit işlemleri sırasında dikkatli olunmalıdır. Yanlış kodlama, server çökmesine neden olabilir.
Sunucu Bazlı Özel Quest Geliştirme
Her Metin2 sunucusu, kendi özel quest sistemine sahip olabilir. Custom quest geliştirme, sunucunun kendine özgü etkinlikler yapmasına olanak tanır. Gm Çoklu Quest, bu özel sistemlerin en etkili örneklerinden biridir. Metin2Lobby gibi platformlar, quest geliştiriciler için faydalı kaynaklar sunar.
Sonuç
Gm Çoklu Quest sistemi, Metin2 sunucularında görev, npc çağırma, item dağıtımı ve etkinlik yönetimini kolaylaştıran güçlü bir araçtır. Lua tabanlı quest sistemleri sayesinde, hem geliştiriciler hem de oyuncular için zengin içerikler üretmek mümkündür. Ancak bu sistemlerin hatasız çalışması için dikkatli planlama ve debug işlemleri şarttır.
What is Gm Multiple Quest System? Calling Event NPCs, Giving Items and Making Perfect in Metin2
In Metin2 servers, quest systems are essential to enrich the gameplay experience and keep players active. Particularly the system known as Gm Multiple Quest allows administrators to assign specific tasks, call npcs, distribute items and organize special events. In this article, we will thoroughly discuss how the Gm Multiple Quest system works in Metin2, ways to call npcs, methods for item distribution, and the process of achieving perfect completion.
Quest System and Lua Script Usage
Metin2 quest systems are generally written in Lua language. Once quest files are integrated into the server, they operate according to predefined triggers. The Gm Multiple Quest system is an advanced system where multiple quests can run simultaneously, different npcs can be called, and rewards are distributed automatically. During quest creation, concepts such as quest trigger, quest state, and quest flag play important roles.
Calling NPCs and Assigning Quests
In the Gm Multiple Quest system, quests are usually initiated through special npcs. These npcs are summoned by admins or game masters. NPC spawning operations are typically done manually or via custom scripts on the server. When a quest starts, the npc assigns a task to the player. For the quests to work properly, the lua quest file must be written without errors and optimized.
Item Distribution and Reward Systems
Upon completing their quests, players can earn various items as rewards. In the Gm Multiple Quest system, rewards are defined within the quest file. These items may include gold, equipment, pet items, or special event items. Correct implementation of quest reward commands and accurate entry of item IDs are crucial. Incorrect IDs can result in players not receiving their rewards.
Achieving Perfect Completion and Finishing Quests
Perfect completion occurs when a player finishes a quest with maximum points. This is usually achieved by completing all objectives without the quest timer running out. Extra rewards can be given upon perfect completion, which encourages players to play faster and more efficiently. In perfect systems, monitoring quest states and setting timers correctly are very important.
Debugging and Error Correction
Due to their complex structures, quest systems may encounter errors. Quest debug processes are performed to detect and fix systemic issues. Error messages are tracked in logs and necessary corrections are made in the lua script. Care must be taken during quest edit operations; incorrect coding may cause server crashes.
Developing Custom Quests Based on Server Needs
Every Metin2 server can have its own unique quest system. Custom quest development allows each server to host its own distinctive events. The Gm Multiple Quest system is one of the most effective examples of such custom systems. Platforms like Metin2Lobby provide useful resources for quest developers.
Conclusion
The Gm Multiple Quest system is a powerful tool that facilitates task management, npc calling, item distribution, and event organization on Metin2 servers. Thanks to Lua-based quest systems, rich content can be created for both developers and players. However, careful planning and debug processes are essential for these systems to operate without errors.
