(Celeronn11) - Kristal Oda - .Lua

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Herkese Hayırlı Kullanımlar Arşivimdeki Filesten Alıp Size

Veriyom Hayırlı Kullanımlar

Kod:
--[[ Coded : Şaban Sert Date : 24.03.2016 19:22 Turkmmo : http://www.turkmmo.com/2060684-sabansert.html Facebook : https://www.facebook.com/SabanSerty ]] quest kristal_oda 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 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,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                 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())             kristal_oda.ejder_odasi_kalansure()         end         when login with pc.get_map_index() == 79 and pc.getqf("icerdesin"..pc.get_channel_id().."") != 1 begin             pc.warp(241300,1275400)         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())             kristal_oda.ejder_odasi_kalansure()             pc.setqf("lider",2)             pc.set_warp_location(73 , 2413, 12754)            end         when login with pc.get_map_index() == 79 and pc.getqf("icerdesin"..pc.get_channel_id().."") == 1 and pc.getqf("lider") != 1 begin             kristal_oda.ejder_odasi_kalansure()             pc.set_warp_location(73 , 2413, 12754)         end         when kill with npc.get_race() == 8031 or npc.get_race() == 8032 or npc.get_race()== 8033 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","241300","1275400",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","241300","1275400",1)         end         when ejderi_kescen1.server_timer with game.get_event_flag("time_11") - get_time() <= 0 begin             ---warp_all_in_map(79,241300,1275400)             forked.warp_all_in_map("79","73","241300","1275400",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","241300","1275400",1)         end         when ejderi_kescen2.server_timer with game.get_event_flag("time_12") - get_time() <= 0 begin             ---warp_all_in_map(79,241300,1275400)             forked.warp_all_in_map("79","73","241300","1275400",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() 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()             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ı!")             end        end end[/FONT]





Celeronn11 Kristal Oda Quest Scripti: Metin2 Lua Görev Sistemi

Metin2 sunucularında görev sistemleri, oyuncuların deneyim kazanması ve ödüller elde etmesi açısından büyük önem taşır. Bu bağlamda Celeronn11 tarafından geliştirilen Kristal Oda quest scripti, Metin2 geliştiricileri için harika bir referans teşkil eder.

Kristal Oda Quest Nedir?

Kristal Oda, Metin2 oyununda belirli görevler tamamlanarak erişilebilen özel bir bölge veya etkinliktir. Oyuncular bu quest sayesinde belirli görevleri yerine getirerek ödüller kazanabilir. Bu quest, lua dili kullanılarak yazılmıştır ve Metin2 quest sistemine entegre edilebilir. Celeronn11 tarafından geliştirilen bu script, hem görsel hem de işlevsel olarak dikkat çeker.

Quest Başlatma ve Tetikleme

Kristal Oda questi genellikle belirli bir NPC ile başlatılır. Quest tetiklenirken quest begin komutları kullanılır. Questin doğru çalışması için trigger mekanizmalarının dikkatli ayarlanması gerekir. Oyuncu questi başlattığında, sistem quest state değerlerini kontrol eder ve buna göre işlem yapar.

Quest Görevleri ve Mekanikleri

Bu questte oyuncudan istenen görevler arasında düşman öldürme, eşya toplama veya belirli bir konuma gitme gibi eylemler yer alabilir. Her görev tamamlandığında quest flag güncellenir ve oyuncu bir sonraki aşamaya geçebilir. Quest sırasında timer mekanizması da devreye girebilir; bu durumda oyuncunun görevi belirli bir süre içinde tamamlaması gerekir.

Ödül Sistemi

Kristal Oda questinin başarılı tamamlanması durumunda oyuncuya özel ödüller verilir. Bu ödüller genellikle özel itemler, 경험 puanı veya altın gibi değerler olabilir. Reward kısmı, quest scriptinde manuel olarak ayarlanabilir. Quest reward[/BR] sistemi, sunucu yöneticileri tarafından özelleştirilebilir.

Hata Ayıklama ve Debug

Herhangi bir.quest dosyasında hata oluşması durumunda debug işlemleri yapılmalıdır. Metin2 quest debug işlemleri sırasında log kayıtları incelenir ve quest scripti üzerinde değişiklikler yapılır. Celeronn11'ın scripti genellikle hatasız çalışsa da, bazı özel sunucularda küçük değişiklikler gerekebilir.

Sunucuya Entegrasyon

Bu quest scripti doğrudan Metin2 sunucunuza entegre edilebilir. Gerekli dosyalar client ve gamecore tarafına aktarılır. Quest dosyası doğru şekilde yüklenmelidir. Ayrıca, NPC ve item veritabanı güncellemeleri yapılmalıdır. Metin2 quest server yapılandırması sırasında bu adımlar dikkatlice uygulanmalıdır.

Sonuç

Celeronn11'ın geliştirdiği Kristal Oda quest scripti, Metin2 quest geliştirme konusunda örnek alınabilecek kalitededir. Lua diline hakim olan geliştiriciler için harika bir öğrenme kaynağıdır. Bu script sayesinde özel görev sistemleri oluşturmak oldukça kolaylaşır.


Celeronn11 Crystal Room Quest Script: Metin2 Lua Quest System

In Metin2 servers, quest systems play a crucial role in player experience and rewards. In this context, the Crystal Room quest script developed by Celeronn11 serves as an excellent reference for Metin2 developers.

What is Crystal Room Quest?

The Crystal Room is a special area or event in Metin2 that can be accessed after completing certain quests. Players can earn rewards by completing tasks within this quest. This quest is written using the lua language and can be integrated into the Metin2 quest system. Developed by Celeronn11, this script stands out both visually and functionally.

Quest Trigger and Start

The Crystal Room quest typically starts with a specific NPC. When triggering the quest, quest begin commands are used. Proper configuration of triggers is essential for correct functioning. Once the player initiates the quest, the system checks quest state values and acts accordingly.

Quest Tasks and Mechanics

Tasks required in this quest may include killing monsters, collecting items, or reaching specific locations. As each task completes, the quest flag updates, allowing the player to proceed. A timer mechanism may also be activated, requiring the player to complete the quest within a given timeframe.

Reward System

Upon successful completion of the Crystal Room quest, special rewards are given to the player. These may include exclusive items, experience points, or gold. The reward section can be customized manually in the quest script. Quest reward systems can be tailored by server administrators.

Debugging and Error Handling

If errors occur in any quest file, debugging processes must be performed. During Metin2 quest debug operations, log files are reviewed and adjustments are made to the script. Although Celeronn11's script usually works without errors, some modifications might be needed on specific servers.

Integration into Server

This quest script can be directly integrated into your Metin2 server. Required files are transferred to the client and gamecore sides. The quest file must be properly loaded. Additionally, database updates for NPCs and items should be performed. Metin2 quest server configurations must be carefully applied during this process.

Conclusion

The Crystal Room quest script developed by Celeronn11 is of high quality and serves as a good example for Metin2 quest development. It is an excellent learning resource for developers familiar with the Lua language. With this script, creating custom quest systems becomes much easier.
 

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

Benzer konular

Geri
Üst Alt