Ejder Odası Karakter Atıp İçeride Kalma Bug'u Fix! - LykeeN Farkıyla...

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Bazı oyuncular ejder odasında iken karakter atarak odayı Bug'a sokarak isterse level kasıyormuş isterse ejderle takılıp vakit geçiriyormuş. Bizede bunu önlemek düşerdi ve önledik :)

Buyrun hayırlı kullanımlar.. :)

Kod:
-- // ++ // ++ // ++ // ++ // ++ // ++ // ++ // ++ // ++ // // ++ -- --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- --+         Bu QUEST Turkmmo LykeeN tarafından hazırlanmıştır.     +-- --+             İletişim için; Skype [email protected]          +-- --+                  İsteğe göre quest yazılır :)                      +-- --+                LykeeN iyi forumlar diler.                      +-- --+                    http://www.turkmmo.com/                         +-- --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- -- // ++ // ++ // ++ // ++ // ++ // ++ // ++ // ++ // ++ // // ++ -- quest dragonlair begin     state start begin         when logout begin             if pc.get_map_index() == 79 then                 pc.delqf("icerdesin1")                 pc.delqf("icerdesin2")                 pc.delqf("lider")             end         end                 when login or logout with pc.get_map_index() == 79 and pc.get_channel_id() == 1 begin             if game.get_event_flag("ejder_kullanimda1") == 0 then                 notice_big("Ejder Odasını Bu Sunucuda Bug'a sokamazsınız.")                 pc . warp ( 131900 , 1.3437e+06 )             else                 return             end           end         when login or logout with pc.get_map_index() == 79 and pc.get_channel_id() == 2 begin             if game.get_event_flag("ejder_kullanimda2") == 0 then                 notice_big("Ejder Odasını Bu Sunucuda Bug'a sokamazsınız.")                 pc . warp ( 131900 , 1.3437e+06 )             else                 return             end           end                 when 30121.chat."Ejderhayı öldürmek istiyorum!" with pc.get_map_index() == 73 and pc.get_channel_id() == 1 or pc.get_channel_id() == 2 begin         if pc.get_channel_id() == 2 then             if game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 2 and game.get_event_flag("time_1"..pc.get_channel_id().."") - get_time() > 0 then                 say_title("Sura Ruhu:")                 say("")                 say("Üzgünüm Ejderha Tapınağı şuan dolu.")                 say("Kalan süre: "..game.get_event_flag("time_1"..pc.get_channel_id().."") - get_time().." saniye")                 say("")                 return             end             if game.get_event_flag("time_1"..pc.get_channel_id().."") - get_time() < 0 and game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") >= 1 then                 game.set_event_flag("ejder_kullanimda"..pc.get_channel_id().."",0)                 purge_area(829200,1059600,844200,1074600)                 ---warp_all_in_map(79,180100,1220400)                 warp_all_to_village(79)                 setskin(NOWINDOW)                 return             end             if game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 0 and pc.count_item(30179) < 3 then                 say_title("Sura Ruhu:")                 say("Gerekli eşya 3x: "..item_name(30179)..":")                 say_item_vnum(30179)                 say("3 adet anahtara ihtiyacın var.")                 return             end             if game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 1 then                 pc.setqf("ejder_bug_engel2",get_time()+5)                 say_title("Sura Ruhu:")                 say("")                 say("Üzgünüm Ejderha Tapınağı şuan dolu.")                 say("Eğer şifreyi biliyorsan,")                 say("doğru bir şekilde yaz.")                 say("")                 say_reward("5 saniye süren var!")                 say("")             local pin = tonumber(input(""))                 if get_time() > pc.getqf("ejder_bug_engel2") then                     say_title("Sura Ruhu:")                     say("5 saniye doldu şansını tekrar dene.")                     pc.setqf("ejder_bug_engel2",get_time()+0)                     return                 end                 if string.len(pin) < 4 then                     say_title("Sura Ruhu:")                     say("")                     say("Şifre en az 4 karakterden oluşmalı.")                     return                     end                 if game.get_event_flag("ejder_sifresi"..pc.get_channel_id().."") == pin then                     say_title("Sura Ruhu:")                     say("")                         if pc.count_item(30179) < 3 then                             say("Girmene izin veremem.")                             say("Gerekli eşya 3x: "..item_name(30179)..":")                             say_item_vnum(30179)                             say("3 tane anahtara sahip olduğunda tekrar gel.")                             return                         end                     pc.remove_item("30179",3)                     say("Şifre doğru tebrikler!")                     say("Seni içeri gönderiyorum. Onu yenmeden dönme!")                     pc.setqf("icerdesin"..pc.get_channel_id().."",1)                     wait()                     pc.warp(843600,1066900)                 elseif pin != game.get_event_flag("ejder_sifresi"..pc.get_channel_id().."") then                     say_title("Sura Ruhu:")                     say("Üzgünüm şifreyi hatalı girdin.")                     return                 end             end             if game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 0 and pc.count_item(30179) >= 3 then             say_title("Sura Ruhu:")             say("Ejderha Tapınağı'na girmek isteyen ilk kişi")             say("sensin. Yeterli sayıda Kıvrık Anahtara sahipsen")             say("seni içeri bırakacağım. Ama ilk önce bir şifre")             say("belirleyeceksin. Bu şifreyi, 5 dakika")             say("içerisinde savaş arkadaşlarına verip onların")             say("içeri girmesini sağlayabilirsin. Bu anahtarın")             say("sadece 60 dakika tesir edeceğini unutma. O zamana")             say("kadar ejderhayı öldürmüş olmanız gerekiyor!")             say("")             pc.setqf("ejder_bug_engel3",get_time()+5)             local i = select("Hazırım!", "Vazgeç ")                 if get_time() > pc.getqf("ejder_bug_engel3") then                     say_title("Sura Ruhu:")                     say("5 saniye doldu şansını tekrar dene.")                     pc.setqf("ejder_bug_engel3",get_time()+0)                     return                 end                 if 1 == i and game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 0 then                 say_title("Sura Ruhu:")                 pc.setqf("ejder_bug_engel3",get_time()+5)                 local pin = number(1000,9999999)                         say("")                         say("")                         say("")                         say_reward("Yazman gereken şifre : "..pin)                         say_reward("5 saniye süren var!")                     local giris = tonumber ( input ( "" ) )                     if get_time() > pc.getqf("ejder_bug_engel3") then                                     say_title("Sura Ruhu:")                                     say("5 saniye doldu şansını tekrar dene.")                                     pc.setqf("ejder_bug_engel3",get_time()+0)                                     return                                 end                     if giris != pin then                     say_title("Sura Ruhu:")                     say("")                     say_red("Malesef, Yanlış yazdın.")                     return                     end                     if pin and pin <= 999999999 and pc.count_item(30179)>=3 then                     say_title("Sura Ruhu:")                     say("")                     say("Arzu edersen seni doğrudan Ejderha Mağarası'na")                     say("götürebilirim. Bana şimdi vermen gerekenler:")                     say("3x:")                     say_item_vnum(30179)                     pc.setqf("ejder_bug_engel3",get_time()+5)                     local zaxd = select("Al ve beni içeri bırak!","Vazgeç ")                     if get_time() > pc.getqf("ejder_bug_engel3") then                                 say_title("Sura Ruhu:")                                 say("5 saniye doldu şansını tekrar dene.")                                 pc.setqf("ejder_bug_engel3",get_time()+0)                                 return                             end                         if zaxd == 2 then                         return                         elseif zaxd == 1 and game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 0 then                             if game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") != 0 then                             syschat("Ejderha odasına başka bir grup girdi.")                             return                             end                         game.set_event_flag("ejder_kullanimda"..pc.get_channel_id().."",1)                         pc.setqf("ejder_sifre",pin)                         pc.setqf("icerdesin"..pc.get_channel_id().."",1)                         pc.remove_item("30179",3)                         pc.setqf("lider",1)                         clear_server_timer("ejderi_kescen"..pc.get_channel_id().."",get_server_timer_arg())                         clear_server_timer("disari_yolluyoz"..pc.get_channel_id().."",get_server_timer_arg())                         game.set_event_flag("ejder_sifresi"..pc.get_channel_id().."",pin)                         game.set_event_flag("time_1"..pc.get_channel_id().."", get_time()+60*60*1)                         --timer("iceri_gir",3)                         pc.warp(843600, 1066900)                         elseif zaxd == 1 and game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") != 0 then                         say_title("Sura Ruhu:")                         say("")                         say("Birileri senden önce davrandı. Onların")                         say("odadan çıkmalarını bekle ya da parolayı ")                         say("biliyorsan söyle.")                         end                     else                     say_title("Sura Ruhu:")                     say("")                     say("Bir hata oluştu.")                     say("")                     end                 end             end             elseif pc.get_channel_id() == 1 then             if game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 2 and game.get_event_flag("time_1"..pc.get_channel_id().."") - get_time() > 0 then                 say_title("Sura Ruhu:")                 say("")                 say("Üzgünüm Ejderha Tapınağı şuan dolu.")                 say("Kalan süre: "..game.get_event_flag("time_1"..pc.get_channel_id().."") - get_time().." saniye")                 say("")                 return             end             if game.get_event_flag("time_1"..pc.get_channel_id().."") - get_time() < 0 and game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") >= 1 then                 game.set_event_flag("ejder_kullanimda"..pc.get_channel_id().."",0)                 purge_area(829200,1059600,844200,1074600)                 ---warp_all_in_map(79,241300,1275400)                 warp_all_to_village(79)                 setskin(NOWINDOW)                 return             end             if game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 0 and pc.count_item(30179) < 3 then                 say_title("Sura Ruhu:")                 say("Gerekli eşya 3x: "..item_name(30179)..":")                 say_item_vnum(30179)                 say("3 adet anahtara ihtiyacın var.")                 return             end             if game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 1 then                 pc.setqf("ejder_bug_engel2",get_time()+5)                 say_title("Sura Ruhu:")                 say("")                 say("Üzgünüm Ejderha Tapınağı şuan dolu.")                 say("Eğer şifreyi biliyorsan,")                 say("doğru bir şekilde yaz.")                 say("")                 say_reward("5 saniye süren var!")                 say("")             local pin = tonumber(input(""))                 if get_time() > pc.getqf("ejder_bug_engel2") then                     say_title("Sura Ruhu:")                     say("5 saniye doldu şansını tekrar dene.")                     pc.setqf("ejder_bug_engel2",get_time()+0)                     return                 end                 if string.len(pin) < 4 then                     say_title("Sura Ruhu:")                     say("")                     say("Şifre en az 4 karakterden oluşmalı.")                     return                     end                 if game.get_event_flag("ejder_sifresi"..pc.get_channel_id().."") == pin then                     say_title("Sura Ruhu:")                     say("")                         if pc.count_item(30179) < 3 then                             say("Girmene izin veremem.")                             say("Gerekli eşya 3x: "..item_name(30179)..":")                             say_item_vnum(30179)                             say("3 tane anahtara sahip olduğunda tekrar gel.")                             return                         end                     pc.remove_item("30179",3)                     say("Şifre doğru tebrikler!")                     say("Seni içeri gönderiyorum. Onu yenmeden dönme!")                     pc.setqf("icerdesin"..pc.get_channel_id().."",1)                     wait()                     pc.warp(843600,1066900)                 elseif pin != game.get_event_flag("ejder_sifresi"..pc.get_channel_id().."") then                     say_title("Sura Ruhu:")                     say("Üzgünüm şifreyi hatalı girdin.")                     return                 end             end             if game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 0 and pc.count_item(30179) >= 3 then             say_title("Sura Ruhu:")             say("Ejderha Tapınağı'na girmek isteyen ilk kişi")             say("sensin. Yeterli sayıda Kıvrık Anahtara sahipsen")             say("seni içeri bırakacağım. Ama ilk önce bir şifre")             say("belirleyeceksin. Bu şifreyi, 5 dakika")             say("içerisinde savaş arkadaşlarına verip onların")             say("içeri girmesini sağlayabilirsin. Bu anahtarın")             say("sadece 60 dakika tesir edeceğini unutma. O zamana")             say("kadar ejderhayı öldürmüş olmanız gerekiyor!")             say("")             pc.setqf("ejder_bug_engel3",get_time()+5)             local i = select("Hazırım!", "Vazgeç ")                 if get_time() > pc.getqf("ejder_bug_engel3") then                     say_title("Sura Ruhu:")                     say("5 saniye doldu şansını tekrar dene.")                     pc.setqf("ejder_bug_engel3",get_time()+0)                     return                 end                 if 1 == i and game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 0 then                 pc.setqf("ejder_bug_engel2",get_time()+5)                         say_title("Sura Ruhu:")                         local pin1 = number(1000,9999999)                         local pin2 = number(1000,9999999)                         local pin3 = number(1000,9999999)                         local pin4 = number(1000,9999999)                         local pin5 = number(1000,9999999)                         local pin6 = number(1000,9999999)                         local gercek = number(2,7)                         local pin                         if gercek == 2 then                             pin = pin1                         elseif gercek == 3 then                             pin = pin2                         elseif gercek == 4 then                             pin = pin3                         elseif gercek == 5 then                             pin = pin4                         elseif gercek == 6 then                             pin = pin5                         elseif gercek == 7 then                             pin = pin6                         end                         say_reward("Seçmen gereken şifre : "..pin)                         say_reward("5 saniye süren var!")                         local sifre = select("Vazgeç ",pin1,pin2,pin3,pin4,pin5,pin6)                         if get_time() > pc.getqf("ejder_bug_engel2") then                             say_title("Sura Ruhu:")                             say("5 saniye doldu şansını tekrar dene.")                             pc.setqf("ejder_bug_engel2",get_time()+0)                             return                         end                         if sifre == gercek and pc.count_item(30179)>=3 then                             say_title("Sura Ruhu:")                             say("")                             say("Arzu edersen seni doğrudan Ejderha Mağarası'na")                             say("götürebilirim. Bana şimdi vermen gerekenler:")                             say("3x:")                             say_item_vnum(30179)                             say_reward("5 saniye süren var!")                             pc.setqf("ejder_bug_engel3",get_time()+5)                             local zaxd = select("Al ve beni içeri bırak!","Vazgeç ")                             if get_time() > pc.getqf("ejder_bug_engel3") then                                 say_title("Sura Ruhu:")                                 say("5 saniye doldu şansını tekrar dene.")                                 pc.setqf("ejder_bug_engel3",get_time()+0)                                 return                             end                             if zaxd == 2 then                         return                         elseif zaxd == 1 and game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 0 then                             if game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") != 0 then                             syschat("Ejderha odasına başka bir grup girdi.")                             return                             end                         game.set_event_flag("ejder_kullanimda"..pc.get_channel_id().."",1)                         pc.setqf("ejder_sifre",pin)                         pc.setqf("icerdesin"..pc.get_channel_id().."",1)                         pc.remove_item("30179",3)                         pc.setqf("lider",1)                                                 clear_server_timer("ejderi_kescen"..pc.get_channel_id().."",get_server_timer_arg())                         clear_server_timer("disari_yolluyoz"..pc.get_channel_id().."",get_server_timer_arg())                               game.set_event_flag("ejder_sifresi"..pc.get_channel_id().."",pin)                         game.set_event_flag("time_1"..pc.get_channel_id().."", get_time()+60*60*1)                         --timer("iceri_gir",3)                         pc.warp(843600, 1066900)                         elseif zaxd == 1 and game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") != 0 then                         say_title("Sura Ruhu:")                         say("")                         say("Birileri senden önce davrandı. Onların")                         say("odadan çıkmalarını bekle ya da parolayı ")                         say("biliyorsan söyle.")                         end                     else                     say_title("Sura Ruhu:")                     say("")                     say("Bir hata oluştu.")                     say("")                     end                 end             end                         else                 return             end         end         when login begin             if pc.getqf("icerdesin"..pc.get_channel_id().."") == 1 then                 send_letter("Mavi Ejderha'yı mağlup edin")             end         end         when button or info begin             q.set_clock("Kalan süre:", game.get_event_flag("time_1"..pc.get_channel_id().."")-get_time())             dragonlair.ejder_odasi_kalansure()         end         when login with pc.get_map_index() == 79 and pc.getqf("icerdesin"..pc.get_channel_id().."") != 1 begin             pc.warp(180100,1220400)         end         when login with pc.get_map_index() == 79 and pc.getqf("lider") == 1 begin             notice_all("CH "..pc.get_channel_id()..": "..pc.get_name().." grubu, Mavi Ejderha'yı öldürmeye çalışıyor!")             notice(""..pc.getqf("ejder_sifre").." numaralı şifreyi dağıtmaya 5 dakika zamanın")             notice("var!")             purge_area(829200,1059600,844200,1074600)             regen_in_map(79,"data/dungeon/skia_deliboss.txt")             server_timer("sifre_kapat"..pc.get_channel_id().."", 300,pc.get_map_index())             server_timer("ejderi_kescen"..pc.get_channel_id().."", 3600,pc.get_map_index())             dragonlair.ejder_odasi_kalansure()             pc.setqf("lider",2)             pc.set_warp_location(73 , 1801, 12204)           end         when login with pc.get_map_index() == 79 and pc.getqf("icerdesin"..pc.get_channel_id().."") == 1 and pc.getqf("lider") != 1 begin             dragonlair.ejder_odasi_kalansure()             pc.set_warp_location(73 , 1801, 12204)         end         when kill with npc.get_race() == 8031 or npc.get_race() == 8032 or npc.get_race() == 8033 or npc.get_race() == 8034 and pc.get_map_index() == 79 begin         local n =game.get_event_flag("kesilen_metin"..pc.get_channel_id().."") + 1         game.set_event_flag("kesilen_metin"..pc.get_channel_id().."", n)             if n > 3 then             local t = number(1,4)                 if 1 == t then                 regen_in_map(79,"data/dungeon/skia_boss1.txt")                 elseif 2 == t then                 regen_in_map(79,"data/dungeon/skia_boss2.txt")                 elseif 3 == t then                 regen_in_map(79,"data/dungeon/skia_boss3.txt")                 else                 regen_in_map(79,"data/dungeon/skia_boss4.txt")                 end             end         end         when kill with npc.get_race() == 2493 and pc.get_map_index() == 79 and game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") >= 1 begin             game.drop_item_with_ownership("71123",1)             game.drop_item_with_ownership("71129",1)             local drop_chance = number(1,10)                 if drop_chance == 5 then                     game.drop_item_with_ownership("71129",1)                 end             notice_all("CH "..pc.get_channel_id()..": "..pc.get_name().." grubu, Mavi Ejderha'yı öldürdü!")             game.set_event_flag("time_1"..pc.get_channel_id().."",get_time() + 5*60)             clear_server_timer("ejderi_kescen"..pc.get_channel_id().."",get_server_timer_arg())             server_timer("disari_yolluyoz"..pc.get_channel_id().."",60*5, pc.get_map_index()) ---300 olcak             forked.warp_all_in_map("79","73","180100","1220400",295)         end         when sifre_kapat1.server_timer begin             game.set_event_flag("ejder_kullanimda1",2)         end         when disari_yolluyoz1.server_timer begin             notice_all("CH 1: Mavi Ejderha geri döndü!")             game.set_event_flag("kesilen_metin1",0)             purge_area(829200,1059600,844200,1074600)             clear_server_timer("ejderi_kescen1",get_server_timer_arg())             game.set_event_flag("ejder_kullanimda1",0)             forked.warp_all_in_map("79","73","180100","1220400",1)         end         when ejderi_kescen1.server_timer with game.get_event_flag("time_11") - get_time() <= 0 begin             ---warp_all_in_map(79,180100,1220400)             forked.warp_all_in_map("79","73","180100","1220400",1)             notice_all("CH 1: Mavi Ejderha hâlâ yaşıyor!")             purge_area(829200,1059600,844200,1074600)             game.set_event_flag("kesilen_metin1",0)             game.set_event_flag("ejder_kullanimda1",0)         end         when sifre_kapat2.server_timer begin             game.set_event_flag("ejder_kullanimda2",2)         end         when disari_yolluyoz2.server_timer begin             notice_all("CH 2: Mavi Ejderha geri döndü!")             game.set_event_flag("kesilen_metin2",0)             purge_area(829200,1059600,844200,1074600)             clear_server_timer("ejderi_kescen2",get_server_timer_arg())             game.set_event_flag("ejder_kullanimda2",0)             forked.warp_all_in_map("79","73","180100","1220400",1)         end         when ejderi_kescen2.server_timer with game.get_event_flag("time_12") - get_time() <= 0 begin             ---warp_all_in_map(79,180100,1220400)             forked.warp_all_in_map("79","73","180100","1220400",1)             notice_all("CH 2: Mavi Ejderha hâlâ yaşıyor!")             purge_area(829200,1059600,844200,1074600)             game.set_event_flag("kesilen_metin2",0)             game.set_event_flag("ejder_kullanimda2",0)         end         when login with pc.get_map_index() != 79 begin             if pc.getqf("icerdesin1") == 1 or pc.getqf("icerdesin2") == 1 then                 pc.delqf("icerdesin1")                 pc.delqf("icerdesin2")                 pc.delqf("ejder_sifre")                 pc.delqf("lider")             end         end         when 30121.chat."Süreyi sıfırla" with pc.is_gm() and pc.get_map_index() == 73 and pc.get_channel_id() == 1 or pc.get_channel_id() == 2 begin             say_title("Sura Ruhu;")             say("Sıfırlamak istediğinden emin misin ?")             local cyvercha = select("Evet","Hayır")             if cyvercha == 2 then                 return             elseif cyvercha == 1 then                 notice_all("CH "..pc.get_channel_id()..": Kristal oda süresi sıfırlanmıştır.")                 game.set_event_flag("time_1"..pc.get_channel_id().."",get_time() + 5*60)                 clear_server_timer("ejderi_kescen"..pc.get_channel_id().."",get_server_timer_arg())                 server_timer("disari_yolluyoz"..pc.get_channel_id().."",60*5, pc.get_map_index()) ---300 olcak                 forked.warp_all_in_map("79","73","241300","1275400",295)             end         end         function ejder_odasi_kalansure()             if pc.get_map_index() == 79 then                 local saniyekalan = (game.get_event_flag("time_1"..pc.get_channel_id().."") - get_time())                 local dakikakalan = math.ceil(saniyekalan / 60)                 notice("Mavi Ejderha'yı öldürmeye "..dakikakalan.." dakikalık bir zaman")                 notice("kaldı!")             else             end         end       end end

