Merhaba Turkmmo Halkı,
Bu quest baya arandı. Kendi filesimden alıntıdır. Kime ait olduğu belirsizdir. Son güncellemeyi veren : AhmetYILMAZ
Lua :
Kod:
quest seytan_kulesi begin state start begin when logout or disconnect begin if pc.get_map_index() == 66 then seytan_kulesi.make_kule() end end when 20348.chat."Şeytan Kulesine Girmek İstiyorum !" begin if game.get_event_flag("bakim") == 1 then say("Bakım modu aktif.") say("Ortalama 15-20 dakika sonra,") say("Bakım olacağından servis dışı.") return end if pc.get_level() < 40 then say("Merhaba "..pc.get_name().."") say_title("") say("Kuleye girebilmen için") say("40. seviyeye ulaşmalısın !") return end if game.get_event_flag("kule_zaman"..pc.get_channel_id().."") - get_time() < 0 and game.get_event_flag("kule_kullanimda"..pc.get_channel_id().."") >= 1 then game.set_event_flag("kule_kullanimda"..pc.get_channel_id().."",0) purge_area(829200,1059600,844200,1074600) warp_all_to_village(66) setskin(NOWINDOW) return end if game.get_event_flag("kule_kullanimda"..pc.get_channel_id().."") == 1 then pc.setqf("kule_bug_engel",get_time()+10) say("Şeytan Kulesi Bekçisi:") say_title("") say("Üzgünüm Şeytan Kulesi şuan dolu.") say("Eğer şifreyi biliyorsan, doğru bir şekilde yaz.") say_title("") say("Kule Yenilenmesi İçin Kalan Süre: "..game.get_event_flag("kule_zaman"..pc.get_channel_id().."") - get_time().." saniye") say_title("") say("10 saniye süren var!") say_title("") local pin = tonumber(input("")) if get_time() > pc.getqf("kule_bug_engel") then say("Şeytan Kulesi Bekçisi:") say_title("") say("10 saniye doldu şansını tekrar dene.") pc.setqf("kule_bug_engel",get_time()+0) return end if pin == nil then say("Şeytan Kulesi Bekçisi:") say_title("") say("Boş bir sayı girdin.") return end if pin == "" then say("Şeytan Kulesi Bekçisi:") say_title("") say("Boş bir sayı girdin.") return end if game.get_event_flag("kule_sifresi"..pc.get_channel_id().."") == pin then pc.setqf("kule_bug_engel",get_time()+10) say("Şeytan Kulesi Bekçisi:") say_title("") say("Şifre doğru tebrikler!") say("Seni içeri gönderiyorum. Onu yenmeden dönme!") pc.setqf("kuledeyim"..pc.get_channel_id().."",1) wait() if get_time() > pc.getqf("kule_bug_engel") then say("Şeytan Kulesi Bekçisi:") say("10 saniye doldu şansını tekrar dene.") pc.setqf("kule_bug_engel",get_time()+0) return end pc.warp(216500,727000) elseif pin != game.get_event_flag("kule_sifresi"..pc.get_channel_id().."") then say("Şeytan Kulesi Bekçisi:") say_title("") say("Üzgünüm şifreyi hatalı girdin.") return end end if game.get_event_flag("kule_kullanimda"..pc.get_channel_id().."") == 0 then say("Şeytan Kulesi Bekçisi:") say_title("") say("Bu kule şeytanlarla dolu.") say("Sadece en güçlüler onun en üstüne çıkabilir.") say("Bu güne kadar bu kaleye girenlerden,") say("çıkabilen olmadığı söyleniyor.") say_title("") say("Hâlâ şeytan kulesine girmek istiyor musun?") say_title("") pc.setqf("kule_bug_engel",get_time()+10) local i = select("Gir", "Girme") if i == 2 then return end if get_time() > pc.getqf("kule_bug_engel") then say("Şeytan Kulesi Bekçisi:") say("10 saniye doldu şansını tekrar dene.") pc.setqf("kule_bug_engel",get_time()+0) return end local sifrever = number(10000,999999) game.set_event_flag("kule_sifresi"..pc.get_channel_id().."",sifrever) game.set_event_flag("kule_kullanimda"..pc.get_channel_id().."",1) pc.setqf("kuledeyim"..pc.get_channel_id().."",1) pc.setqf("kule_lideri",1) clear_server_timer("kuleden_atiyoruz"..pc.get_channel_id().."",get_server_timer_arg()) --game.set_event_flag("kule_sifresi"..pc.get_channel_id().."",pin) game.set_event_flag("kule_zaman"..pc.get_channel_id().."", get_time()+60*15*1)-- 15 dakika server_timer("kuleden_atiyoruz"..pc.get_channel_id().."",60*15, pc.get_map_index()) -- 15 dakika pc.warp(216500,727000) -- kuleye ışınlanacak end end -- when when login with pc.get_map_index() == 66 and pc.getqf("kuledeyim"..pc.get_channel_id().."") != 1 begin pc.warp(590500,110500) end when login with pc.get_map_index() == 66 and pc.getqf("kule_lideri") == 1 begin notice_all("CH "..pc.get_channel_id()..": "..pc.get_name().." grubu, Şeytan Kulesine Giriş Yaptı!") notice(""..game.get_event_flag("kule_sifresi"..pc.get_channel_id().."").." numaralı şifreyi kullanarak arkadaşlarını veya loncanı yanına çağırabilirsin.") purge_area(207800,720600,232800,740600) -- kuleye göre ayarla regen_in_map(66,"data/dungeon/seytan_kulesi.txt") -- kule slotunu seytan_kulesi.seytan_kulesi_kalansure() pc.setqf("kule_lideri",2) end when login with pc.get_map_index() != 66 begin if pc.getqf("kuledeyim1") == 1 or pc.getqf("kuledeyim2") == 1 or pc.getqf("kuledeyim3") == 1 or pc.getqf("kuledeyim4") == 1 then seytan_kulesi.make_kule() end end when kuleden_atiyoruz1.server_timer begin purge_area(207800,720600,232800,740600) game.set_event_flag("kule_kullanimda1",0) forked.warp_all_in_map("66","65","590500","110500",1) clear_server_timer("kuleden_atiyoruz1",get_server_timer_arg()) end when kuleden_atiyoruz2.server_timer begin purge_area(207800,720600,232800,740600) game.set_event_flag("kule_kullanimda2",0) forked.warp_all_in_map("66","65","590500","110500",1) clear_server_timer("kuleden_atiyoruz2",get_server_timer_arg()) end when kuleden_atiyoruz3.server_timer begin purge_area(207800,720600,232800,740600) game.set_event_flag("kule_kullanimda3",0) forked.warp_all_in_map("66","65","590500","110500",1) clear_server_timer("kuleden_atiyoruz3",get_server_timer_arg()) end when kuleden_atiyoruz4.server_timer begin purge_area(207800,720600,232800,740600) game.set_event_flag("kule_kullanimda4",0) forked.warp_all_in_map("66","65","590500","110500",1) clear_server_timer("kuleden_atiyoruz4",get_server_timer_arg()) end when 20348.chat."GM: Süreyi sıfırla" with pc.is_gm() begin say("Şeytan Kulesi Bekçisi:") say_title("") say("Sıfırlamak istediğinden emin misin ?") local cyvercha = select("Evet","Hayır") if cyvercha == 2 then return elseif cyvercha == 1 then chat("CH "..pc.get_channel_id()..": Şeytan kule süresi sıfırlanmıştır.") game.set_event_flag("kule_zaman"..pc.get_channel_id().."",get_time() + 1) server_timer("kuleden_atiyoruz"..pc.get_channel_id().."",1, pc.get_map_index()) forked.warp_all_in_map("66","65","590500","110500",1) end end function make_kule() pc.setqf("kuledeyim1",0) pc.setqf("kuledeyim2",0) pc.setqf("kuledeyim3",0) pc.setqf("kuledeyim4",0) pc.setqf("kule_lideri",0) end function seytan_kulesi_kalansure() local saniyekalan = (game.get_event_flag("kule_zaman"..pc.get_channel_id().."") - get_time()) local dakikakalan = math.ceil(saniyekalan / 60) notice("Kuleden atılman için "..dakikakalan.." dakikalık bir zaman kaldı!") end end end
[CH DÜŞÜRMEYEN] Şifreli Kule Sistemi !
Metin2 sunucularında oyun içi etkileşimi artırmak ve oyuncuların becerilerini test etmek için özel sistemler tasarlanmaktadır. Bu sistemlerden birisi de '[CH DÜŞÜRMEYEN] Şifreli Kule Sistemi'dir. Bu yazıda bu özel quest yapısının nasıl çalıştığını, neden tercih edildiğini ve Metin2 sunucularında nasıl entegre edileceğini detaylıca ele alacağız.
Şifreli Kule Nedir?
Şifreli Kule, Metin2 oyununda belirli seviye ve beceriye sahip oyuncuların katmanlar halinde mücadele ettiği özel bir dungeon veya görev sistemidir. Ancak bu kule sisteminin en dikkat çeken özelliği, CH (Character Hit) düşürmeyen bir yapıya sahip olmasıdır. Yani oyuncu burada seviyesi ne olursa olsun, düşük CH ile bile girebilir ve kuledeki görevleri yerine getirebilir.
Neden CH Düşürmeyen Bir Yapı?
CH düşürme mekanizması, bazı Metin2 sunucularında yüksek seviye karakterlerin düşük seviye karakterleri ezmelerini engellemek için kullanılır. Ancak bu durum bazen adil oyun deneyimi sunamaz. CH düşürmeyen Şifreli Kule sistemi ise her seviye oyuncunun kulede eşit şartlarla mücadele etmesini sağlar. Oyuncular burada strateji, refleks ve bilgi düzeylerini test ederler.
Quest Sistemiyle Entegrasyonu
Bu kule yapısı, Metin2'in güçlü quest sistemi üzerinden entegre edilir. Quest scriptleri Lua dilinde yazılmıştır ve her katmanın açılımı, içerdiği görevler, düşmanlar ve ödüller gibi unsurlar bu scriptler üzerinden yönetilir. Quest dosyalarında özel triggerlar, timerlar ve flag sistemleri kullanılır.
Özel NPC ve Görev Mekanikleri
Sistemde görevleri başlatan NPC'ler, görev esnasında destek veren yardımcı karakterler ve görev tamamlandığında ödül dağıtan NPC'ler yer alır. Her kattaki görev farklı zorlukta olabilir; bazı görevlerde belirli itemlerin toplanması, bazılarında belirli mobları öldürmek, bazılarında ise süreklilik gerektiren görevler yer alabilir.
Geliştirilmiş Güvenlik ve Script Gücü
Bu sistem, Metin2 sunucularında anti-hile ve güvenlik önlemleriyle desteklenir. Quest sistemi üzerinden çalışan kule yapısı, script hatalarına karşı test edilerek stabil şekilde çalıştırılır. Debug süreçleri ve test aşamaları önemlidir.
Ödüller ve Katman Sistemi
Her kat başarıyla tamamlandığında oyunculara özel itemler, EXP, altın veya benzersiz ödüller verilir. Katlar ilerledikçe zorluk artar ve ödüller daha değerli hale gelir. Bu, oyuncuları tekrar tekrar oynamaya teşvik eder.
Sonuç
CH düşürmeyen Şifreli Kule sistemi, Metin2 sunucularında hem teknik hem de oynanış açısından gelişmiş bir yapı sunar. Oyuncuların yeteneklerini test ederken aynı zamanda sunucuya farklı bir dinamizm katar. Bu sistem, doğru quest geliştirme ve scriptleme ile sunucularınızda harika bir hit olabilir.
[No CH Reduction] Encrypted Tower System!
In Metin2 servers, special systems are designed to enhance in-game interaction and test players' skills. One such system is the '[No CH Reduction] Encrypted Tower System'. In this article, we will examine how this unique quest structure works, why it is preferred, and how it can be integrated into Metin2 servers in detail.
What Is The Encrypted Tower?
The Encrypted Tower is a special dungeon or quest system in Metin2 where players with certain levels and skills fight in layered stages. However, the most remarkable feature of this tower system is its structure that does not reduce CH (Character Hit). This means that regardless of their level, even low-CH players can enter and complete the quests within the tower.
Why A No CH Reduction Structure?
CH reduction mechanisms are used on some Metin2 servers to prevent high-level characters from overwhelming lower-level ones. However, this may sometimes fail to provide a fair gaming experience. The no-CH-reduction Encrypted Tower system allows players of all levels to compete under equal conditions inside the tower. Here, players test their strategy, reflexes, and knowledge.
Integration With Quest System
This tower structure is integrated through Metin2's robust quest system. The quest scripts are written in Lua, and elements like the unlocking of each floor, the quests contained within, enemies, and rewards are all managed via these scripts. Special triggers, timers, and flag systems are used in quest files.
Special NPCs And Quest Mechanics
NPCs that initiate quests, helper characters that provide support during the quest, and NPCs that distribute rewards upon completion are included in the system. Each floor's quest can vary in difficulty; some may require collecting specific items, others may involve killing certain mobs, and some may include continuous tasks requiring endurance.
Enhanced Security And Script Power
This system is supported by anti-cheat and security measures on Metin2 servers. The tower structure operating via the quest system is tested against script errors to ensure stable operation. Debugging processes and testing phases are crucial.
Rewards And Layer System
Upon successfully completing each floor, players receive special items, EXP, gold, or unique rewards. As floors progress, difficulty increases and rewards become more valuable, encouraging players to replay repeatedly.
Conclusion
The No CH Reduction Encrypted Tower system offers both technical and gameplay enhancements for Metin2 servers. While testing players' abilities, it also adds a new dynamic to your server. With proper quest development and scripting, this system can become a great hit on your server.
