1. quest razador_kulesi begin
  2. state start begin
  3. when 20394.click with pc.get_level() >= 90 begin
  4. --- pc.give_item2(71174, 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 = razador_kulesi.setting()
  55. d.new_jump_party(351, setting.dungeon_entry_pos[1], setting.dungeon_entry_pos[2])
  56. d.regen_file("data/dungeon/razador_kulesi/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 = razador_kulesi.setting()
  72. if pc.get_level() < 90 then --????
  73. say("Sizin seviyeniz devam etmek için yeterli değil.[ENTER]90.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("Kaderini Karşilamak[ENTER]ileri gitmek istiyormusun ?")
  78. local warp = select("Evet","Belki Daha Sonra")
  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/razador_kulesi/".."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 = razador_kulesi.setting()
  109. if idx == 351 then
  110. --pc.warp(setting.outside_entry_pos[1]*100, setting.outside_entry_pos[2] * 100, 62)
  111. elseif razador_kulesi.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 = {71174, 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("razador_kulesi","exit_time") < 30 * 60 then -- ??????? ????
  127. notice(" İç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("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("Geçiş Biletin Varsa [ENTER]Senide Işınlayabiliriz.")
  133. timer("flame_dungeon_warp_timer", 5)
  134. elseif pc.get_level() < 90 then
  135. notice("Grubun tüm üyelerinin 90.seviyede[ENTER]olması gereklidir.Aksi takdirde[ENTER]devam edemezsiniz.",d.notice)
  136. say("Devam edebilmek için tüm grup üyelerinin,[ENTER]90.Seviye'ye ulaşmış olması gerekli.")
  137. timer("flame_dungeon_warp_timer", 5)
  138. end
  139. elseif pc.getf("razador_kulesi","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("razador_kulesi","ticket_delete",1)
  147. end
  148. else
  149. pc.setf("razador_kulesi","ticket_delete",0)
  150. end
  151. end
  152. when flame_dungeon_warp_timer.timer begin
  153. local setting = razador_kulesi.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 razador_kulesi.is_flamed(idx) then
  159. if d.getf("dungeon_enter") == 1 then -- ???? ?? ?? ? ????
  160. pc.setf("razador_kulesi","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 = razador_kulesi.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("razador_kulesi","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 = {71174, 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 < 90 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]90.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. razador_kulesi.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 20385.chat."Test : Bilgi" with pc.is_gm() begin -- ????
  249. say("canavarlar_11 : "..d.getf("counter_11"))
  250. say("canavarlar_13 : "..d.getf("counter_13"))
  251. say("server saati : "..get_server_timer_arg())
  252. say("toplam canavar sayısı : "..d.count_monster())
  253. say("level : "..d.getf("level"))
  254. say("Dmap index : "..d.get_map_index())
  255. say("Pmap index : "..pc.get_map_index())
  256. say("erişim süresi : "..pc.getf("razador_kulesi","exit_time"))
  257. say("gerçek zaman : "..get_global_time())
  258. if razador_kulesi.is_flamed(d.get_map_index()) then
  259. say("in dungeon") -- is_flamed ?? ??
  260. end
  261. if d.is_unique_dead("stone1") then
  262. say("taş 1 öldü ")
  263. else
  264. say("taş 1 yaşıyor")
  265. end
  266. end
  267. when flame_dungeon_45m_left_timer.timer begin
  268. notice(string.format("Kalan zaman: %d dakika(lar)", 45),d.notice)
  269. notice("Süre bitince grup olarak kale'nin dışına atılacaksınız.",d.notice)
  270. timer("flame_dungeon_30m_left_timer", 15*60)
  271. end
  272. when flame_dungeon_30m_left_timer.timer begin
  273. notice(string.format("Kalan zaman: %d dakika(lar)", 30),d.notice)
  274. notice("Süre bitince grup olarak kale'nin dışına atılacaksınız.",d.notice)
  275. timer("flame_dungeon_15m_left_timer", 15*60)
  276. end
  277. when flame_dungeon_15m_left_timer.timer begin
  278. notice(string.format("Kalan zaman: %d dakika(lar)", 15),d.notice)
  279. notice("Süre bitince grup olarak kale'nin dışına atılacaksınız.",d.notice)
  280. timer("flame_dungeon_5m_left_timer", 10*60)
  281. end
  282. when flame_dungeon_5m_left_timer.timer begin
  283. notice(string.format("Kalan zaman: %d dakika(lar)", 5),d.notice)
  284. notice("Süre bitince grup olarak kale'nin dışına atılacaksınız.",d.notice)
  285. timer("flame_dungeon_1m_left_timer", 4*60)
  286. end
  287. when flame_dungeon_1m_left_timer.timer begin
  288. notice(string.format("Kalan zaman: %d dakika(lar)", 1),d.notice)
  289. notice("Süre bitince grup olarak kale'nin dışına atılacaksınız.",d.notice)
  290. timer("flame_dungeon_0m_left_timer", 60)
  291. end
  292. when flame_dungeon_0m_left_timer.timer begin
  293. local setting = razador_kulesi.setting()
  294. notice("Size ayırılan süre doldu.10 Saniye[ENTER]içinde kale'nin kapıları sizin için açılacak.",d.notice)
  295. notice("10 Saniye içinde herkes ışınlanacak.",d.notice)
  296. timer("exit_dungeon",10)
  297. end
  298. when 20385.chat." Am-heh Uyanış " with npc.lock() begin -- '0x'? x?? ?? ??? ?? ? ?? ?? , '1x'? x?? ?? ??? ???
  299. local setting = razador_kulesi.setting()
  300. if d.getf("started") == 0 then
  301. say("Am-heh Uyandı!")
  302. say("Kızıl Ejderha Kale'si bir saat boyunca[ENTER]başkalarına kapatıldı.")
  303. wait()
  304. d.setf("started",1)
  305. timer("flame_dungeon_45m_left_timer",15*60)
  306. notice("Kalan zaman: 60 Dakika(lar) ",d.notice)
  307. notice("Süre dolduğunda bütün grup üyeleri dışarıya atılır.",d.notice)
  308. local pids = {party.get_member_pids()}
  309. local ticketGroup = {71174, 1}
  310. for i, pid in next, pids, nil do
  311. q.begin_other_pc_block(pid)
  312. local canPass = false
  313. for idx=1, table.getn(ticketGroup),2 do
  314. if pc.count_item(ticketGroup[idx]) >= ticketGroup[idx+1] then
  315. canPass = true
  316. pc.remove_item(ticketGroup[idx], ticketGroup[idx+1])
  317. break
  318. end
  319. end
  320. if not canPass then
  321. pc.warp(setting.outside_entry_pos[1]*100, setting.outside_entry_pos[2] * 100, 62)
  322. end
  323. q.end_other_pc_block()
  324. end
  325. d.setqf2("razador_kulesi","ticket_delete",1)
  326. d.setf("dungeon_enter",1)
  327. party.setf("dungeon_index", d.get_map_index())
  328. d.setf("party_leader_pid", party.get_leader_pid())
  329. end
  330. if d.getf("level") < 7 then --???? ???
  331. if d.getf("clear_count") == 6 then -- ? ??? ??? ???
  332. d.setf("level",7)
  333. else
  334. local rand = number(1,6)--???? ????? ?? ???? ?? ?? ?????? ???
  335. local setlev = 0
  336. d.setf("level",7) -- ?? ?? ??? ?? ??? ?????? ??? ????? ????
  337. for i=1,50 do
  338. setlev = setlev + 1
  339. if setlev > 6 then
  340. setlev = 1
  341. end
  342. if not d.is_unique_dead("door"..setlev) then
  343. rand = rand - 1
  344. if rand == 0 then
  345. d.setf("level",setlev)
  346. d.setf("clear_count",d.getf("clear_count")+1)
  347. break
  348. end
  349. end
  350. end
  351. end
  352. end
  353. if d.getf("level") == 1 then
  354. say("Misyon: şeytanların ringe çıkın[ENTER]ve Hepsini oldurun")
  355. notice("Bilgilendirme: Savaşçılar ve Ejderha kral arasındaki ayaklanma birazdan başlayacak.",d.notice)
  356. d.kill_unique("door1")
  357. d.kill_unique("idoor1")
  358. d.setf("level",11)
  359. local counter_11 = 180
  360. d.regen_file ("data/dungeon/razador_kulesi/".."fd_a.txt")
  361. elseif d.getf("level") == 11 then
  362. say("Bütün şeytanlar yenilmedi.")
  363. say_title("Kalan: ", counter_11)
  364. elseif d.getf("level") == 2 then
  365. say("Görev: stel ISFET gizli[ENTER]mekanizma yerine[ENTER]dişli altın bulun.")
  366. notice("Görev: stel ISFET gizli mekanizma[ENTER] yerine dişli altın bulun.",d.notice)
  367. d.spawn_mob(20386, setting.LEVEL2_STONE_pos[1], setting.LEVEL2_STONE_pos[2]) -- ??? ??
  368. d.kill_unique("door2")
  369. d.kill_unique("idoor2")
  370. d.set_regen_file ("data/dungeon/razador_kulesi/".."fd_b.txt")
  371. d.setf("level",12)
  372. elseif d.getf("level") == 12 then
  373. say("Görev başarıldı zaman[ENTER]ISFET stel mekanizma sadece[ENTER]Tur altın dişli tekerleği ile tetiklenebilir.")
  374. elseif d.getf("level") == 3 then
  375. say("Misyon: şeytanların ringe çıkın[ENTER]ve Hepsini oldurun")
  376. notice("Misyon: şeytanların ringe çıkın[ENTER]ve Hepsini oldurun",d.notice)
  377. d.kill_unique("door3")
  378. d.kill_unique("idoor3")
  379. d.setf("level",13)
  380. local counter_13 = 180
  381. d.regen_file ("data/dungeon/razador_kulesi/".."fd_c.txt")
  382. elseif d.getf("level") == 13 then
  383. say("Tum iblisler orada yenildiler.")
  384. say_title("Diğer: ", counter_13)
  385. elseif d.getf("level") == 4 then -- 474 178
  386. say("Görev : Ignatoru Yenin Cehennem Bekcisi")
  387. notice("Görev : Ignatoru Yenin Cehennem Bekcisi",d.notice)
  388. d.setf("level",14)
  389. d.kill_unique("door4")
  390. d.kill_unique("idoor4")
  391. d.set_regen_file ("data/dungeon/razador_kulesi/".."fd_d.txt")
  392. d.spawn_mob(6051,setting.LEVEL4_TARGET_pos[1],setting.LEVEL4_TARGET_pos[2] ) -- ????? ??
  393. elseif d.getf("level") == 14 then
  394. say("Ignator Cehennem[ENTER]Bekcisi Hayla[ENTER]Yenilmemistir.")
  395. elseif d.getf("level") == 5 then -- 510 355
  396. say("Misyon: Maat taşları bulun[ENTER] ve 7 stelleri ISFET doğru sırayla koyun.")
  397. say("Eğer yanlış olarak Maat taş [ENTER]yerine stel kullanırsanız, taş kıracak.")
  398. notice("Misyon: Maat taşları bulun[ENTER] ve 7 stelleri ISFET doğru sırayla koyun.",d.notice)
  399. notice("Eğer yanlış olarak Maat taş [ENTER]yerine stel kullanırsanız, taş kıracak.",d.notice)
  400. d.kill_unique("door5")
  401. d.kill_unique("idoor5")
  402. d.setf("level",15)
  403. d.set_regen_file ("data/dungeon/razador_kulesi/".."fd_e.txt")
  404. local vis = { 0,0,0,0,0,0,0}
  405. for i=1,7 do
  406. vis[i] = 0
  407. end
  408. for i = 1, 7 do -- ???? ???
  409. local ran = number(1,7)
  410. local st = 0
  411. for j = 1, 50 do
  412. st = st + 1
  413. if st > 7 then
  414. st = 1
  415. end
  416. if vis[st] == 0 then
  417. ran = ran - 1
  418. if ran == 0 then
  419. vis[st] = 1
  420. d.set_unique("stone5_"..st, d.spawn_mob(20386, setting.LEVEL5_STONE_pos[i][1], setting.LEVEL5_STONE_pos[i][2]))
  421. break
  422. end
  423. end
  424. end
  425. end
  426. elseif d.getf("level") == 15 then
  427. say("Hey Oyuncu! Görevini yerine[ENTER] gizemli sırı cözmek icin [ENTER]Yeni görev için Am-heh ile görüşün.")
  428. elseif d.getf("level") == 6 then -- 507 490
  429. say("Görev: Cehhenemim Kavurucu sıcagında [ENTER] Araf Metin yok edilecek.")
  430. notice("Görev: Cehhenemim Kavurucu sıcagında [ENTER] Araf Metin yok edilecek.",d.notice)
  431. d.setf("level",16)
  432. d.kill_unique("door6")
  433. d.kill_unique("idoor6")
  434. d.set_regen_file ("data/dungeon/razador_kulesi/".."fd_f.txt")
  435. d.spawn_mob(8057, setting.LEVEL6_TARGET_pos[1],setting.LEVEL6_TARGET_pos[2]) -- ?????? ??
  436. elseif d.getf("level") == 16 then
  437. say(" ")
  438. say("Araf Metnini Yok Edin")
  439. elseif d.getf("level") == 7 then
  440. razador_kulesi.go_boss()
  441. else
  442. say(" ")
  443. end
  444. npc.unlock()
  445. end
  446. when kill with razador_kulesi.is_flamed(pc.get_map_index()) and d.getf("level") == 11 begin -- 2?? ??? ?? ??
  447. if d.getf("counter_11") == 0 then -- 1?? ??? ???
  448. notice("Bütün şeytanları yendiniz,",d.notice)
  449. notice("Yeni görev için Am-heh ile görüşün...",d.notice)
  450. razador_kulesi.level_clear()
  451. else
  452. d.setf("counter_11",d.getf("counter_11")-1)
  453. end
  454. end
  455. when kill with razador_kulesi.is_flamed(pc.get_map_index()) and d.getf("level") == 13 begin -- 2?? ??? ?? ??
  456. if d.getf("counter_13") == 0 then -- 1?? ??? ???
  457. notice("Bütün şeytanları yendiniz,",d.notice)
  458. notice("Yeni görev için Am-heh ile görüşün...",d.notice)
  459. razador_kulesi.level_clear()
  460. else
  461. d.setf("counter_13",d.getf("counter_13")-1)
  462. end
  463. end
  464. when kill with razador_kulesi.is_flamed(pc.get_map_index()) and d.getf("level") == 12 begin -- 2?? ??? ?? ??
  465. local i = number(1, 100) -- 100?? 1 ??? ????
  466. if i == 1 then
  467. game.drop_item (30329, 1)
  468. end
  469. end
  470. when 20386.take with razador_kulesi.is_flamed(pc.get_map_index()) and item.vnum == 30329 and d.getf("level") == 12 begin -- 2?? ?? ????
  471. local i = number(1, 5) -- 5?? 1 ??? ?? ??
  472. if i == 1 then
  473. npc.purge()
  474. pc.remove_item("30329",1)
  475. notice("Bütün şeytanları yendiniz,",d.notice)
  476. notice("Yeni görev için Am-heh ile görüşün...",d.notice)
  477. razador_kulesi.level_clear()
  478. else
  479. pc.remove_item("30329",1)
  480. say("Bu parça yanlıştır.[ENTER]Özgün arama yıkıldı.")
  481. end
  482. end
  483. when 6051.kill with razador_kulesi.is_flamed(pc.get_map_index()) and d.getf("level") == 14 begin
  484. notice("Bütün şeytanları yendiniz,",d.notice)
  485. notice("Yeni görev için Am-heh ile görüşün...",d.notice)
  486. razador_kulesi.level_clear()
  487. end
  488. when kill with razador_kulesi.is_flamed(pc.get_map_index()) and d.getf("level") == 15 begin -- 5?? ??? ?? ??
  489. local i = number(1, 30) -- 30?? 1 ??? ????
  490. if i == 1 then
  491. game.drop_item (30330, 1)
  492. end
  493. end
  494. when 20386.take with razador_kulesi.is_flamed(d.get_map_index()) and item.vnum == 30330 and d.getf("level") == 15 begin -- 5?? ???? ????
  495. local setting = razador_kulesi.setting()
  496. if npc.get_vid() == d.get_unique_vid("stone5_1") then -- ??? ?? ????? ? ?? ????? ???? ????
  497. npc.purge()
  498. pc.remove_item("30330",1)
  499. say("Bu akıllıca bir seçim[ENTER] artık bir sonraki stel yok oldu.")
  500. d.setf("stonekill",2) -- 2? ?? ???
  501. if d.count_monster() < 100 then
  502. d.regen_file ("data/dungeon/razador_kulesi/".."fd_e.txt")
  503. end
  504. elseif npc.get_vid() == d.get_unique_vid("stone5_2") then
  505. if d.getf("stonekill") == 2 then -- 2??? ?? ??? 2???? ??? ??? ?
  506. npc.purge()
  507. pc.remove_item("30330",1)
  508. say("Bu akıllıca bir seçim[ENTER] artık bir sonraki stel yok oldu.")
  509. d.setf("stonekill",3)
  510. if d.count_monster() < 100 then
  511. d.regen_file ("data/dungeon/razador_kulesi/".."fd_e.txt")
  512. end
  513. else
  514. pc.remove_item("30330",1)
  515. say("Yanlış Düzen Maat Taşı Yok edildi.")
  516. end
  517. elseif npc.get_vid() == d.get_unique_vid("stone5_3") then
  518. if d.getf("stonekill") == 3 then
  519. npc.purge()
  520. pc.remove_item("30330",1)
  521. say("Bu akıllıca bir seçim[ENTER] artık bir sonraki stel yok oldu.")
  522. d.setf("stonekill",4)
  523. if d.count_monster() < 100 then
  524. d.regen_file ("data/dungeon/razador_kulesi/".."fd_e.txt")
  525. end
  526. else
  527. pc.remove_item("30330",1)
  528. say("Yanlış Düzen Maat Taşı Yok edildi.")
  529. end
  530. elseif npc.get_vid() == d.get_unique_vid("stone5_4") then
  531. if d.getf("stonekill") == 4 then
  532. npc.purge()
  533. pc.remove_item("30330",1)
  534. say("Bu akıllıca bir seçim[ENTER] artık bir sonraki stel yok oldu.")
  535. d.setf("stonekill",5)
  536. if d.count_monster() < 100 then
  537. d.regen_file ("data/dungeon/razador_kulesi/".."fd_e.txt")
  538. end
  539. else
  540. pc.remove_item("30330",1)
  541. say("Yanlış Düzen Maat Taşı Yok edildi.")
  542. end
  543. elseif npc.get_vid() == d.get_unique_vid("stone5_5") then
  544. if d.getf("stonekill") == 5 then
  545. npc.purge()
  546. pc.remove_item("30330",1)
  547. say("Bu akıllıca bir seçim[ENTER] artık bir sonraki stel yok oldu.")
  548. d.setf("stonekill",6)
  549. if d.count_monster() < 100 then
  550. d.regen_file ("data/dungeon/razador_kulesi/".."fd_e.txt")
  551. end
  552. else
  553. pc.remove_item("30330",1)
  554. say("Yanlış Düzen Maat Taşı Yok edildi.")
  555. end
  556. elseif npc.get_vid() == d.get_unique_vid("stone5_6") then
  557. if d.getf("stonekill") == 6 then
  558. npc.purge()
  559. pc.remove_item("30330",1)
  560. say("Bu akıllıca bir seçim oldu. Şimdi son [ENTER] stel yok ve Maat ISFET üzerinde zafer.")
  561. d.setf("stonekill",7)
  562. if d.count_monster() < 100 then
  563. d.regen_file ("data/dungeon/razador_kulesi/".."fd_e.txt")
  564. end
  565. else
  566. pc.remove_item("30330",1)
  567. say("Yanlış Düzen Maat Taşı Yok edildi.")
  568. end
  569. else
  570. if d.getf("stonekill") == 7 then
  571. npc.purge()
  572. pc.remove_item("30330",1)
  573. notice("Stel ISFET yıkıldı.",d.notice)
  574. notice("Yeni bir hedef açmak için Am-heh ile konuşun.",d.notice)
  575. razador_kulesi.level_clear()
  576. else
  577. pc.remove_item("30330",1)
  578. say("Yanlış Düzen Maat Taşı Yok edildi.")
  579. end
  580. end
  581. end
  582. when 8057.kill with razador_kulesi.is_flamed(d.get_map_index()) and d.getf("level") ==16 begin -- ??? ???? ?
  583. notice("Araf Metin yıkıldı.",d.notice)
  584. notice("Yeni bir hedef açmak için Am-heh ile konuşun.",d.notice)
  585. razador_kulesi.level_clear()
  586. end
  587. when 6091.kill with razador_kulesi.is_flamed(d.get_map_index()) and d.getf("level") ==17 begin -- ?? ????
  588. notice("Radazor Yıkıldı.",d.notice)
  589. notice("Bir Dakika İçinde Tüm savaşcılar[ENTER]Köylerine ışınlanacaktır.",d.notice)
  590. timer("exit_dungeon", 60)
  591. razador_kulesi.level_clear()
  592. if party.is_party() then
  593. party.setf("flame_dungeon_boss_kill_count", 1)
  594. end
  595. end
  596. when exit_dungeon.timer begin
  597. local setting = razador_kulesi.setting()
  598. razador_kulesi.clear_timer(d.get_map_index())
  599. d.set_warp_location(62, setting.outside_entry_pos[1] , setting.outside_entry_pos[2])
  600. d.exit_all()
  601. d.setf("party_leader_pid", 0)
  602. end
  603. end
  604. end