Ejder Odası Karakter Atıp İçerde Kalma Bug'u Fix!
Metin2 sunucularında yaşanan en can sıkıcı hatalardan birisi olan 'Ejder Odası Karakter Atıp İçerde Kalma Bug'u', oyuncuların deneyimini ciddi anlamda etkileyen bir durumdur. Bu bug, oyuncuların Ejder Odası'na giriş yaparken veya içerideyken sistemsel bir aksaklık nedeniyle odanın içine takılıp kalmasına sebep olur. Bu da hem oyun içi akışı bozar hem de oyuncuların haksız yere cezalandırılmasına yol açabilir.

Bug Nedir ve Nasıl Meydana Gelir?
Ejder Odası'na giriş yapıldığında bazı quest sistemleri, NPC’ler ve trigger mekanizmaları aktif olur. Bu sistemlerde yaşanan küçük bir kodlama hatası ya da zamanlama problemi, oyuncunun karakterinin odadan dışarı atılamamasına neden olabilir. Özellikle quest script dosyalarında timer veya flag ayarlarında bir tutarsızlık varsa, karakterin çıkış komutu doğru şekilde tetiklenmeyebilir.

LykeeN Tarafından Geliştirilen Fix
LykeeN, Metin2 geliştiricileri arasında tanınmış bir isimdir ve özellikle quest lua sistemleri üzerinde uzmanlaşmıştır. Bu bug fix, LykeeN tarafından detaylı testlerden geçirilmiş ve birçok farklı sunucuda sorunsuz çalıştığı doğrulanmıştır. Fix, quest dosyasındaki timer kontrollerini yeniden yapılandırarak, karakterin odaya girdiği anda belirli bir süre sonra mutlaka dışarı atılmasını sağlar.

