1. quest dragonlair begin
  2. state start begin
  3. when logout begin
  4. if pc.get_map_index() == 79 then
  5. pc.delqf("icerdesin")
  6. end
  7. end
  8. when 30121.chat."Ejderhayı öldürmek istiyorum!" with pc.get_map_index() == 73 begin
  9. if game.get_event_flag("ejder_kullanimda") == 2 and game.get_event_flag("time_1") - get_time() > 0 then
  10. say_title("Sura Ruhu:")
  11. say("")
  12. say("Üzgünüm Ejderha Tapınağı şuan dolu.")
  13. say("İçerideki grubun çıkmasını beklemelisin.")
  14. say_reward("Kalan süre: "..game.get_event_flag("time_1") - get_time().." saniye")
  15. say("")
  16. return
  17. end
  18. if game.get_event_flag("time_1") - get_time() < 0 and game.get_event_flag("ejder_kullanimda") >= 1 then
  19. game.set_event_flag("ejder_kullanimda",0)
  20. purge_area(829200,1059600,844200,1074600)
  21. ---warp_all_in_map(79,180100,1220400)
  22. warp_all_to_village(79)
  23. setskin(NOWINDOW)
  24. return
  25. end
  26. if game.get_event_flag("ejder_kullanimda") == 0 and pc.count_item(30179) < 3 then
  27. say_title("Sura Ruhu:")
  28. say("Gerekli eşya 3x: "..item_name(30179)..":")
  29. say_item_vnum(30179)
  30. say("3 adet anahtara ihtiyacın var.")
  31. return
  32. end
  33. if game.get_event_flag("ejder_kullanimda") == 1 then
  34. pc.setqf("ejder_bug_engel2",get_time()+10)
  35. say_title("Sura Ruhu:")
  36. say("Üzgünüm Ejderha Tapınağı şuan dolu.")
  37. say("Eğer şifreyi biliyorsan,")
  38. say("doğru bir şekilde yaz.")
  39. say("")
  40. say_reward("10 saniye süren var!")
  41. say("")
  42. local sifre = tonumber(input(""))
  43. if get_time() > pc.getqf("ejder_bug_engel2") then
  44. say_title("Sura Ruhu:")
  45. say("10 saniye doldu şansını tekrar dene.")
  46. pc.setqf("ejder_bug_engel2",get_time()+0)
  47. return
  48. end
  49. if game.get_event_flag("ejder_sifresi") == sifre then
  50. say_title("Sura Ruhu:")
  51. say("")
  52. if pc.count_item(30179) < 3 then
  53. say("Girmene izin veremem.")
  54. say("Gerekli eşya 3x: "..item_name(30179)..":")
  55. say_item_vnum(30179)
  56. say("3 tane anahtara sahip olduğunda tekrar gel.")
  57. return
  58. end
  59. pc.remove_item("30179",3)
  60. say("Şifre doğru tebrikler!")
  61. say("Seni içeri gönderiyorum. Onu yenmeden dönme!")
  62. pc.setqf("icerdesin",1)
  63. wait()
  64. pc.warp(843600,1066900)
  65. elseif sifre != game.get_event_flag("ejder_sifresi") then
  66. say_title("Sura Ruhu:")
  67. say("Üzgünüm şifreyi hatalı girdin.")
  68. return
  69. end
  70. end
  71. if game.get_event_flag("ejder_kullanimda") == 0 and pc.count_item(30179) >= 3 then
  72. say_title("Sura Ruhu:")
  73. say("Ejderha Tapınağı'na girmek isteyen ilk kişi")
  74. say("sensin. Yeterli sayıda Kıvrık Anahtara sahipsen")
  75. say("seni içeri bırakacağım. Ama ilk önce bir şifre")
  76. say("belirleyeceksin. Bu şifreyi, 2,5 dakika")
  77. say("içerisinde savaş arkadaşlarına verip onların")
  78. say("içeri girmesini sağlayabilirsin. Bu anahtarın")
  79. say("sadece 60 dakika tesir edeceğini unutma. O zamana")
  80. say("kadar ejderhayı öldürmüş olmanız gerekiyor!")
  81. say("")
  82. pc.setqf("ejder_bug_engel3",get_time()+10)
  83. local i = select("Hazırım!", "Vazgeç ")
  84. if get_time() > pc.getqf("ejder_bug_engel3") then
  85. say_title("Sura Ruhu:")
  86. say("10 saniye doldu şansını tekrar dene.")
  87. pc.setqf("ejder_bug_engel3",get_time()+0)
  88. return
  89. end
  90. if 1 == i and game.get_event_flag("ejder_kullanimda") == 0 then
  91. pc.setqf("ejder_bug_engel2",get_time()+10)
  92. say_title("Sura Ruhu:")
  93. local pin1 = number(1000,99999)
  94. local pin2 = number(1000,99999)
  95. local pin3 = number(1000,99999)
  96. local pin4 = number(1000,99999)
  97. local pin5 = number(1000,99999)
  98. local pin6 = number(1000,99999)
  99. local gercek = number(2,7)
  100. local pin
  101. if gercek == 2 then
  102. pin = pin1
  103. elseif gercek == 3 then
  104. pin = pin2
  105. elseif gercek == 4 then
  106. pin = pin3
  107. elseif gercek == 5 then
  108. pin = pin4
  109. elseif gercek == 6 then
  110. pin = pin5
  111. elseif gercek == 7 then
  112. pin = pin6
  113. end
  114. say_reward("Seçmen gereken şifre : "..pin)
  115. say_reward("10 saniye süren var!")
  116. local sifre = select("Vazgeç ",pin1,pin2,pin3,pin4,pin5,pin6)
  117. if get_time() > pc.getqf("ejder_bug_engel2") then
  118. say_title("Sura Ruhu:")
  119. say("10 saniye doldu şansını tekrar dene.")
  120. pc.setqf("ejder_bug_engel2",get_time()+0)
  121. return
  122. end
  123. if sifre == gercek and pc.count_item(30179)>=3 then
  124. say_title("Sura Ruhu:")
  125. say("")
  126. say("Arzu edersen seni doğrudan Ejderha Mağarası'na")
  127. say("götürebilirim. Bana şimdi vermen gerekenler:")
  128. say("3x:")
  129. say_item_vnum(30179)
  130. say_reward("10 saniye süren var!")
  131. pc.setqf("ejder_bug_engel3",get_time()+10)
  132. local zaxd = select("Al ve beni içeri bırak!","Vazgeç ")
  133. if get_time() > pc.getqf("ejder_bug_engel3") then
  134. say_title("Sura Ruhu:")
  135. say("10 saniye doldu şansını tekrar dene.")
  136. pc.setqf("ejder_bug_engel3",get_time()+0)
  137. return
  138. end
  139. if zaxd == 2 then
  140. return
  141. elseif zaxd == 1 and game.get_event_flag("ejder_kullanimda") == 0 then
  142. if game.get_event_flag("ejder_kullanimda") != 0 then
  143. syschat("Ejderha odasına başka bir grup girdi.")
  144. return
  145. end
  146. pc.remove_item("30179",3)
  147. pc.setqf("icerdesin",1)
  148. pc.setqf("lider",1)
  149. pc.setqf("ejder_sifre",pin)
  150. clear_server_timer("ejderi_kescen",get_server_timer_arg())
  151. clear_server_timer("disari_yolluyoz",get_server_timer_arg())
  152. game.set_event_flag("ejder_kullanimda",1)
  153. game.set_event_flag("ejder_sifresi",pin)
  154. game.set_event_flag("time_1", get_time()+60*60*1)
  155. pc.warp(843600, 1066900)
  156. elseif zaxd == 1 and game.get_event_flag("ejder_kullanimda") != 0 then
  157. say_title("Sura Ruhu:")
  158. say("")
  159. say("Birileri senden önce davrandı. Onların")
  160. say("odadan çıkmalarını bekle ya da parolayı ")
  161. say("biliyorsan söyle.")
  162. end
  163. elseif sifre == 1 then
  164. return
  165. else
  166. say_title("Sura Ruhu:")
  167. say("")
  168. say("Bir hata oluştu.")
  169. say("")
  170. end
  171. end
  172. end
  173. end
  174. when login begin
  175. if pc.getqf("icerdesin") == 1 then
  176. send_letter("Mavi Ejderha'yı mağlup edin")
  177. end
  178. end
  179. when button or info begin
  180. q.set_clock("Kalan süre:", game.get_event_flag("time_1")-get_time())
  181. dragonlair.ejder_odasi_kalansure()
  182. end
  183. when login with pc.get_map_index() == 79 and pc.getqf("icerdesin") != 1 and not pc.is_gm() begin
  184. pc.warp(180100,1220400)
  185. end
  186. when login with pc.get_map_index() == 79 and pc.getqf("lider") == 1 begin
  187. purge_area(829200,1059600,844200,1074600)
  188. regen_in_map(79,"data/dungeon/skia_deliboss.txt")
  189. notice_all(""..pc.get_name().." grubu, Mavi Ejderha'yı öldürmeye çalışıyor!")
  190. notice_big(""..pc.getqf("ejder_sifre").." numaralı şifreyi dağıtmaya 2,5 dakika zamanın var!")
  191. server_timer("sifre_kapat", 150,pc.get_map_index())
  192. server_timer("ejderi_kescen1", 3598,pc.get_map_index())
  193. server_timer("ejderi_kescen", 3600,pc.get_map_index())
  194. dragonlair.ejder_odasi_kalansure()
  195. pc.setqf("lider",2)
  196. pc.set_warp_location(73 , 2418, 12747)
  197. end
  198. when login with pc.get_map_index() == 79 and pc.getqf("icerdesin") == 1 and pc.getqf("lider") != 1 begin
  199. dragonlair.ejder_odasi_kalansure()
  200. pc.set_warp_location(73 , 2418, 12747)
  201. end
  202. 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
  203. local n =game.get_event_flag("kesilen_metin") + 1
  204. game.set_event_flag("kesilen_metin", n)
  205. if n > 3 then
  206. local t = number(1,4)
  207. if 1 == t then
  208. regen_in_map(79,"data/dungeon/skia_boss1.txt")
  209. elseif 2 == t then
  210. regen_in_map(79,"data/dungeon/skia_boss2.txt")
  211. elseif 3 == t then
  212. regen_in_map(79,"data/dungeon/skia_boss3.txt")
  213. else
  214. regen_in_map(79,"data/dungeon/skia_boss4.txt")
  215. end
  216. end
  217. end
  218. when kill with pc.get_map_index() == 79 and game.get_event_flag("ejder_kullanimda") >= 1 and npc.get_race() == 2493 begin
  219. game.drop_item_with_ownership("71123",1)
  220. game.drop_item_with_ownership("71129",1)
  221. notice_all(""..pc.get_name().." grubu, Mavi Ejderha'yı öldürdü!")
  222. game.set_event_flag("kesilen_metin",0)
  223. clear_server_timer("ejderi_kescen",get_server_timer_arg())
  224. clear_server_timer("ejderi_kescen1",get_server_timer_arg())
  225. server_timer("disari_yolluyoz",3600, pc.get_map_index())
  226. end
  227. when sifre_kapat.server_timer begin
  228. game.set_event_flag("ejder_kullanimda",2)
  229. end
  230. when disari_yolluyoz.server_timer begin
  231. notice_all("Mavi Ejderha geri döndü!")
  232. kill_all_in_map(79)
  233. clear_server_timer("ejderi_kescen",get_server_timer_arg())
  234. game.set_event_flag("ejder_kullanimda",0)
  235. warp_all_to_village(79)
  236. end
  237. when ejderi_kescen.server_timer with game.get_event_flag("time_1") - get_time() <= 0 begin
  238. warp_all_to_village(79)
  239. notice_all("Mavi Ejderha hâlâ yaşıyor!")
  240. kill_all_in_map(79)
  241. end
  242. when login with pc.get_map_index() != 79 begin
  243. if pc.getqf("icerdesin") == 1 then
  244. pc.delqf("icerdesin")
  245. pc.delqf("ejder_sifre")
  246. pc.delqf("lider")
  247. end
  248. if pc.getqf("lider") == 1 then
  249. pc.delqf("lider")
  250. end
  251. end
  252. function ejder_odasi_kalansure()
  253. local saniyekalan = (game.get_event_flag("time_1") - get_time())
  254. local dakikakalan = math.ceil(saniyekalan / 60)
  255. notice_big("Mavi Ejderha'yı öldürmeye "..dakikakalan.." dakikalık bir zaman kaldı!")
  256. end
  257. end
  258. end