1. quest flame_dungeon begin
  2. state start begin
  3. when 20394.click with pc.get_level() >= 90 begin
  4. pc.give_item2(71175, 1)
  5. set_state(run)
  6. end
  7. end
  8. state run begin
  9. function setting()
  10. return
  11. {
  12. ["bossroom_entry_pos"] = {8109,6867},
  13. ["boss_pos"] = {686,637},
  14. ["doors_pos"] = {
  15. {320,394},
  16. {293,359},
  17. {333,321},
  18. {378,320},
  19. {400,355},
  20. {394,401}
  21. },
  22. ["idoors_pos"] = {
  23. {268,447},
  24. {234,359},
  25. {300,264},
  26. {454,217},
  27. {470,355},
  28. {467,469}
  29. },
  30. ["doors_dir"] = {135,90,210,152,90,223},
  31. ["idoors_dir"] = {135,90,210,135,90,239},
  32. ["dungeon_entry_pos"] = {7766, 6719},-- ??? ?? ???? ?
  33. ["DUNGEON_MAN_bpos"] = {690,722},
  34. ["DUNGEON_MAN_pos"] = {354,362},
  35. ["LEVEL2_STONE_pos"] = {195,352},
  36. ["LEVEL4_TARGET_pos"] = {470,175},
  37. ["LEVEL5_STONE_pos"] = {
  38. {486, 345},
  39. {511, 336},
  40. {525, 349},
  41. {521, 365},
  42. {503, 372},
  43. {486, 365},
  44. {500, 354}
  45. },
  46. ["LEVEL6_TARGET_pos"] = {511,480},
  47. ["outside_entry_pos"] = {5980,7075}, --??????? ??? ?
  48. }
  49. end
  50. function is_flamed(idx) -- ???? ??? ??
  51. return idx >= 351 * 10000 and idx < (351 + 1) *10000
  52. end
  53. function make_dungeon() -- ?? ???
  54. local setting = flame_dungeon.setting()
  55. d.new_jump_party(351, setting.dungeon_entry_pos[1], setting.dungeon_entry_pos[2])
  56. d.regen_file("data/dungeon/flame_dungeon/npc.txt")
  57. d.setf("level",0)
  58. for i=1,6 do
  59. d.set_unique("door"..i, d.spawn_mob_ac_dir(20387, setting.doors_pos[i][1], setting.doors_pos[i][2],setting.doors_dir[i]))
  60. end
  61. for i=1,6 do
  62. d.set_unique("idoor"..i, d.spawn_mob_ac_dir(20388, setting.idoors_pos[i][1], setting.idoors_pos[i][2],setting.idoors_dir[i]))
  63. end
  64. d.setf("clear_count",0)
  65. d.setf("started",0)
  66. d.setf("dungeon_enter",0) -- ????? ?????? // ??? : 0 ?? : 1 // ??? ??????? ?? ??
  67. d.setf("counter_11", 180)
  68. d.setf("counter_13", 180)
  69. end
  70. function go_boss() -- ??? ??
  71. local setting = flame_dungeon.setting()
  72. if pc.get_level() < 104 then --????
  73. say("Sizin seviyeniz devam etmek için yeterli değil.[ENTER]104.Seviyeye ulaştığınız zaman tekrar gelin.")
  74. return
  75. else
  76. --if pc.getf("main_quest_flame_lv103", "__status")==main_quest_flame_lv103.__COMPLETE__ then -- ????? ??
  77. say("Será que você quer avançar[ENTER]para conhecer o seu destino?")
  78. local warp = select("Avançar","Talvez mais tarde")
  79. if warp == 1 then
  80. d.setf("level",17)
  81. d.jump_all(setting.bossroom_entry_pos[1],setting.bossroom_entry_pos[2])
  82. d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_fild_boss.txt")
  83. d.spawn_mob(6091,setting.boss_pos[1],setting.boss_pos[2])
  84. end
  85. --else
  86. -- say("Pode apenas avançar quando tiver[ENTER]concluído a missão de nível 103.")
  87. -- return
  88. --end
  89. end
  90. end
  91. function level_clear() -- ?? ???, ?????, ?????
  92. d.setf("level",0)
  93. d.clear_regen()
  94. d.purge_area(750000,620000,817400,689400) -- ??? -- d.purge() ????
  95. end
  96. function clear_timer(inx) -- ??? ????
  97. clear_server_timer ("flame_dungeon_0m_left_timer", inx)
  98. clear_server_timer ("flame_dungeon_1m_left_timer", inx)
  99. clear_server_timer ("flame_dungeon_5m_left_timer", inx)
  100. clear_server_timer ("flame_dungeon_10m_left_timer", inx)
  101. clear_server_timer ("flame_dungeon_15m_left_timer", inx)
  102. clear_server_timer ("flame_dungeon_30m_left_timer", inx)
  103. clear_server_timer ("flame_dungeon_45m_left_timer", inx)
  104. clear_server_timer ("flame_dungeon_ticket_remove", inx)
  105. end
  106. when login begin
  107. local idx = pc.get_map_index()
  108. local setting = flame_dungeon.setting()
  109. if idx == 351 then
  110. --pc.warp(setting.outside_entry_pos[1]*100, setting.outside_entry_pos[2] * 100, 62)
  111. elseif flame_dungeon.is_flamed(idx) then -- ?? ??, ??? ?? ??
  112. ------------------------------------------------------------------------------------------------------------------------------------------------------
  113. --??? ??? ???? ???? ???? ?????? ?? ?? ??? ????. ???? ??? ?? ???? ???? ?? ?? ??? ??? ??.
  114. --???? ???? ?? ?? ?? ??? ??? ??, ???? ??? ??? ????? ?? ??? ????? ???? ??? ??? ??? ??.
  115. ------------------------------------------------------------------------------------------------------------------------------------------------------
  116. --pc.set_warp_location(62, setting.outside_entry_pos[1] , setting.outside_entry_pos[2]) -- ?? ??? ? ??? ????
  117. local ticketGroup = {71175, 1}
  118. if d.getf("dungeon_enter") == 0 then -- ???? ???
  119. local canPass = false
  120. for i=1, table.getn(ticketGroup),2 do
  121. if pc.count_item(ticketGroup[i]) >= ticketGroup[i+1] then
  122. canPass = true
  123. break
  124. end
  125. end
  126. if get_global_time() - pc.getf("flame_dungeon","exit_time") < 30 * 60 then -- ??????? ????
  127. notice_multiline(" İçeriye giriş yapabilmek için henüz süreniz dolmamış.[ENTER]Lütfen sürenizin dolmasını bekleyiniz.",d.notice)
  128. say(" İçeriye giriş yapabilmek için henüz süreniz dolmamış.[ENTER]Lütfen sürenizin dolmasını bekleyiniz.")
  129. timer("flame_dungeon_warp_timer", 5)
  130. elseif not canPass then
  131. notice_multiline("Bir grup ile Kızıl Ejder Kalesi'ne girebilirsiniz.[ENTER]Ve buna ek olarak, giriş için izin olmalıdır.",d.notice)
  132. say("Eu posso deixar você entrar se[ENTER]você tiver em posse de um passe.")
  133. timer("flame_dungeon_warp_timer", 5)
  134. elseif pc.get_level() < 100 then
  135. notice_multiline("Grubun tüm üyelerinin 100.seviyede[ENTER]olması gereklidir.Aksi takdirde[ENTER]devam edemezsiniz.",d.notice)
  136. say("Devam edebilmek için tüm grup üyelerinin,[ENTER]100.Seviye'ye ulaşmış olması gerekli.")
  137. timer("flame_dungeon_warp_timer", 5)
  138. end
  139. elseif pc.getf("flame_dungeon","ticket_delete") == 0 then -- ????? ??? ???????
  140. for i=1, table.getn(ticketGroup),2 do
  141. if pc.count_item(ticketGroup[i]) >= ticketGroup[i+1] then
  142. pc.remove_item(ticketGroup[i], ticketGroup[i+1])
  143. break
  144. end
  145. end
  146. pc.setf("flame_dungeon","ticket_delete",1)
  147. end
  148. else
  149. pc.setf("flame_dungeon","ticket_delete",0)
  150. end
  151. end
  152. when flame_dungeon_warp_timer.timer begin
  153. local setting = flame_dungeon.setting()
  154. pc.warp(setting.outside_entry_pos[1]*100, setting.outside_entry_pos[2] * 100, 62)
  155. end
  156. when logout begin
  157. local idx = pc.get_map_index()
  158. if flame_dungeon.is_flamed(idx) then
  159. if d.getf("dungeon_enter") == 1 then -- ???? ?? ?? ? ????
  160. pc.setf("flame_dungeon","exit_time",get_global_time()) -- ???? ???? ??? ??? ??, ?? ???? ??? or ?? ???? ???
  161. end
  162. end
  163. end
  164. when 20394.chat."Kırmızı Ejderha Kulesi" begin
  165. local setting = flame_dungeon.setting()
  166. if party.is_party() then
  167. local party_check = 0
  168. if d.find(party.getf("dungeon_index")) then
  169. party_check = (d.getf_from_map_index("party_leader_pid", party.getf("dungeon_index")) == party.get_leader_pid())
  170. end
  171. if d.find(party.getf("dungeon_index")) and party_check then
  172. if get_global_time() - pc.getf("flame_dungeon","exit_time") < 5 * 60 then -- ?? ?? 5? ??
  173. local dungeon_level = d.getf_from_map_index("level", party.getf("dungeon_index"))
  174. if dungeon_level == 17 then -- ??
  175. pc.warp(setting.bossroom_entry_pos[1] * 100, setting.bossroom_entry_pos[2] * 100, party.getf("dungeon_index"))
  176. else
  177. pc.warp(setting.dungeon_entry_pos[1] * 100, setting.dungeon_entry_pos[2] * 100, party.getf("dungeon_index"))
  178. end
  179. else -- 5? ???? ? ?? ??
  180. say_title(mob_name(20394))
  181. say(" Kırmızı Ejderha Kulesi'nin dışarısında[ENTER]5 dakikadan uzun süredir duruyorsunuz.[ENTER]Şimdi içeriye giremezsiniz.")
  182. end
  183. else
  184. local pids = {party.get_member_pids()}
  185. local noTicketMembers = {}
  186. local notEnoughLevelMembers = {}
  187. local ticketCheck = true
  188. local levelCheck = true
  189. local ticketGroup = {71175, 1}
  190. for i, pid in next, pids, nil do
  191. q.begin_other_pc_block(pid)
  192. local canPass = false
  193. for idx=1, table.getn(ticketGroup),2 do
  194. if pc.count_item(ticketGroup[idx]) >= ticketGroup[idx+1] then
  195. canPass = true
  196. break
  197. end
  198. end
  199. if not canPass then
  200. table.insert(noTicketMembers, pc.get_name())
  201. ticketCheck = false
  202. end
  203. if pc.level < 100 then
  204. table.insert(notEnoughLevelMembers, pc.get_name())
  205. levelCheck = false
  206. end
  207. q.end_other_pc_block()
  208. end
  209. if not ticketCheck then
  210. say_title(mob_name(20394))
  211. say("Uyarı! Kırmızı Ejderha Kulesi'ne girebilmek için,[ENTER]bütün grup üyelerinin[ENTER]geçiş biletine sahip olması gereklidir.[ENTER]Geçiş kartı olmayan üyeler:")
  212. for i, name in next, noTicketMembers, nil do
  213. say(color(1,1,0), " "..name)
  214. end
  215. if levelCheck then
  216. return
  217. else
  218. wait()
  219. end
  220. end
  221. if not levelCheck then
  222. say_title(mob_name(20394))
  223. say("Uyarı! Kırmızı Ejderha Kulesi'ne girebilmek için,[ENTER]bütün grup üyelerinin[ENTER]100.Seviye'ye ulaşmış olması gereklidir.[ENTER]Gerekli seviyede olmayan üyeler:")
  224. for i, name in next, notEnoughLevelMembers, nil do
  225. say(color(1,1,0), " "..name)
  226. end
  227. return
  228. end
  229. if party.is_leader() then
  230. say("Kırmızı Ejderha Kulesi'ne girmek için emin misin?")
  231. local warp = select("Evet.","Belki daha sonra...")
  232. if warp == 1 then
  233. if party.is_map_member_flag_lt("exit_time", get_global_time() - 30 * 60 ) then
  234. flame_dungeon.make_dungeon()
  235. else
  236. say("Kırmızı Ejderha Kulesi'ne giriş yapabilmek için[ENTER]henüz süreniz dolmamış.")
  237. end
  238. end
  239. party.setf("flame_dungeon_boss_kill_count", 0)
  240. else
  241. say("Sadece grup liderleri giriş izninde bulunabilir.")
  242. end
  243. end
  244. else
  245. say("Cesaretini takdir ediyorum.[ENTER]Fakat, Kırmızı Ejderha Kulesi'ne tek başına giremezsin.[ENTER]Güçlü bir grup kur ve daha sonra tekrar gel.")
  246. end
  247. end
  248. when 20394.chat."Test : Işınla " with pc.is_gm() begin -- ????
  249. local setting = flame_dungeon.setting()
  250. pc.setf("flame_dungeon","fdRtest",1)
  251. pc.warp( setting.dungeon_entry_pos[1]*100, setting.dungeon_entry_pos[2]*100, 351)
  252. end
  253. when 20394.chat."TEST : Süreyi değiştir " with pc.is_gm() begin -- ????
  254. pc.setf("flame_dungeon","exit_time",get_global_time()-1800)
  255. say("Geri")
  256. end
  257. when 20385.chat."Test : Bilgi" with pc.is_gm() begin -- ????
  258. say("canavarlar_11 : "..d.getf("counter_11"))
  259. say("canavarlar_13 : "..d.getf("counter_13"))
  260. say("server saati : "..get_server_timer_arg())
  261. say("toplam canavar sayısı : "..d.count_monster())
  262. say("level : "..d.getf("level"))
  263. say("Dmap index : "..d.get_map_index())
  264. say("Pmap index : "..pc.get_map_index())
  265. say("erişim süresi : "..pc.getf("flame_dungeon","exit_time"))
  266. say("gerçek zaman : "..get_global_time())
  267. if flame_dungeon.is_flamed(d.get_map_index()) then
  268. say("in dungeon") -- is_flamed ?? ??
  269. end
  270. if d.is_unique_dead("stone1") then
  271. say("taş 1 öldü ")
  272. else
  273. say("taş 1 yaşıyor")
  274. end
  275. end
  276. when 20385.chat." Örnegi etkinleştir " with pc.is_gm() begin -- ????
  277. say("??? ???")
  278. flame_dungeon.clear_timer(d.get_map_index())
  279. flame_dungeon.make_dungeon()
  280. end
  281. when 20385.chat."Test : Patron odası " with pc.is_gm() begin -- ????
  282. flame_dungeon.go_boss()
  283. end
  284. when 20385.chat."Test et" with pc.is_gm() begin -- ???? ??? ?? ? ?? ???
  285. local setting = flame_dungeon.setting()
  286. say("??? ????????")
  287. local warp = select("Evet","Hayır")
  288. if warp == 1 then
  289. pc.warp(setting.outside_entry_pos[1]*100, setting.outside_entry_pos[2] * 100, 62)
  290. end
  291. end
  292. when flame_dungeon_45m_left_timer.timer begin
  293. notice_multiline(string.format("Kalan zaman: %d dakika(lar)", 45),d.notice)
  294. notice_multiline("Süre bitince grup olarak kale'nin dışına atılacaksınız.",d.notice)
  295. timer("flame_dungeon_30m_left_timer", 15*60)
  296. end
  297. when flame_dungeon_30m_left_timer.timer begin
  298. notice_multiline(string.format("Kalan zaman: %d dakika(lar)", 30),d.notice)
  299. notice_multiline("Süre bitince grup olarak kale'nin dışına atılacaksınız.",d.notice)
  300. timer("flame_dungeon_15m_left_timer", 15*60)
  301. end
  302. when flame_dungeon_15m_left_timer.timer begin
  303. notice_multiline(string.format("Kalan zaman: %d dakika(lar)", 15),d.notice)
  304. notice_multiline("Süre bitince grup olarak kale'nin dışına atılacaksınız.",d.notice)
  305. timer("flame_dungeon_5m_left_timer", 10*60)
  306. end
  307. when flame_dungeon_5m_left_timer.timer begin
  308. notice_multiline(string.format("Kalan zaman: %d dakika(lar)", 5),d.notice)
  309. notice_multiline("Süre bitince grup olarak kale'nin dışına atılacaksınız.",d.notice)
  310. timer("flame_dungeon_1m_left_timer", 4*60)
  311. end
  312. when flame_dungeon_1m_left_timer.timer begin
  313. notice_multiline(string.format("Kalan zaman: %d dakika(lar)", 1),d.notice)
  314. notice_multiline("Süre bitince grup olarak kale'nin dışına atılacaksınız.",d.notice)
  315. timer("flame_dungeon_0m_left_timer", 60)
  316. end
  317. when flame_dungeon_0m_left_timer.timer begin
  318. local setting = flame_dungeon.setting()
  319. notice_multiline("Size ayırılan süre doldu.10 Saniye[ENTER]içinde kale'nin kapıları sizin için açılacak.",d.notice)
  320. notice_multiline("10 Saniye içinde herkes ışınlanacak.",d.notice)
  321. timer("exit_dungeon",10)
  322. end
  323. when 20385.chat." Am-heh Uyanış " with npc.lock() begin -- '0x'? x?? ?? ??? ?? ? ?? ?? , '1x'? x?? ?? ??? ???
  324. local setting = flame_dungeon.setting()
  325. if d.getf("started") == 0 then
  326. say("Am-heh Uyandı!")
  327. say("Kızıl Ejderha Kale'si bir saat boyunca[ENTER]başkalarına kapatıldı.")
  328. wait()
  329. d.setf("started",1)
  330. timer("flame_dungeon_45m_left_timer",15*60)
  331. notice_multiline("Kalan zaman: 60 Dakika(lar) ",d.notice)
  332. notice_multiline("Süre dolduğunda bütün grup üyeleri dışarıya atılır.",d.notice)
  333. local pids = {party.get_member_pids()}
  334. local ticketGroup = {71175, 1}
  335. for i, pid in next, pids, nil do
  336. q.begin_other_pc_block(pid)
  337. local canPass = false
  338. for idx=1, table.getn(ticketGroup),2 do
  339. if pc.count_item(ticketGroup[idx]) >= ticketGroup[idx+1] then
  340. canPass = true
  341. pc.remove_item(ticketGroup[idx], ticketGroup[idx+1])
  342. break
  343. end
  344. end
  345. if not canPass then
  346. pc.warp(setting.outside_entry_pos[1]*100, setting.outside_entry_pos[2] * 100, 62)
  347. end
  348. q.end_other_pc_block()
  349. end
  350. d.setqf2("flame_dungeon","ticket_delete",1)
  351. d.setf("dungeon_enter",1)
  352. party.setf("dungeon_index", d.get_map_index())
  353. d.setf("party_leader_pid", party.get_leader_pid())
  354. end
  355. if d.getf("level") < 7 then --???? ???
  356. if d.getf("clear_count") == 6 then -- ? ??? ??? ???
  357. d.setf("level",7)
  358. else
  359. local rand = number(1,6)--???? ????? ?? ???? ?? ?? ?????? ???
  360. local setlev = 0
  361. d.setf("level",7) -- ?? ?? ??? ?? ??? ?????? ??? ????? ????
  362. for i=1,50 do
  363. setlev = setlev + 1
  364. if setlev > 6 then
  365. setlev = 1
  366. end
  367. if not d.is_unique_dead("door"..setlev) then
  368. rand = rand - 1
  369. if rand == 0 then
  370. d.setf("level",setlev)
  371. d.setf("clear_count",d.getf("clear_count")+1)
  372. break
  373. end
  374. end
  375. end
  376. end
  377. end
  378. if d.getf("level") == 1 then
  379. say("Missão: Aventure-se no anel de demônios[ENTER]e surja como vencedor.")
  380. notice_multiline("Bilgilendirme: Savaşçılar ve Ejderha kral arasındaki ayaklanma birazdan başlayacak.",d.notice)
  381. d.kill_unique("door1")
  382. d.kill_unique("idoor1")
  383. d.setf("level",11)
  384. local counter_11 = 180
  385. d.regen_file ("data/dungeon/flame_dungeon/".."fd_a.txt")
  386. elseif d.getf("level") == 11 then
  387. say("Bütün şeytanlar yenilmedi.")
  388. say_title("Kalan: ", counter_11)
  389. elseif d.getf("level") == 2 then
  390. say("Tarefa: Encontre a engrenagem de ouro,[ENTER]substituindo o mecanismo oculto[ENTER]na estela de Isfet.")
  391. notice_multiline("Tarefa: Encontre a engrenagem de ouro, substituindo [ENTER] o mecanismo oculto na estela de Isfet.",d.notice)
  392. d.spawn_mob(20386, setting.LEVEL2_STONE_pos[1], setting.LEVEL2_STONE_pos[2]) -- ??? ??
  393. d.kill_unique("door2")
  394. d.kill_unique("idoor2")
  395. d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_b.txt")
  396. d.setf("level",12)
  397. elseif d.getf("level") == 12 then
  398. say("O mecanismo na estela de Isfet só pode ser[ENTER]acionado com a roda de engrenagem de ouro.[ENTER]Volta quando a tarefa foi cumprida.")
  399. elseif d.getf("level") == 3 then
  400. say("Missão: Aventure-se no anel de demônios e[ENTER]surja como vencedor.")
  401. notice_multiline("Missão: Aventure-se no anel de demônios e[ENTER]surja como vencedor.",d.notice)
  402. d.kill_unique("door3")
  403. d.kill_unique("idoor3")
  404. d.setf("level",13)
  405. local counter_13 = 180
  406. d.regen_file ("data/dungeon/flame_dungeon/".."fd_c.txt")
  407. elseif d.getf("level") == 13 then
  408. say("Não foram derrotados todos os demônios.")
  409. say_title("Restantes: ", counter_13)
  410. elseif d.getf("level") == 4 then -- 474 178
  411. say("Tarefa: Derrote Ignator, guarda das brasas.")
  412. notice_multiline("Tarefa: Derrote Ignator, guarda das brasas.",d.notice)
  413. d.setf("level",14)
  414. d.kill_unique("door4")
  415. d.kill_unique("idoor4")
  416. d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_d.txt")
  417. d.spawn_mob(6051,setting.LEVEL4_TARGET_pos[1],setting.LEVEL4_TARGET_pos[2] ) -- ????? ??
  418. elseif d.getf("level") == 14 then
  419. say("Ignator ainda não foi derrotado.[ENTER]Fortaleça-se ou receberá a condenação eterna.[ENTER]Volte se a tarefa for cumprida.")
  420. elseif d.getf("level") == 5 then -- 510 355
  421. say("Missão: Procurar as Pedras de Maat e coloca-as[ENTER]na ordem correta nas 7 estelas de Isfet.")
  422. say("Se usares a Pedra de Maat na estela errada,[ENTER]a pedra irá partir-se.")
  423. notice_multiline("Missão: Procurar as Pedras de Maat e coloca-as[ENTER]na ordem correta nas 7 estelas de Isfet.",d.notice)
  424. notice_multiline("Se usares a Pedra de Maat na estela errada,[ENTER]a pedra irá partir-se.",d.notice)
  425. d.kill_unique("door5")
  426. d.kill_unique("idoor5")
  427. d.setf("level",15)
  428. d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
  429. local vis = { 0,0,0,0,0,0,0}
  430. for i=1,7 do
  431. vis[i] = 0
  432. end
  433. for i = 1, 7 do -- ???? ???
  434. local ran = number(1,7)
  435. local st = 0
  436. for j = 1, 50 do
  437. st = st + 1
  438. if st > 7 then
  439. st = 1
  440. end
  441. if vis[st] == 0 then
  442. ran = ran - 1
  443. if ran == 0 then
  444. vis[st] = 1
  445. d.set_unique("stone5_"..st, d.spawn_mob(20386, setting.LEVEL5_STONE_pos[i][1], setting.LEVEL5_STONE_pos[i][2]))
  446. break
  447. end
  448. end
  449. end
  450. end
  451. elseif d.getf("level") == 15 then
  452. say("Errar é humano! Portanto, escolha com sabedoria[ENTER]para resolver o mistério. Volte se a tarefa[ENTER]for cumprida.")
  453. elseif d.getf("level") == 6 then -- 507 490
  454. say("Tarefa: Só quem não tem medo do calor abrasador,[ENTER]irá destruir a Metin do purgatório.")
  455. notice_multiline("Tarefa: Só quem não tem medo do calor abrasador,[ENTER]irá destruir a Metin do purgatório.",d.notice)
  456. d.setf("level",16)
  457. d.kill_unique("door6")
  458. d.kill_unique("idoor6")
  459. d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_f.txt")
  460. d.spawn_mob(8057, setting.LEVEL6_TARGET_pos[1],setting.LEVEL6_TARGET_pos[2]) -- ?????? ??
  461. elseif d.getf("level") == 16 then
  462. say(" ")
  463. say("Vamos colocar a Metin do purgatório em cinzas.[ENTER]Volta se a tarefa for cumprida.")
  464. elseif d.getf("level") == 7 then
  465. flame_dungeon.go_boss()
  466. else
  467. say(" ")
  468. end
  469. npc.unlock()
  470. end
  471. when kill with flame_dungeon.is_flamed(pc.get_map_index()) and d.getf("level") == 11 begin -- 2?? ??? ?? ??
  472. if d.getf("counter_11") == 0 then -- 1?? ??? ???
  473. notice_multiline("Bütün şeytanları yendiniz,",d.notice)
  474. notice_multiline("Yeni görev için Am-heh ile görüşün...",d.notice)
  475. flame_dungeon.level_clear()
  476. else
  477. d.setf("counter_11",d.getf("counter_11")-1)
  478. end
  479. end
  480. when kill with flame_dungeon.is_flamed(pc.get_map_index()) and d.getf("level") == 13 begin -- 2?? ??? ?? ??
  481. if d.getf("counter_13") == 0 then -- 1?? ??? ???
  482. notice_multiline("Bütün şeytanları yendiniz,",d.notice)
  483. notice_multiline("Yeni görev için Am-heh ile görüşün...",d.notice)
  484. flame_dungeon.level_clear()
  485. else
  486. d.setf("counter_13",d.getf("counter_13")-1)
  487. end
  488. end
  489. when kill with flame_dungeon.is_flamed(pc.get_map_index()) and d.getf("level") == 12 begin -- 2?? ??? ?? ??
  490. local i = number(1, 100) -- 100?? 1 ??? ????
  491. if i == 1 then
  492. game.drop_item (30329, 1)
  493. end
  494. end
  495. when 20386.take with flame_dungeon.is_flamed(pc.get_map_index()) and item.vnum == 30329 and d.getf("level") == 12 begin -- 2?? ?? ????
  496. local i = number(1, 5) -- 5?? 1 ??? ?? ??
  497. if i == 1 then
  498. npc.purge()
  499. item.remove()
  500. notice_multiline("Bütün şeytanları yendiniz,",d.notice)
  501. notice_multiline("Yeni görev için Am-heh ile görüşün...",d.notice)
  502. flame_dungeon.level_clear()
  503. else
  504. item.remove()
  505. say("Esta peça é falsa e foi destruida.[ENTER]Procura a original.")
  506. end
  507. end
  508. when 6051.kill with flame_dungeon.is_flamed(pc.get_map_index()) and d.getf("level") == 14 begin
  509. notice_multiline("Bütün şeytanları yendiniz,",d.notice)
  510. notice_multiline("Yeni görev için Am-heh ile görüşün...",d.notice)
  511. flame_dungeon.level_clear()
  512. end
  513. when kill with flame_dungeon.is_flamed(pc.get_map_index()) and d.getf("level") == 15 begin -- 5?? ??? ?? ??
  514. local i = number(1, 30) -- 30?? 1 ??? ????
  515. if i == 1 then
  516. game.drop_item (30330, 1)
  517. end
  518. end
  519. when 20386.take with flame_dungeon.is_flamed(d.get_map_index()) and item.vnum == 30330 and d.getf("level") == 15 begin -- 5?? ???? ????
  520. local setting = flame_dungeon.setting()
  521. if npc.get_vid() == d.get_unique_vid("stone5_1") then -- ??? ?? ????? ? ?? ????? ???? ????
  522. npc.purge()
  523. item.remove()
  524. say("Essa foi uma escolha sábia.[ENTER]Destrua agora a próxima estela.")
  525. d.setf("stonekill",2) -- 2? ?? ???
  526. if d.count_monster() < 100 then
  527. d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
  528. end
  529. elseif npc.get_vid() == d.get_unique_vid("stone5_2") then
  530. if d.getf("stonekill") == 2 then -- 2??? ?? ??? 2???? ??? ??? ?
  531. npc.purge()
  532. item.remove()
  533. say("Essa foi uma escolha sábia.[ENTER]Destrua agora a próxima estela.")
  534. d.setf("stonekill",3)
  535. if d.count_monster() < 100 then
  536. d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
  537. end
  538. else
  539. item.remove()
  540. say("Ordem errada. A Pedra de Maat foi destruída.")
  541. end
  542. elseif npc.get_vid() == d.get_unique_vid("stone5_3") then
  543. if d.getf("stonekill") == 3 then
  544. npc.purge()
  545. item.remove()
  546. say("Essa foi uma escolha sábia.[ENTER]Destrua agora a próxima estela.")
  547. d.setf("stonekill",4)
  548. if d.count_monster() < 100 then
  549. d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
  550. end
  551. else
  552. item.remove()
  553. say("Ordem errada. A Pedra de Maat foi destruída.")
  554. end
  555. elseif npc.get_vid() == d.get_unique_vid("stone5_4") then
  556. if d.getf("stonekill") == 4 then
  557. npc.purge()
  558. item.remove()
  559. say("Essa foi uma escolha sábia.[ENTER]Destrua agora a próxima estela.")
  560. d.setf("stonekill",5)
  561. if d.count_monster() < 100 then
  562. d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
  563. end
  564. else
  565. item.remove()
  566. say("Ordem errada. A Pedra de Maat foi destruída.")
  567. end
  568. elseif npc.get_vid() == d.get_unique_vid("stone5_5") then
  569. if d.getf("stonekill") == 5 then
  570. npc.purge()
  571. item.remove()
  572. say("Essa foi uma escolha sábia.[ENTER]Destrua agora a próxima estela.")
  573. d.setf("stonekill",6)
  574. if d.count_monster() < 100 then
  575. d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
  576. end
  577. else
  578. item.remove()
  579. say("Ordem errada. A Pedra de Maat foi destruída.")
  580. end
  581. elseif npc.get_vid() == d.get_unique_vid("stone5_6") then
  582. if d.getf("stonekill") == 6 then
  583. npc.purge()
  584. item.remove()
  585. say("Essa foi uma escolha sábia. Destrua agora a última[ENTER]estela e Maat triunfará sobre Isfet.")
  586. d.setf("stonekill",7)
  587. if d.count_monster() < 100 then
  588. d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
  589. end
  590. else
  591. item.remove()
  592. say("Ordem errada. A Pedra de Maat foi destruída.")
  593. end
  594. else
  595. if d.getf("stonekill") == 7 then
  596. npc.purge()
  597. item.remove()
  598. notice_multiline("A estela de Isfet foi destruída.",d.notice)
  599. notice_multiline("Fala com Am-heh para abrir um novo destino.",d.notice)
  600. flame_dungeon.level_clear()
  601. else
  602. item.remove()
  603. say("Ordem errada. A Pedra de Maat foi destruída.")
  604. end
  605. end
  606. end
  607. when 8057.kill with flame_dungeon.is_flamed(d.get_map_index()) and d.getf("level") ==16 begin -- ??? ???? ?
  608. notice_multiline("A Metin do purgatório foi destruída.",d.notice)
  609. notice_multiline("Fala com Am-heh para abrir um novo destino.",d.notice)
  610. flame_dungeon.level_clear()
  611. end
  612. when 6091.kill with flame_dungeon.is_flamed(d.get_map_index()) and d.getf("level") ==17 begin -- ?? ????
  613. notice_multiline("Razador foi destruído.",d.notice)
  614. notice_multiline("Todos os lutadores seram teleportados[ENTER]em um minuto do Templo do Dragão.",d.notice)
  615. timer("exit_dungeon", 60)
  616. flame_dungeon.level_clear()
  617. if party.is_party() then
  618. party.setf("flame_dungeon_boss_kill_count", 1)
  619. end
  620. end
  621. when exit_dungeon.timer begin
  622. local setting = flame_dungeon.setting()
  623. flame_dungeon.clear_timer(d.get_map_index())
  624. d.set_warp_location(62, setting.outside_entry_pos[1] , setting.outside_entry_pos[2])
  625. d.exit_all()
  626. d.setf("party_leader_pid", 0)
  627. end
  628. end
  629. end