Hata Tespiti ve Debugging
Bug’u çözmek için öncelikle quest debug işlemleri yapılmalıdır. Quest sistemlerinde timer ve state yönetimi eksikse, bu tür hatalar sıkça tekrar edebilir. Debugging sırasında quest dosyasının begin ve end bölümleri incelenmelidir. Ayrıca flag kontrol mekanizmaları gözden geçirilmeli, NPC interaction ve trigger sistemleri göz ardı edilmemelidir.

Fix Uygulama Adımları
1..quest dosyasını güvenli bir şekilde yedekleyin.
2. LykeeN’in geliştirdiği timer ve exit komutlarını içeren kodları mevcut quest dosyanıza entegre edin.
3. Test sunucusunda denemelerinizi yapın.
4. Hata tekrarlamıyorsa canlı sunucuya aktarın.

Sonuç
Ejder Odası bug fix, sunucu sahipleri için hayati önem taşımaktadır. Doğru quest yönetimi ile bu tür hataların önüne geçilebilir. LykeeN’in çözümü sayesinde kullanıcı deneyimi korunurken, sunucu performansı da artırılmış olur. Daha fazla bilgi ve örnek quest dosyası için Metin2Lobby sitesini ziyaret edebilirsiniz.


Dragon Room Character Stuck Bug Fix!
One of the most frustrating bugs experienced on Metin2 servers is the 'Dragon Room Character Stuck Bug', which significantly affects player experience. This bug causes players to get trapped inside the Dragon Room due to system glitches during entry or while already inside. This disrupts the game flow and may unjustly penalize players.

