Kod:
quest buffs begin state start begin when 71135.use begin 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(" Hilal Yüzüğü Aktif. ") affect.add_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60) affect.add_collect(apply.ATT_SPEED,20,60*60*24*365*60) affect.add_collect(apply.CAST_SPEED,20,60*60*24*365*60) affect.add_collect(apply.MAX_HP,2000,60*60*24*365*60) affect.add_collect(apply.MAX_SP,1000,60*60*24*365*60) affect.add_collect(86,30,60*60*24*500) pc.setqf("hilal",1) end elseif pc.getqf("hilal") == 1 then cmdchat("buff1") chat(" Hilal Yüzüğü Kapatıldı. ") affect.remove_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60) affect.remove_collect(apply.ATT_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.CAST_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.MAX_HP,2000,60*60*24*365*60) affect.remove_collect(apply.MAX_SP,1000,60*60*24*365*60) affect.remove_collect(86,30,60*60*24*500) pc.setqf("hilal",0) end end when logout with pc.getqf("hilal") == 1 begin affect.remove_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60) affect.remove_collect(apply.ATT_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.CAST_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.MAX_HP,2000,60*60*24*365*60) affect.remove_collect(apply.MAX_SP,1000,60*60*24*365*60) affect.remove_collect(apply.ATT_GRADE_BONUS,30,60*60*24*365*60) pc.setqf("hilal",0) end when 71136.use begin if pc.getqf("lolipop") == 0 then if pc.getqf("hilal") == 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("buff2") chat(" Lolipop Aktif. ") affect.add_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60) affect.add_collect(apply.ATT_SPEED,20,60*60*24*365*60) affect.add_collect(apply.CAST_SPEED,20,60*60*24*365*60) affect.add_collect(apply.MAX_HP,2000,60*60*24*365*60) affect.add_collect(apply.MAX_SP,1000,60*60*24*365*60) affect.add_collect(apply.ATT_GRADE_BONUS,30,60*60*24*365*60) pc.setqf("lolipop",1) end elseif pc.getqf("lolipop") == 1 then cmdchat("buff2") chat(" Lolipop Kapatıldı. ") affect.remove_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60) affect.remove_collect(apply.ATT_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.CAST_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.MAX_HP,2000,60*60*24*365*60) affect.remove_collect(apply.MAX_SP,1000,60*60*24*365*60) affect.remove_collect(apply.ATT_GRADE_BONUS,30,60*60*24*365*60) pc.setqf("lolipop",0) end end when logout with pc.getqf("lolipop") == 1 begin affect.remove_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60) affect.remove_collect(apply.ATT_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.CAST_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.MAX_HP,2000,60*60*24*365*60) affect.remove_collect(apply.MAX_SP,1000,60*60*24*365*60) affect.remove_collect(apply.ATT_GRADE_BONUS,30,60*60*24*365*60) pc.setqf("lolipop",0) end when 71143.use begin if pc.getqf("mutluluk") == 0 then if pc.getqf("lolipop") == 1 or pc.getqf("hilal") == 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("buff3") chat(" Mutluluk Yüzüğü Aktif. ") affect.add_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60) affect.add_collect(apply.ATT_SPEED,20,60*60*24*365*60) affect.add_collect(apply.CAST_SPEED,20,60*60*24*365*60) affect.add_collect(apply.MAX_HP,2000,60*60*24*365*60) affect.add_collect(apply.MAX_SP,1000,60*60*24*365*60) affect.add_collect(apply.ATT_GRADE_BONUS,30,60*60*24*365*60) pc.setqf("mutluluk",1) end elseif pc.getqf("mutluluk") == 1 then cmdchat("buff3") chat(" Mutluluk Yüzüğü Kapatıldı. ") affect.remove_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60) affect.remove_collect(apply.ATT_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.CAST_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.MAX_HP,2000,60*60*24*365*60) affect.remove_collect(apply.MAX_SP,1000,60*60*24*365*60) affect.remove_collect(apply.ATT_GRADE_BONUS,30,60*60*24*365*60) pc.setqf("mutluluk",0) end end when logout with pc.getqf("mutluluk") == 1 begin affect.remove_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60) affect.remove_collect(apply.ATT_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.CAST_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.MAX_HP,2000,60*60*24*365*60) affect.remove_collect(apply.MAX_SP,1000,60*60*24*365*60) affect.remove_collect(apply.ATT_GRADE_BONUS,30,60*60*24*365*60) pc.setqf("mutluluk",0) end when 71145.use begin if pc.getqf("ebedi") == 0 then if pc.getqf("lolipop") == 1 or pc.getqf("mutluluk") == 1 or pc.getqf("hilal") == 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("buff4") chat(" Ebedi Aşk Tılsımı Aktif. ") affect.add_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60) affect.add_collect(apply.ATT_SPEED,20,60*60*24*365*60) affect.add_collect(apply.CAST_SPEED,20,60*60*24*365*60) affect.add_collect(apply.MAX_HP,2000,60*60*24*365*60) affect.add_collect(apply.MAX_SP,1000,60*60*24*365*60) affect.add_collect(apply.ATT_GRADE_BONUS,30,60*60*24*365*60) pc.setqf("ebedi",1) end elseif pc.getqf("ebedi") == 1 then cmdchat("buff4") chat(" Ebedi Aşk Tılsımı Kapatıldı. ") affect.remove_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60) affect.remove_collect(apply.ATT_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.CAST_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.MAX_HP,2000,60*60*24*365*60) affect.remove_collect(apply.MAX_SP,1000,60*60*24*365*60) affect.remove_collect(apply.ATT_GRADE_BONUS,30,60*60*24*365*60) pc.setqf("ebedi",0) end end when logout with pc.getqf("ebedi") == 1 begin affect.remove_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60) affect.remove_collect(apply.ATT_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.CAST_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.MAX_HP,2000,60*60*24*365*60) affect.remove_collect(apply.MAX_SP,1000,60*60*24*365*60) affect.remove_collect(apply.ATT_GRADE_BONUS,30,60*60*24*365*60) pc.setqf("ebedi",0) end when 71148.use begin if pc.getqf("irade") == 0 then if pc.getqf("lolipop") == 1 or pc.getqf("mutluluk") == 1 or pc.getqf("ebedi") == 1 or pc.getqf("hilal") == 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("buff5") chat(" İrade Gücü Yüzüğü Aktif. ") affect.add_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60) affect.add_collect(apply.ATT_SPEED,20,60*60*24*365*60) affect.add_collect(apply.CAST_SPEED,20,60*60*24*365*60) affect.add_collect(apply.MAX_HP,2000,60*60*24*365*60) affect.add_collect(apply.MAX_SP,1000,60*60*24*365*60) affect.add_collect(apply.ATT_GRADE_BONUS,30,60*60*24*365*60) pc.setqf("irade",1) end elseif pc.getqf("irade") == 1 then cmdchat("buff5") chat(" İrade Gücü Yüzüğü Kapatıldı. ") affect.remove_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60) affect.remove_collect(apply.ATT_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.CAST_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.MAX_HP,2000,60*60*24*365*60) affect.remove_collect(apply.MAX_SP,1000,60*60*24*365*60) affect.remove_collect(apply.ATT_GRADE_BONUS,30,60*60*24*365*60) pc.setqf("irade",0) end end when logout with pc.getqf("irade") == 1 begin affect.remove_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60) affect.remove_collect(apply.ATT_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.CAST_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.MAX_HP,2000,60*60*24*365*60) affect.remove_collect(apply.MAX_SP,1000,60*60*24*365*60) affect.remove_collect(apply.ATT_GRADE_BONUS,30,60*60*24*365*60) pc.setqf("irade",0) end when 71149.use begin if pc.getqf("olumcul") == 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("hilal") == 1 or pc.getqf("madalya") == 1 then chat(" Herhangi Bir Yüzük Aktifken Başka Bir Yüzük Kullanamazsın ") else cmdchat("buff6") chat(" Ölümcül Gücün Yüzüğü Aktif. ") affect.add_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60) affect.add_collect(apply.ATT_SPEED,20,60*60*24*365*60) affect.add_collect(apply.CAST_SPEED,20,60*60*24*365*60) affect.add_collect(apply.MAX_HP,2000,60*60*24*365*60) affect.add_collect(apply.MAX_SP,1000,60*60*24*365*60) affect.add_collect(apply.ATT_GRADE_BONUS,30,60*60*24*365*60) pc.setqf("olumcul",1) end elseif pc.getqf("olumcul") == 1 then cmdchat("buff6") chat(" Ölümcül Gücün Yüzüğü Kapatıldı. ") affect.remove_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60) affect.remove_collect(apply.ATT_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.CAST_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.MAX_HP,2000,60*60*24*365*60) affect.remove_collect(apply.MAX_SP,1000,60*60*24*365*60) affect.remove_collect(apply.ATT_GRADE_BONUS,30,60*60*24*365*60) pc.setqf("olumcul",0) end end when logout with pc.getqf("olumcul") == 1 begin affect.remove_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60) affect.remove_collect(apply.ATT_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.CAST_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.MAX_HP,2000,60*60*24*365*60) affect.remove_collect(apply.MAX_SP,1000,60*60*24*365*60) affect.remove_collect(apply.ATT_GRADE_BONUS,30,60*60*24*365*60) pc.setqf("olumcul",0) end when 71158.use begin if pc.getqf("madalya") == 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("hilal") == 1 then chat(" Herhangi Bir Yüzük Aktifken Başka Bir Yüzük Kullanamazsın ") else cmdchat("buff7") chat(" Kahramanlık Madalyası Aktif. ") affect.add_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60) affect.add_collect(apply.ATT_SPEED,20,60*60*24*365*60) affect.add_collect(apply.CAST_SPEED,20,60*60*24*365*60) affect.add_collect(apply.MAX_HP,2000,60*60*24*365*60) affect.add_collect(apply.MAX_SP,1000,60*60*24*365*60) affect.add_collect(apply.ATT_GRADE_BONUS,30,60*60*24*365*60) pc.setqf("madalya",1) end elseif pc.getqf("madalya") == 1 then cmdchat("buff7") chat(" Kahramanlık Madalyası Kapatıldı. ") affect.remove_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60) affect.remove_collect(apply.ATT_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.CAST_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.MAX_HP,2000,60*60*24*365*60) affect.remove_collect(apply.MAX_SP,1000,60*60*24*365*60) affect.remove_collect(apply.ATT_GRADE_BONUS,30,60*60*24*365*60) pc.setqf("madalya",0) end end when logout with pc.getqf("madalya") == 1 begin affect.remove_collect(apply.EXP_DOUBLE_BONUS,50,60*60*24*365*60) affect.remove_collect(apply.ATT_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.CAST_SPEED,20,60*60*24*365*60) affect.remove_collect(apply.MAX_HP,2000,60*60*24*365*60) affect.remove_collect(apply.MAX_SP,1000,60*60*24*365*60) affect.remove_collect(apply.ATT_GRADE_BONUS,30,60*60*24*365*60) pc.setqf("madalya",0) end end end[/FONT]
Herhangi bir isim koyup lua veya quest olarak kaydedin
Daha sonra putty ile sunucumuza bağlanıyoruz ve aşağıdaki komutları uyguluyoruz.
cd /usr/game/share/locale/turkey/quest (Enter'a basıyoruz )
./qc "buraya girdiniz isim"
oyuna girip /reload q çekip deneyin 1 teşekkürü çok görmeyin ! İyi forumlar
Metin2 oyununda Hilal Yüzüğü, Kahramanlık Madalyası ve benzeri önemli ödüllerin kazanılması, genellikle özel quest sistemleri üzerinden gerçekleşir. Bu gibi ödüller hem oyuncuların gelişimini destekler hem de oyun deneyimini zenginleştirir. Metin2Lobby.com olarak, quest sistemlerine dair bilgi sahibi olmak isteyen oyuncular için bu konuyu detaylıca ele alıyoruz.
Metin2'de quest sistemleri, oyuncuların belirli görevleri tamamlayarak ödüller kazandığı etkileşimli olaylardır. Bu görevler, Lua dili ile yazılmış quest scriptleri sayesinde oyun içine entegre edilir. Quest script yazımı, Metin2 sunucularında özelleştirme yapmak isteyen geliştiriciler için kritik öneme sahiptir. Lua tabanlı quest geliştirme, doğru yapılandırmalarla güçlü etkileşimli içerikler yaratılmasını sağlar.
Hilal Yüzüğü gibi eşyalar, genellikle uzun süreli ve zorlu görev zincirleri (quest chain) ile kazanılır. Bu tür görevler, NPC etkileşimleri, mob öldürme, özel eşya toplama veya belirli flag değerlerini değiştirme gibi işlemleri içerir. Timer tabanlı quest sistemleri, günlük görevler (daily quest) gibi zaman sınırlı ödüller için idealdir. Kahramanlık Madalyası gibi ödüller ise, belirli savaşlar ya da turnuvalarda başarı göstermeye dayanabilir.
Metin2 sunucularında custom quest (özel görev) oluşturmak isteyen geliştiriciler, quest edit araçlarını kullanarak mevcut yapıları düzenleyebilir veya sıfırdan quest yazabilir. Quest begin ve quest end komutları, görevin başlatılması ve bitirilmesi için kullanılır. Trigger mekanizmaları sayesinde, oyuncu eylemleri sonucunda otomatik olarak quest başlatılabilir. State değişkenleri ise, görevin hangi aşamada olduğunu takip etmemizi sağlar.
Metin2dev ve Martysama gibi platformlar, quest geliştiricileri için örnek scriptler ve hata ayıklama (debug) araçları sunar. Quest hata durumları, genellikle Lua sözdizimi hatalarından veya eksik trigger tanımlarından kaynaklanır. Doğru yapılandırılmış bir quest, reward (ödül) kısmında item adları veya değerler girilerek, oyuncuya Hilal Yüzüğü gibi eşyalar verilmesini sağlar.
Geliştiriciler, quest sistemlerini test ederken quest state kontrolü yaparak, görevin doğru çalışıp çalışmadığını gözlemleyebilirler. Daily quest gibi tekrarlayan görevlerde, timer doğru şekilde ayarlandığında oyuncular her gün yeni ödüller alabilir. Metin2lobby.com olarak, quest sistemlerinin hem geliştiriciler hem de oyuncular için ne kadar değerli olduğunu biliyoruz. Metin2 quest dünyasında başarılı olmak istiyorsanız, detaylı Lua bilgisi ve doğru strateji şarttır.
In Metin2, obtaining important rewards like the Hilal Ring or Medal of Heroism usually happens through special quest systems. These types of rewards support player progression and enrich the overall gaming experience. At Metin2Lobby.com, we thoroughly examine this topic for players interested in learning about the quest systems.
In Metin2, quest systems are interactive events where players complete certain tasks to earn rewards. These quests are integrated into the game via quest scripts written in the Lua language. Writing quest scripts is critical for developers who want to customize their Metin2 servers. Lua-based quest development allows powerful interactive content to be created with correct configurations.
Items like the Hilal Ring are typically earned through long-term and challenging quest chains (quest chain). Such quests may involve interactions with NPCs, killing specific mobs, collecting special items, or changing certain flag values. Timer-based quest systems are ideal for time-limited rewards such as daily quests (daily quest). Items like the Medal of Heroism might depend on achievements in battles or tournaments.
Developers who wish to create custom quests (custom quest) on Metin2 servers can use quest edit tools to modify existing structures or write new quests from scratch. Commands like quest begin and quest end are used to start and finish a quest. Trigger mechanisms allow quests to start automatically based on player actions. State variables help track which stage the quest is currently in.
Platforms like Metin2dev and Martysama provide sample scripts and debugging (debug) tools for quest developers. Common quest errors often stem from Lua syntax mistakes or missing trigger definitions. Properly configured quests ensure that players receive items like the Hilal Ring by correctly defining reward parameters and item names/values.
While testing quest systems, developers can monitor quest states to observe if the quest runs correctly. In repeating quests like daily quest, properly set timers allow players to claim new rewards each day. At Metin2lobby.com, we know how valuable quest systems are for both developers and players. To succeed in the world of Metin2 quests, detailed knowledge of Lua and the right strategy are essential.
