[CH DÜŞÜRMEYEN] Şifreli Kule Sistemi !

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 316

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0

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.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Geri
Üst Alt