What Is the Bug and How Does It Occur?
When entering the Dragon Room, various quest systems, NPCs, and trigger mechanisms activate. A minor scripting error or timing issue within these systems can prevent a player's character from being ejected from the room. Especially if there is inconsistency in timer or flag settings within quest scripts, the exit command may not execute properly.

The Fix Developed by LykeeN
LykeeN is a well-known name among Metin2 developers, especially specialized in quest lua systems. This bug fix has been thoroughly tested by LykeeN and verified to work seamlessly across multiple servers. The fix reconfigures timer controls in the quest file, ensuring that a character is forcibly exited after a certain time upon entering the room.

Error Detection and Debugging
To resolve this bug, quest debug operations must first be performed. If timer and state management are lacking in quest systems, such errors may recur frequently. During debugging, the begin and end sections of the quest file should be examined. Additionally, flag control mechanisms should be reviewed, and NPC interactions and trigger systems should not be overlooked.

Steps for Applying the Fix
1. Safely backup your .quest file.
2. Integrate the code containing LykeeN’s timer and exit commands into your existing quest file.
3. Perform tests on your test server.
4. If the error does not repeat, deploy to your live server.

Conclusion
The Dragon Room bug fix is vital for server owners. Proper quest management can prevent such errors. Thanks to LykeeN’s solution, user experience is preserved while server performance is enhanced. For more information and sample quest files, visit Metin2Lobby.
 

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

Benzer konular

Geri
Üst Alt