Advertisement
Guest User

Untitled

a guest
Mar 6th, 2025
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.52 KB | None | 0 0
  1. quest dungeon_dt begin
  2. state start begin
  3. when 20348.chat."Wieża Demonów (Lv. 40+)" begin
  4. snn()
  5. say("Witaj,")
  6. say("strzegę tego miejsca przed silnymi stworami,")
  7. say("nie mogę dopuścić do ponownego przejęcia Imperium.")
  8. say("Wpuszczam tam tylko doświadczone osoby od poziomu 40.")
  9. say_reward("Chcesz wejść do Wieży Demonów?")
  10. local s = select("Tak", "Nie")
  11. if s == 1 then
  12. if pc.level < 40 then
  13. notice("[Strażnik Wieży Demonów] Nie posiadasz 40 poziomu.")
  14. elseif not pc.can_warp() then
  15. notice("[Strażnik Wieży Demonów] Nie możesz teraz się przenieść.")
  16. else
  17. pc.warp(216500, 727000)
  18. pc.setqf("go_dt", 1)
  19. end
  20. end
  21. end
  22. when login with pc.get_map_index() == 66 and pc.getqf("go_dt") > 0 begin
  23. pc.setqf("go_dt", 0)
  24. notice("[Wieża Demonów] Aby przejść na pierwsze piętro musisz pokonać Metin Twardości.")
  25. end
  26. when kill with npc.get_race() == 8015 and pc.get_map_index() == 66 begin
  27. if game.get_event_flag("dungeon_dt_close") == 0 then
  28. notice_in_map("[Wieża Demonów] Za 10 sekund przeniesiecie się na pierwsze piętro.")
  29. timer("go_first", 10)
  30. else
  31. notice_in_map("[Wieża Demonów] Chwilowo Wieża Demonów jest wyłączona.")
  32. notice_in_map("[Wieża Demonów] Powinna zostać włączona do godziny.")
  33. end
  34. end
  35. when go_first.timer with pc.get_map_index() == 66 begin
  36. d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
  37. pc.setqf("dt_enter", 1)
  38. end
  39. when login with index(66) == 1 and pc.getqf("dt_enter") == 1 begin
  40. pc.setqf("dt_enter", 0)
  41. d.regen_file("data/dungeon/deviltower2_regen.txt")
  42. d.setf("level", 1)
  43. d.notice("[Wieża Demonów] Zniszczcie wszystkie potwory, aby przejść na drugie piętro.")
  44. end
  45. when kill with index(66) == 1 and d.getf("killed_first_floor") < 243 and d.getf("level") == 1 begin --245
  46. d.setf("killed_first_floor", d.getf("killed_first_floor")+1)
  47. --d.notice(d.getf("killed_first_floor"))
  48. if d.getf("killed_first_floor") == 243 then
  49. d.notice("[Wieża Demonów] Pokonaliście wszystkie potwory! Za 10 sekund przeniesiecie się na drugie piętro.")
  50. d.clear_regen()
  51. timer("go_second", 10)
  52. end
  53. end
  54. when go_second.timer with index(66) == 1 begin
  55. d.jump_all(special.devil_tower[2][1], special.devil_tower[2][2])
  56. d.setf("level", 2)
  57. d.regen_file("data/dungeon/deviltower3_regen.txt")
  58. d.notice("[Wieża Demonów] Zniszczcie wszystkie potwory i Króla Demonów, aby przejść na trzecie piętro.")
  59. end
  60. when kill with index(66) == 1 and d.getf("killed_second_floor") < 311 and d.getf("level") == 2 begin -- 313
  61. d.setf("killed_second_floor", d.getf("killed_second_floor")+1)
  62. --d.notice(d.getf("killed_second_floor"))
  63. if d.getf("killed_second_floor") == 311 then
  64. d.notice("[Wieża Demonów] Pokonaliście wszystkie potwory i Króla Demonów.")
  65. d.notice("[Wieża Demonów] Za chwilę przeniesiecie się na trzecie piętro.")
  66. d.clear_regen()
  67. timer("go_third", 10)
  68. end
  69. end
  70. when go_third.timer with index(66) == 1 begin
  71. d.spawn_mob(8016, 372, 631)
  72. d.jump_all(special.devil_tower[3][1], special.devil_tower[3][2])
  73. d.setf("level", 3)
  74. d.notice("[Wieża Demonów] Zniszczcie Metin Diabła.")
  75. end
  76. when kill with npc.get_race() == 8016 and index(66) == 1 begin
  77. d.setf("real_metin", number(1, 7))
  78. d.spawn_mob(8017, 368, 629)
  79. d.spawn_mob(8017, 419, 630)
  80. d.spawn_mob(8017, 428, 653)
  81. d.spawn_mob(8017, 422, 679)
  82. d.spawn_mob(8017, 395, 689)
  83. d.spawn_mob(8017, 369, 679)
  84. d.spawn_mob(8017, 361, 658)
  85. d.notice("[Wieża Demonów] Aby przejść na czwarte piętro musicie pokonać prawdziwy Metin Upadku.")
  86. end
  87. when kill with npc.get_race() == 8017 and index(66) == 1 begin
  88. d.setf("real_metin_killed", d.getf("real_metin_killed")+1)
  89. if d.getf("real_metin_killed") < d.getf("real_metin") then
  90. d.notice("[Wieża Demonów] Zniszczyliście fałszywy Kamień Metin.")
  91. else
  92. d.notice("[Wieża Demonów] Udało Wam się pokonać prawdziwy Kamień Metin!")
  93. d.notice("[Wieża Demonów] Za chwilę zostaniecie przeniesieni na czwarte piętro.")
  94. d.kill_all()
  95. timer("go_fourth", 10)
  96. end
  97. end
  98. when go_fourth.timer with index(66) == 1 begin
  99. d.set_regen_file("data/dungeon/deviltower4_regen.txt")
  100. d.spawn_mob(20073, 421, 452)
  101. d.spawn_mob(20073, 380, 460)
  102. d.spawn_mob(20073, 428, 414)
  103. d.spawn_mob(20073, 398, 392)
  104. d.spawn_mob(20073, 359, 426)
  105. timer("pieczecie_left_15", 60*5)
  106. timer("pieczecie_left_10", 60*10)
  107. timer("pieczecie_left_5", 60*15)
  108. timer("pieczecie_exit", 60*20)
  109. d.setf("level", 4)
  110. d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
  111. d.notice("[Wieża Demonów] Aby przejść na piąte piętro musicie zdobyć 5x Kamień Otwarcia,")
  112. d.notice("[Wieża Demonów] następnie niby odblokować Pieczęcie. Macie na to 20 minut!")
  113. end
  114. when pieczecie_left_15.timer with index(66) == 1 and d.getf("level") == 4 begin
  115. d.notice("[Wieża Demonów] Pozostało 15 minut!")
  116. end
  117. when pieczecie_left_10.timer with index(66) == 1 and d.getf("level") == 4 begin
  118. d.notice("[Wieża Demonów] Pozostało 10 minut!")
  119. end
  120. when pieczecie_left_5.timer with index(66) == 1 and d.getf("level") == 4 begin
  121. d.notice("[Wieża Demonów] Pozostało 5 minut!")
  122. end
  123. when pieczecie_exit.timer with index(66) == 1 and d.getf("level") == 4 begin
  124. d.notice("[Wieża Demonów] Czas minął! Zostajecie wyrzuceni z Wieży Demonów.")
  125. d.exit_all()
  126. end
  127. when kill with npc.get_race() == 1062 and index(66) == 1 and d.getf("killed_fourth") < 50 and d.getf("level") == 4 begin
  128. d.setf("killed_fourth", d.getf("killed_fourth")+1)
  129. if d.getf("killed_fourth") == 30 then
  130. d.setf("killed_fourth", 0)
  131. pc.give_item2(50084, 1)
  132. d.notice("[Wieża Demonów] Udało Wam się zdobyć Kamień Otwarcia! W jego posiadaniu znajduje się - "..pc.get_name()..".")
  133. end
  134. end
  135. when 20073.take with item.vnum == 50084 and index(66) == 1 and d.getf("open_fourth") < 5 begin
  136. npc.purge()
  137. item.remove()
  138. d.setf("open_fourth", d.getf("open_fourth")+1)
  139. if d.getf("open_fourth") < 5 then
  140. d.notice("[Wieża Demonów] Udało Wam się odblokować Pieczęć! Pozostało: "..5-d.getf("open_fourth"))
  141. else
  142. cleartimer("pieczecie_left_15")
  143. cleartimer("pieczecie_left_10")
  144. cleartimer("pieczecie_left_5")
  145. cleartimer("pieczecie_exit")
  146. d.clear_regen()
  147. timer("go_fifth", 15)
  148. d.notice("[Wieża Demonów] Udało Wam się odblokować wszystkie Pieczęcie!")
  149. d.notice("[Wieża Demonów] Za 15 sekund znajdziecie się na piątym piętrze.")
  150. d.setf("level", 5)
  151. end
  152. end
  153. when go_fifth.timer with index(66) == 1 begin
  154. d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
  155. d.regen_file("data/dungeon/deviltower5_regen.txt")
  156. d.notice("[Wieża Demonów] Aby przejść na szóste piętro należy pokonać Elit. Króla Demonów,")
  157. d.notice("[Wieża Demonów] a następnie poprosić o przejście Kowala.")
  158. end
  159. when kill with npc.get_race() == 1092 and index(66) == 1 begin
  160. d.kill_all()
  161. d.kill_all()
  162. timer("kowal", 5)
  163. d.setf("can_refine", 1)
  164. d.setqf("can_refine", 1)
  165. d.notice("[Wieża Demonów] Udało Wam się zniszczyć Elit. Króla Demonów. Za chwilę pojawi się Kowal.")
  166. end
  167. when kowal.timer with index(66) == 1 begin
  168. d.setqf("can_refine", 1)
  169. local kowal = number(20074, 20076)
  170. d.spawn_mob(kowal, 425, 216)
  171. d.setqf("can_refine", 1)
  172. d.spawn_mob(8018, 639, 658)
  173. d.spawn_mob(8018, 611, 637)
  174. d.spawn_mob(8018, 596, 674)
  175. d.spawn_mob(8018, 629, 670)
  176. --d.jump_all(2048+590, 6656+638)
  177. end
  178. when 20074.chat."Szóste Piętro" or 20075.chat."Szóste Piętro" or 20076.chat."Szóste Piętro" with index(66) == 1 begin
  179. snn()
  180. if d.getf("lock") == 1 then
  181. say("Ktoś rozmawia już z Kowalem.")
  182. return
  183. end
  184. d.setf("lock", 1)
  185. say("Mogę przenieść Was na wyższe piętra,")
  186. say("pamiętajcie, że to nie łatwe zadanie.")
  187. say("Każdy musi mieć 75 poziom.")
  188. say_reward("Chcesz kontynuować?")
  189. local s = select("Tak", "Nie")
  190. if s == 1 then
  191. if pc.level < 75 then
  192. notice("[Wieża Demonów] Nie posiadasz 75 poziomu.")
  193. d.setf("lock", 0)
  194. else
  195. d.setf("level", 6)
  196. -- d.spawn_mob(8018, 639, 658)
  197. -- d.spawn_mob(8018, 611, 637)
  198. -- d.spawn_mob(8018, 596, 674)
  199. -- d.spawn_mob(8018, 629, 670)
  200. d.setf("lock", 0)
  201. d.jump_all(2048+590, 6656+638)
  202. d.notice("[Wieża Demonów] Zniszcz 4 Metiny, a następnie z Metina Morderstwa,")
  203. d.notice("[Wieża Demonów] zdobądź unikalną Mapę Zin.")
  204. end
  205. else
  206. d.setf("lock", 0)
  207. return
  208. end
  209. end
  210. -- when 20075.chat."Szóste Piętro" with index(66) == 1 begin
  211. -- snn()
  212. -- say("Mogę przenieść Was na wyższe piętra,")
  213. -- say("pamiętajcie, że to nie łatwe zadanie.")
  214. -- say("Każdy musi mieć 75 poziom.")
  215. -- say_reward("Chcesz kontynuować?")
  216. -- local s = select("Tak", "Nie")
  217. -- if s == 1 then
  218. -- d.setf("level", 6)
  219. -- d.spawn_mob(8018, 639, 658)
  220. -- d.spawn_mob(8018, 611, 637)
  221. -- d.spawn_mob(8018, 596, 674)
  222. -- d.spawn_mob(8018, 629, 670)
  223. -- d.jump_all(2048+590, 6656+638)
  224. -- d.notice("[Wieża Demonów] Zniszcz 4 Metiny, a następnie z Metina Morderstwa,")
  225. -- d.notice("[Wieża Demonów] zdobądź unikalną Mapę Zin.")
  226. --end
  227. --end
  228. --when login or kill with index(66) == 1 and d.getf("level") == 6 and pc.level < 75 begin
  229. -- notice("[Wieża Demonów] Nie posiadasz 75 poziomu by tu przebywać!")
  230. -- d.exit()
  231. --end
  232. when kill with npc.get_race() == 8018 and index(66) == 1 and d.getf("killed_6_floor") < 4 begin
  233. d.setf("killed_6_floor", d.getf("killed_6_floor")+1)
  234. if d.getf("killed_6_floor") == 4 then
  235. d.set_regen_file("data/dungeon/deviltower6_regen.txt")
  236. end
  237. end
  238. when kill with npc.get_race() == 8019 and index(66) == 1 begin
  239. local sz_mapa_zin = number(1, 100)
  240. if sz_mapa_zin <= 20 then
  241. game.drop_item_with_ownership(30302, 1)
  242. d.clear_regen()
  243. d.notice("[Wieża Demonów] Użyj Mapy Zin, aby przejść na 7 piętro.")
  244. else
  245. game.drop_item_with_ownership(30301, 1)
  246. end
  247. end
  248. when 30302.use with index(66) == 1 and d.getf("level") == 6 begin
  249. if not pc.can_warp() then
  250. notice("[Wieża Demonów] Nie możesz teraz się przenieść.")
  251. else
  252. item.remove()
  253. d.setf("level", 7)
  254. d.jump_all(2048+590, 6656+403)
  255. d.set_regen_file("data/dungeon/deviltower7_regen.txt")
  256. d.spawn_mob(20366, 640, 460)
  257. d.notice("[Wieża Demonów] Zdobądź Klucz Zin-Bong-In z potworów, aby dostać się na 8 piętro.")
  258. end
  259. end
  260. when kill with npc.get_race() == 1040 and index(66) == 1 and d.getf("level") == 7 begin
  261. local sz_klucz_zin = number(1, 100)
  262. if sz_klucz_zin <= 3 then
  263. game.drop_item_with_ownership(30304, 1)
  264. d.notice("[Wieża Demonów] Przenieś Klucz Zin-Bong-In na posąg, aby dostać się do Umarłego Rozpruwacza.")
  265. elseif sz_klucz_zin == 5 or sz_klucz_zin == 6 or sz_klucz_zin == 4 then
  266. game.drop_item_with_ownership(30303, 1)
  267. end
  268. end
  269. when 20366.take with item.vnum == 30303 and index(66) == 1 and d.getf("level") == 7 begin
  270. notice("[Wieża Demonów] To nie jest odpowiedni Klucz!")
  271. end
  272. when 20366.take with item.vnum == 30304 and index(66) == 1 and d.getf("level") == 7 begin
  273. item.remove()
  274. d.setf("level", 8)
  275. d.jump_all(2048+590, 6656+155)
  276. d.regen_file("data/dungeon/deviltower8_regen.txt")
  277. d.notice("[Wieża Demonów] Aby wejść na 9 piętro musisz pokonać Umarłego Rozpruwacza!")
  278. end
  279. when kill with npc.get_race() == 1093 and index(66) == 1 begin
  280. d.kill_all()
  281. d.kill_all()
  282. d.notice("[Wieża Demonów] Za 10 sekund zostaniecie przeniesieni na piętro z Niebieską Śmiercią!")
  283. d.spawn_mob(1095, 607, 218)
  284. server_timer('a', 10, pc.get_map_index())
  285. end
  286.  
  287. when a.server_timer begin
  288. if d.select(get_server_timer_arg()) then
  289. d.jump_all(2048+590, 6656+155)
  290. d.notice("[Wieża Demonów] Zabijcie Niebieską Śmierć!")
  291. end
  292. end
  293.  
  294. when kill with npc.get_race() == 1095 and index(66) == 1 begin
  295. d.notice("[Wieża Demonów] Ukończyliście Wieżę Demonów.")
  296. d.notice("[Wieża Demonów] Za 60 sekund zostaniecie przeniesieni przed wejście.")
  297. server_timer('b', 60, pc.get_map_index())
  298. end
  299.  
  300. when b.server_timer begin
  301. if d.select(get_server_timer_arg()) then
  302. d.exit_all()
  303. end
  304. end
  305. end
  306. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement