- quest dragonlair begin
- state start begin
- when logout begin
- if pc.get_map_index() == 79 then
- pc.delqf("icerdesin")
- end
- end
- when 30121.chat."Ejderhayı öldürmek istiyorum!" with pc.get_map_index() == 73 begin
- if game.get_event_flag("ejder_kullanimda") == 2 and game.get_event_flag("time_1") - get_time() > 0 then
- say_title("Sura Ruhu:")
- say("")
- say("Üzgünüm Ejderha Tapınağı şuan dolu.")
- say("İçerideki grubun çıkmasını beklemelisin.")
- say_reward("Kalan süre: "..game.get_event_flag("time_1") - get_time().." saniye")
- say("")
- return
- end
- if game.get_event_flag("time_1") - get_time() < 0 and game.get_event_flag("ejder_kullanimda") >= 1 then
- game.set_event_flag("ejder_kullanimda",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") == 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") == 1 then
- pc.setqf("ejder_bug_engel2",get_time()+10)
- say_title("Sura Ruhu:")
- say("Üzgünüm Ejderha Tapınağı şuan dolu.")
- say("Eğer şifreyi biliyorsan,")
- say("doğru bir şekilde yaz.")
- say("")
- say_reward("10 saniye süren var!")
- say("")
- local sifre = tonumber(input(""))
- if get_time() > pc.getqf("ejder_bug_engel2") then
- say_title("Sura Ruhu:")
- say("10 saniye doldu şansını tekrar dene.")
- pc.setqf("ejder_bug_engel2",get_time()+0)
- return
- end
- if game.get_event_flag("ejder_sifresi") == sifre 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",1)
- wait()
- pc.warp(843600,1066900)
- elseif sifre != game.get_event_flag("ejder_sifresi") then
- say_title("Sura Ruhu:")
- say("Üzgünüm şifreyi hatalı girdin.")
- return
- end
- end
- if game.get_event_flag("ejder_kullanimda") == 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, 2,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()+10)
- local i = select("Hazırım!", "Vazgeç ")
- if get_time() > pc.getqf("ejder_bug_engel3") then
- say_title("Sura Ruhu:")
- say("10 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") == 0 then
- pc.setqf("ejder_bug_engel2",get_time()+10)
- say_title("Sura Ruhu:")
- local pin1 = number(1000,99999)
- local pin2 = number(1000,99999)
- local pin3 = number(1000,99999)
- local pin4 = number(1000,99999)
- local pin5 = number(1000,99999)
- local pin6 = number(1000,99999)
- 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("10 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("10 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("10 saniye süren var!")
- pc.setqf("ejder_bug_engel3",get_time()+10)
- 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("10 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") == 0 then
- if game.get_event_flag("ejder_kullanimda") != 0 then
- syschat("Ejderha odasına başka bir grup girdi.")
- return
- end
- pc.remove_item("30179",3)
- pc.setqf("icerdesin",1)
- pc.setqf("lider",1)
- pc.setqf("ejder_sifre",pin)
- clear_server_timer("ejderi_kescen",get_server_timer_arg())
- clear_server_timer("disari_yolluyoz",get_server_timer_arg())
- game.set_event_flag("ejder_kullanimda",1)
- game.set_event_flag("ejder_sifresi",pin)
- game.set_event_flag("time_1", get_time()+60*60*1)
- pc.warp(843600, 1066900)
- elseif zaxd == 1 and game.get_event_flag("ejder_kullanimda") != 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
- elseif sifre == 1 then
- return
- else
- say_title("Sura Ruhu:")
- say("")
- say("Bir hata oluştu.")
- say("")
- end
- end
- end
- end
- when login begin
- if pc.getqf("icerdesin") == 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")-get_time())
- dragonlair.ejder_odasi_kalansure()
- end
- when login with pc.get_map_index() == 79 and pc.getqf("icerdesin") != 1 and not pc.is_gm() begin
- pc.warp(180100,1220400)
- end
- when login with pc.get_map_index() == 79 and pc.getqf("lider") == 1 begin
- purge_area(829200,1059600,844200,1074600)
- regen_in_map(79,"data/dungeon/skia_deliboss.txt")
- notice_all(""..pc.get_name().." grubu, Mavi Ejderha'yı öldürmeye çalışıyor!")
- notice_big(""..pc.getqf("ejder_sifre").." numaralı şifreyi dağıtmaya 2,5 dakika zamanın var!")
- server_timer("sifre_kapat", 150,pc.get_map_index())
- server_timer("ejderi_kescen1", 3598,pc.get_map_index())
- server_timer("ejderi_kescen", 3600,pc.get_map_index())
- dragonlair.ejder_odasi_kalansure()
- pc.setqf("lider",2)
- pc.set_warp_location(73 , 2418, 12747)
- end
- when login with pc.get_map_index() == 79 and pc.getqf("icerdesin") == 1 and pc.getqf("lider") != 1 begin
- dragonlair.ejder_odasi_kalansure()
- pc.set_warp_location(73 , 2418, 12747)
- end
- when kill with pc.get_map_index() == 79 and npc.get_race() == 8031 or npc.get_race() == 8032 or npc.get_race() == 8033 or npc.get_race() == 8034 begin
- local n =game.get_event_flag("kesilen_metin") + 1
- game.set_event_flag("kesilen_metin", 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 pc.get_map_index() == 79 and game.get_event_flag("ejder_kullanimda") >= 1 and npc.get_race() == 2493 begin
- game.drop_item_with_ownership("71123",1)
- game.drop_item_with_ownership("71129",1)
- notice_all(""..pc.get_name().." grubu, Mavi Ejderha'yı öldürdü!")
- game.set_event_flag("kesilen_metin",0)
- clear_server_timer("ejderi_kescen",get_server_timer_arg())
- clear_server_timer("ejderi_kescen1",get_server_timer_arg())
- server_timer("disari_yolluyoz",3600, pc.get_map_index())
- end
- when sifre_kapat.server_timer begin
- game.set_event_flag("ejder_kullanimda",2)
- end
- when disari_yolluyoz.server_timer begin
- notice_all("Mavi Ejderha geri döndü!")
- kill_all_in_map(79)
- clear_server_timer("ejderi_kescen",get_server_timer_arg())
- game.set_event_flag("ejder_kullanimda",0)
- warp_all_to_village(79)
- end
- when ejderi_kescen.server_timer with game.get_event_flag("time_1") - get_time() <= 0 begin
- warp_all_to_village(79)
- notice_all("Mavi Ejderha hâlâ yaşıyor!")
- kill_all_in_map(79)
- end
- when login with pc.get_map_index() != 79 begin
- if pc.getqf("icerdesin") == 1 then
- pc.delqf("icerdesin")
- pc.delqf("ejder_sifre")
- pc.delqf("lider")
- end
- if pc.getqf("lider") == 1 then
- pc.delqf("lider")
- end
- end
- function ejder_odasi_kalansure()
- local saniyekalan = (game.get_event_flag("time_1") - get_time())
- local dakikakalan = math.ceil(saniyekalan / 60)
- notice_big("Mavi Ejderha'yı öldürmeye "..dakikakalan.." dakikalık bir zaman kaldı!")
- end
- end
- end