- quest deviltower_zone begin
- state start begin
- when login begin
- if pc.get_map_index() == 66 then
- if pc.get_x() < 2048+88 or pc.get_y() < 6656+577 or pc.get_x() > 2048+236 or pc.get_y() > 6656+737 then
- pc.warp((5376+532)*100, (512+596+4)*100, 65)
- end
- pc.set_warp_location(65, 5376+532, 512+596+4)
- local ch = pc.get_channel_id()
- if game.get_event_flag("kule_"..ch.."_sifre") != pc.getqf("kule_sifre") then
- syschat("Sizden önce başkası kuleyi almış. Dışarı gönderiliyorsun.")
- warp_to_village()
- end
- if global_getvarchar("kule_"..ch.."_lider") == pc.get_name() then
- clear_server_timer("kule_bosalt_"..ch.."")
- server_timer("kule_bosalt_"..ch.."",15*60)
- syschat("15 dakikalık süre başladı. Arkadaşlarının içeri girebilmesi için gereken şifre : "..game.get_event_flag("kule_"..ch.."_sifre"))
- end
- elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
- pc.set_warp_location(65, 5376+532, 512+596+4)
- end
- end
- when logout begin
- if pc.count_item(30300) >= 1 then
- pc.remove_item(30300, pc.count_item(30300))
- end
- if pc.count_item(30302) >= 1 then
- pc.remove_item(30302, pc.count_item(30302))
- end
- end
- when 20348.chat."Şeytan Kulesi " begin
- local ch = pc.get_channel_id()
- local durum = game.get_event_flag("kule_"..ch)
- if pc.get_level() < 40 then
- say_title("Kule Bekçisi :")
- say("")
- say("40 seviye altı kuleye giremez.")
- return
- else
- say_title("Kule Bekçisi :")
- say("Şeytan kulesine girmek istiyor musun ?")
- pc.setqf("kule_bug_engel",get_time()+10)
- local s = select("Gir ", "Vazgeç ")
- if get_time() > pc.getqf("kule_bug_engel") then
- say_title("Kule Bekcisi:")
- say("10 saniye doldu şansını tekrar dene.")
- pc.setqf("kule_bug_engel",get_time()+0)
- return
- end
- if 1 == s and game.get_event_flag("kule_kullanimda"..pc.get_channel_id().."") == 0 then
- local sifre = number(0,9)
- local sifre2 = number(0,9)
- local sifre3 = number(0,9)
- local sifre4 = number(0,9)
- local sifre5 = number(0,9)
- local pins = tostring(""..sifre.."-"..sifre2.."-"..sifre3.."-"..sifre4.."-"..sifre5.."")
- local pin = tonumber(""..sifre..""..sifre2..""..sifre3..""..sifre4..""..sifre5.."")
- local rando2 = pc.getqf("random2")
- if rando2 == 0 then
- say_reward("Yazman gereken şifre : "..pins)
- say_reward("10 saniye süren var!")
- pc.setqf("random2",1)
- elseif rando2 == 1 then
- say()
- say()
- say()
- say()
- say()
- say_reward("Yazman gereken şifre : "..pins)
- say_reward("10 saniye süren var!")
- pc.setqf("random2",0)
- end
- local giris = tonumber ( input ( "" ) )
- if get_time() > pc.getqf("kule_bug_engel") then
- say_title("Kule Bekçisi:")
- say("10 saniye doldu şansını tekrar dene.")
- pc.setqf("kule_bug_engel",get_time()+0)
- return
- end
- if giris != pin then
- say_title("Kule Bekçisi:")
- say("")
- say_reward("Malesef, Yanlış yazdın.")
- return
- end
- if pin and pin <= 99999 then
- say_title("Sura Ruhu:")
- say("")
- say("Arzu edersen seni doğrudan Şeytan Kulesi'ne")
- say("götürebilirim. Seçimini Yap.")
- pc.setqf("kule_bug_engel",get_time()+10)
- local zaxd = select("İçeri bırak!","Vazgeç ")
- if get_time() > pc.getqf("kule_bug_engel") then
- say_title("Sura Ruhu:")
- say("10 saniye doldu şansını tekrar dene.")
- pc.setqf("kule_bug_engel",get_time()+0)
- return
- end
- if zaxd == 2 then
- return
- elseif zaxd == 1 and game.get_event_flag("kule_kullanimda"..pc.get_channel_id().."") == 0 then
- if game.get_event_flag("kule_kullanimda"..pc.get_channel_id().."") != 0 then
- syschat("Şeytan kulesine başka bir grup girdi.")
- return
- end
- say_title("Şeytan Kulesi:")
- pc.setqf("kule_bug_engel",get_time()+10)
- say("İçeride kimse yok. İçeri girebilirsin.")
- say("Dikkatli ol içerisi tehlikelerle dolu.")
- say("")
- say_reward("İçerde en fazla 10 dakika durabilirsin.")
- say_reward("Süre dolduğunda içeriden atılacaksın.")
- say("")
- npc.unlock()
- game.set_event_flag("kule_"..ch,1)
- game.set_event_flag("kule_"..ch.."_sifre",pin)
- global_setvarchar("kule_"..ch.."_lider",pc.get_name())
- pc.setqf("kule_sifre",pin)
- clear_server_timer("kule_kontrol_et_"..ch.."_1")
- clear_server_timer("kule_kontrol_et_"..ch.."_2")
- server_timer("kule_kontrol_et_"..ch.."_1",15)
- wait()
- pc.warp(216500,727000)
- end
- else
- say_title("Sura Ruhu:")
- say("")
- say("Bir hata oluştu.")
- say("")
- end
- end
- end
- end
- when kule_bosalt_1.server_timer begin
- notice_all("CH1: Şeytan Kulesi Bekleme Süresi Sona Erdi! Girişler Açıldı.")
- game.set_event_flag("kule_1",0)
- clear_server_timer('kule_kontrol_et_1_1')
- clear_server_timer('kule_kontrol_et_1_2')
- clear_server_timer('kule_bosalt_1')
- warp_all_to_village(66, 3)
- end
- when kule_bosalt_2.server_timer begin
- notice_all("CH2: Şeytan Kulesi Bekleme Süresi Sona Erdi! Girişler Açıldı.")
- game.set_event_flag("kule_2",0)
- clear_server_timer('kule_kontrol_et_2_1')
- clear_server_timer('kule_kontrol_et_2_2')
- clear_server_timer('kule_bosalt_2')
- warp_all_to_village(66, 3)
- end
- when kule_bosalt_3.server_timer begin
- notice_all("CH3: Şeytan Kulesi Bekleme Süresi Sona Erdi! Girişler Açıldı.")
- game.set_event_flag("kule_3",0)
- clear_server_timer('kule_kontrol_et_3_1')
- clear_server_timer('kule_kontrol_et_3_2')
- clear_server_timer('kule_bosalt_3')
- warp_all_to_village(66, 3)
- end
- when kule_bosalt_4.server_timer begin
- notice_all("CH4: Şeytan Kulesi Bekleme Süresi Sona Erdi! Girişler Açıldı.")
- game.set_event_flag("kule_4",0)
- clear_server_timer('kule_kontrol_et_4_1')
- clear_server_timer('kule_kontrol_et_4_2')
- clear_server_timer('kule_bosalt_4')
- warp_all_to_village(66, 3)
- end
- when kule_bosalt_5.server_timer begin
- notice_all("CH5: Şeytan Kulesi Bekleme Süresi Sona Erdi! Girişler Açıldı.")
- game.set_event_flag("kule_5",0)
- clear_server_timer('kule_kontrol_et_5_1')
- clear_server_timer('kule_kontrol_et_5_2')
- clear_server_timer('kule_bosalt_5')
- warp_all_to_village(66, 3)
- end
- when kule_bosalt_6.server_timer begin
- notice_all("CH6: Şeytan Kulesi Bekleme Süresi Sona Erdi! Girişler Açıldı.")
- game.set_event_flag("kule_6",0)
- clear_server_timer('kule_kontrol_et_6_1')
- clear_server_timer('kule_kontrol_et_6_2')
- clear_server_timer('kule_bosalt_6')
- warp_all_to_village(66, 3)
- end
- when kule_kontrol_et_1_1.server_timer begin
- if pc.kule_kontrol(66) == 0 then
- if game.get_event_flag("kule_1") == 1 then
- notice_all("CH1: Şeytan Kulesinde Kimse Kalmadığından Girişleri Açıldı.")
- game.set_event_flag("kule_1",0)
- clear_server_timer('kule_kontrol_et_1_1')
- clear_server_timer('kule_kontrol_et_1_2')
- clear_server_timer('kule_bosalt_1')
- end
- else
- clear_server_timer('kule_kontrol_et_1_1')
- server_timer("kule_kontrol_et_1_2",15)
- end
- end
- when kule_kontrol_et_1_2.server_timer begin
- if pc.kule_kontrol(66) == 0 then
- if game.get_event_flag("kule_1") == 1 then
- notice_all("CH1: Şeytan Kulesinde Kimse Kalmadığından Girişleri Açıldı.")
- game.set_event_flag("kule_1",0)
- clear_server_timer('kule_kontrol_et_1_1')
- clear_server_timer('kule_kontrol_et_1_2')
- clear_server_timer('kule_bosalt_1')
- end
- else
- clear_server_timer('kule_kontrol_et_1_2')
- server_timer("kule_kontrol_et_1_1",15)
- end
- end
- when kule_kontrol_et_2_1.server_timer begin
- if pc.kule_kontrol(66) == 0 then
- if game.get_event_flag("kule_2") == 1 then
- notice_all("CH2: Şeytan Kulesinde Kimse Kalmadığından Girişleri Açıldı.")
- game.set_event_flag("kule_2",0)
- clear_server_timer('kule_kontrol_et_2_1')
- clear_server_timer('kule_kontrol_et_2_2')
- clear_server_timer('kule_bosalt_2')
- end
- else
- clear_server_timer('kule_kontrol_et_2_1')
- server_timer("kule_kontrol_et_2_2",15)
- end
- end
- when kule_kontrol_et_2_2.server_timer begin
- if pc.kule_kontrol(66) == 0 then
- if game.get_event_flag("kule_2") == 1 then
- notice_all("CH2: Şeytan Kulesinde Kimse Kalmadığından Girişleri Açıldı.")
- game.set_event_flag("kule_2",0)
- clear_server_timer('kule_kontrol_et_2_1')
- clear_server_timer('kule_kontrol_et_2_2')
- clear_server_timer('kule_bosalt_2')
- end
- else
- clear_server_timer('kule_kontrol_et_2_2')
- server_timer("kule_kontrol_et_2_1",15)
- end
- end
- when kule_kontrol_et_3_1.server_timer begin
- if pc.kule_kontrol(66) == 0 then
- if game.get_event_flag("kule_3") == 1 then
- notice_all("CH3: Şeytan Kulesinde Kimse Kalmadığından Girişleri Açıldı.")
- game.set_event_flag("kule_3",0)
- clear_server_timer('kule_kontrol_et_3_1')
- clear_server_timer('kule_kontrol_et_3_2')
- clear_server_timer('kule_bosalt_3')
- end
- else
- clear_server_timer('kule_kontrol_et_3_1')
- server_timer("kule_kontrol_et_3_2",15)
- end
- end
- when kule_kontrol_et_3_2.server_timer begin
- if pc.kule_kontrol(66) == 0 then
- if game.get_event_flag("kule_3") == 1 then
- notice_all("CH3: Şeytan Kulesinde Kimse Kalmadığından Girişleri Açıldı.")
- game.set_event_flag("kule_3",0)
- clear_server_timer('kule_kontrol_et_3_1')
- clear_server_timer('kule_kontrol_et_3_2')
- clear_server_timer('kule_bosalt_3')
- end
- else
- clear_server_timer('kule_kontrol_et_3_2')
- server_timer("kule_kontrol_et_3_1",15)
- end
- end
- when kule_kontrol_et_4_1.server_timer begin
- if pc.kule_kontrol(66) == 0 then
- if game.get_event_flag("kule_4") == 1 then
- notice_all("CH4: Şeytan Kulesinde Kimse Kalmadığından Girişleri Açıldı.")
- game.set_event_flag("kule_4",0)
- clear_server_timer('kule_kontrol_et_4_1')
- clear_server_timer('kule_kontrol_et_4_2')
- clear_server_timer('kule_bosalt_4')
- end
- else
- clear_server_timer('kule_kontrol_et_4_1')
- server_timer("kule_kontrol_et_4_2",15)
- end
- end
- when kule_kontrol_et_4_2.server_timer begin
- if pc.kule_kontrol(66) == 0 then
- if game.get_event_flag("kule_4") == 1 then
- notice_all("CH4: Şeytan Kulesinde Kimse Kalmadığından Girişleri Açıldı.")
- game.set_event_flag("kule_4",0)
- clear_server_timer('kule_kontrol_et_4_1')
- clear_server_timer('kule_kontrol_et_4_2')
- clear_server_timer('kule_bosalt_4')
- end
- else
- clear_server_timer('kule_kontrol_et_4_2')
- server_timer("kule_kontrol_et_4_1",15)
- end
- end
- when kule_kontrol_et_5_1.server_timer begin
- if pc.kule_kontrol(66) == 0 then
- if game.get_event_flag("kule_5") == 1 then
- notice_all("CH5: Şeytan Kulesinde Kimse Kalmadığından Girişleri Açıldı.")
- game.set_event_flag("kule_5",0)
- clear_server_timer('kule_kontrol_et_5_1')
- clear_server_timer('kule_kontrol_et_5_2')
- clear_server_timer('kule_bosalt_5')
- end
- else
- clear_server_timer('kule_kontrol_et_5_1')
- server_timer("kule_kontrol_et_5_2",15)
- end
- end
- when kule_kontrol_et_5_2.server_timer begin
- if pc.kule_kontrol(66) == 0 then
- if game.get_event_flag("kule_5") == 1 then
- notice_all("CH5: Şeytan Kulesinde Kimse Kalmadığından Girişleri Açıldı.")
- game.set_event_flag("kule_4",0)
- clear_server_timer('kule_kontrol_et_5_1')
- clear_server_timer('kule_kontrol_et_5_2')
- clear_server_timer('kule_bosalt_5')
- end
- else
- clear_server_timer('kule_kontrol_et_5_2')
- server_timer("kule_kontrol_et_5_1",15)
- end
- end
- when kule_kontrol_et_6_1.server_timer begin
- if pc.kule_kontrol(66) == 0 then
- if game.get_event_flag("kule_6") == 1 then
- notice_all("CH6: Şeytan Kulesinde Kimse Kalmadığından Girişleri Açıldı.")
- game.set_event_flag("kule_6",0)
- clear_server_timer('kule_kontrol_et_6_1')
- clear_server_timer('kule_kontrol_et_6_2')
- clear_server_timer('kule_bosalt_6')
- end
- else
- clear_server_timer('kule_kontrol_et_6_1')
- server_timer("kule_kontrol_et_6_2",15)
- end
- end
- when kule_kontrol_et_6_2.server_timer begin
- if pc.kule_kontrol(66) == 0 then
- if game.get_event_flag("kule_6") == 1 then
- notice_all("CH6: Şeytan Kulesinde Kimse Kalmadığından Girişleri Açıldı.")
- game.set_event_flag("kule_6",0)
- clear_server_timer('kule_kontrol_et_6_1')
- clear_server_timer('kule_kontrol_et_6_2')
- clear_server_timer('kule_bosalt_6')
- end
- else
- clear_server_timer('kule_kontrol_et_6_2')
- server_timer("kule_kontrol_et_6_1",15)
- end
- end
- when kill with npc.get_race() == 8015 and pc.get_map_index() == 66 begin
- local ch = pc.get_channel_id()
- notice_all("CH"..ch..": Şeytan Kulesindeki Metin Taşı Kesildi! Girişler Açıldı.")
- game.set_event_flag("kule_"..ch,0)
- clear_server_timer("kule_kontrol_et_"..ch.."_1", get_server_timer_arg())
- clear_server_timer("kule_kontrol_et_"..ch.."_2", get_server_timer_arg())
- clear_server_timer("kule_bosalt_"..ch.."", get_server_timer_arg())
- timer("devil_stone1_1", 6)
- end
- when devil_stone1_1.timer begin
- d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
- d.regen_file("data/dungeon/deviltower2_regen.txt")
- d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt")
- end
- when kill with npc.get_race() == 1091 and pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
- d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_regen.txt")
- d.check_eliminated()
- end
- function get_4floor_stone_pos()
- local positions =
- {
- {368, 629}, {419, 630}, {428, 653}, {422, 679},
- {395, 689}, {369, 679}, {361, 658},
- }
- for i = 1, 6 do
- local j = number(i, 7)
- if i != j then
- local t = positions[i];
- positions[i] = positions[j];
- positions[j] = t;
- end
- end
- return positions
- end
- when kill with npc.get_race() == 8016 and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
- d.setf("level", 4)
- local positions = deviltower_zone.get_4floor_stone_pos()
- for i = 1, 6 do
- test_chat(positions[i][1], positions[i][2])
- d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2]))
- end
- test_chat(positions[7][1], positions[7][2])
- local vid = d.spawn_mob(8017, positions[7][1], positions[7][2])
- test_chat(vid)
- d.set_unique("real", vid)
- server_loop_timer('devil_stone4_update', 10, pc.get_map_index())
- server_timer('devil_stone4_fail1', 5*60, pc.get_map_index())
- notice_multiline(gameforge.deviltower_zone._50_dNotice,d.notice)
- end
- when devil_stone4_fail1.server_timer begin
- if d.select(get_server_timer_arg()) then
- notice_multiline(gameforge.deviltower_zone._60_dNotice,d.notice)
- server_timer('devil_stone4_fail2', 5*60, get_server_timer_arg())
- end
- end
- when devil_stone4_fail2.server_timer begin
- if d.select(get_server_timer_arg()) then
- notice_multiline(gameforge.deviltower_zone._70_dNotice,d.notice)
- server_timer('devil_stone4_fail', 5*60, get_server_timer_arg())
- end
- end
- when devil_stone4_fail.server_timer begin
- if d.select(get_server_timer_arg()) then
- notice_multiline(gameforge.deviltower_zone._80_dNotice,d.notice)
- d.clear_regen()
- d.exit_all()
- clear_server_timer('devil_stone4_update', get_server_timer_arg())
- end
- end
- when devil_stone4_update.server_timer begin
- if d.select(get_server_timer_arg()) then
- if not d.is_unique_dead("real") then
- for i = 1, 6 do
- if d.getf("fakedead" .. i) == 0 then
- if d.unique_get_hp_perc("fake" .. i) < 50 then
- d.purge_unique("fake" .. i)
- d.setf("fakedead" .. i, 1)
- notice_multiline(gameforge.deviltower_zone._90_dNotice,d.notice)
- end
- end
- end
- else
- server_timer("devil_stone4_end", 5, get_server_timer_arg())
- --d.kill_all()
- d.purge()
- notice_multiline(gameforge.deviltower_zone._100_dNotice,d.notice)
- clear_server_timer('devil_stone4_fail1', get_server_timer_arg())
- clear_server_timer('devil_stone4_fail2', get_server_timer_arg())
- clear_server_timer('devil_stone4_fail', get_server_timer_arg())
- end
- else
- server_timer('devil_stone4_stop_timer', 1, get_server_timer_arg())
- end
- end
- when devil_stone4_stop_timer.server_timer begin
- clear_server_timer('devil_stone4_update', get_server_timer_arg())
- end
- when devil_stone4_end.server_timer begin
- if d.select(get_server_timer_arg()) then
- clear_server_timer('devil_stone4_update', get_server_timer_arg())
- clear_server_timer('devil_stone4_fail1', get_server_timer_arg())
- clear_server_timer('devil_stone4_fail2', get_server_timer_arg())
- clear_server_timer('devil_stone4_fail', get_server_timer_arg())
- d.clear_regen()
- d.setf("level", 5)
- d.setf("stone_count", 5)
- notice_multiline(gameforge.deviltower_zone._110_dNotice,d.notice)
- d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
- server_timer('devil_stone5_fail1', 5*60, get_server_timer_arg())
- clear_server_timer('devil_stone4_update', get_server_timer_arg())
- d.set_regen_file("data/dungeon/deviltower5_regen.txt")
- d.spawn_mob(20073, 421, 452)
- d.spawn_mob(20073, 380, 460)
- d.spawn_mob(20073, 428, 414)
- d.spawn_mob(20073, 398, 392)
- d.spawn_mob(20073, 359, 426)
- end
- end
- when devil_stone5_fail1.server_timer begin
- if d.select(get_server_timer_arg()) then
- notice_multiline(gameforge.deviltower_zone._120_dNotice,d.notice)
- server_timer('devil_stone5_fail2', 5*60, get_server_timer_arg())
- end
- end
- when devil_stone5_fail2.server_timer begin
- if d.select(get_server_timer_arg()) then
- notice_multiline(gameforge.deviltower_zone._60_dNotice,d.notice)
- server_timer('devil_stone5_fail3', 5*60, get_server_timer_arg())
- end
- end
- when devil_stone5_fail3.server_timer begin
- if d.select(get_server_timer_arg()) then
- notice_multiline(gameforge.deviltower_zone._70_dNotice,d.notice)
- server_timer('devil_stone5_fail', 5*60, get_server_timer_arg())
- end
- end
- when devil_stone5_fail.server_timer begin
- if d.select(get_server_timer_arg()) then
- notice_multiline(gameforge.deviltower_zone._80_dNotice,d.notice)
- d.exit_all()
- end
- end
- when kill with npc.get_race() == 1062 and d.getf("level") == 5 begin
- local KILL_COUNT_FOR_DROP_KEY = 50
- local n =d.getf("count") + 1
- d.setf("count", n)
- if n == KILL_COUNT_FOR_DROP_KEY then
- game.drop_item(50084, 1)
- d.setf("count", 0)
- end
- end
- when devil_stone5.take with item.vnum == 50084 and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
- npc.purge()
- item.remove()
- d.setf("stone_count", d.getf("stone_count") - 1)
- if d.getf("stone_count") <= 0 then
- d.setf("level", 6)
- d.clear_regen()
- d.regen_file("data/dungeon/deviltower6_regen.txt")
- notice_multiline(gameforge.deviltower_zone._130_dNotice,d.notice)
- d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
- local server_arg = d.get_map_index()
- clear_server_timer('devil_stone5_fail1', server_arg)
- clear_server_timer('devil_stone5_fail2', server_arg)
- clear_server_timer('devil_stone5_fail3', server_arg)
- clear_server_timer('devil_stone5_fail', server_arg)
- else
- d.notice(string.format(gameforge.deviltower_zone._140_dNotice, d.getf("stone_count")))
- end
- end
- when kill with npc.get_race() == 1092 and pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("level") == 6 begin
- d.kill_all()
- notice_multiline(gameforge.deviltower_zone._150_dNotice,d.notice)
- d.check_eliminated()
- notice_multiline(gameforge.deviltower_zone._160_dNotice,d.notice)
- local reward_alchemist = {20074, 20075, 20076}
- d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
- d.setqf2("deviltower_zone","can_refine", 1)
- end
- when 20074.chat.gameforge.deviltower_zone._170_npcChat with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.lock() begin
- say_title(mob_name(20074))
- say(gameforge.deviltower_zone._190_say)
- wait()
- if pc.level >=75 then
- say_title(mob_name(20074))
- say(gameforge.deviltower_zone._200_say)
- local s= select(gameforge.deviltower_zone._210_select, gameforge.locale.cancel, gameforge.deviltower_zone._220_select)
- if s==3 then
- pc.warp(590500, 110900)
- return
- end
- if s==2 then
- return
- end
- timer("devil_jump_7", 6)
- npc.unlock()
- d.purge()
- return
- end
- say_title(mob_name(20074))
- say(gameforge.deviltower_zone._230_say)
- wait()
- pc.warp(590500, 110500)
- return
- end
- when 20075.chat.gameforge.deviltower_zone._170_npcChat with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.lock() begin
- say_title(mob_name(20075))
- say(gameforge.deviltower_zone._190_say)
- wait()
- if pc.level >=75 then
- say_title(mob_name(20075))
- say(gameforge.deviltower_zone._200_say)
- local s= select(gameforge.deviltower_zone._210_select, gameforge.deviltower_zone._220_select)
- if s==3 then
- pc.warp(590500, 110900)
- return
- end
- if s==2 then
- return
- end
- timer("devil_jump_7", 6)
- npc.unlock()
- d.purge()
- return
- end
- say_title(mob_name(20075))
- say(gameforge.deviltower_zone._230_say)
- wait()
- pc.warp(590500, 110500)
- return
- end
- when 20076.chat.gameforge.deviltower_zone._170_npcChat with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.lock() begin
- say_title(mob_name(20076))
- say(gameforge.deviltower_zone._190_say)
- wait()
- if pc.level >=75 then
- say_title(mob_name(20076))
- say(gameforge.deviltower_zone._200_say)
- local s= select(gameforge.deviltower_zone._210_select, gameforge.deviltower_zone._220_select)
- if s==3 then
- pc.warp(590500, 110900)
- return
- end
- if s==2 then
- return
- end
- timer("devil_jump_7", 6)
- npc.unlock()
- d.purge()
- return
- end
- say_title(mob_name(20076))
- say(gameforge.deviltower_zone._230_say)
- wait()
- pc.warp(590500, 110500)
- return
- end
- when devil_jump_7.timer begin
- d.clear_regen()
- d.spawn_mob(8018, 639, 658)
- d.spawn_mob(8018, 611, 637)
- d.spawn_mob(8018, 596, 674)
- d.spawn_mob(8018, 629, 670)
- d.setf("level", 7)
- notice_multiline(gameforge.deviltower_zone._240_dNotice,d.notice)
- d.jump_all(2048+590, 6656+638)
- end
- when kill with npc.get_race() == 8018 and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
- local cont = d.getf("7_stone_kill") + 1
- d.setf("7_stone_kill", cont)
- if cont >= 4 then
- d.setf("7_stone_kill", 0)
- d.set_regen_file("data/dungeon/deviltower7_regen.txt")
- end
- end
- when kill with npc.get_race() == 8019 and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
- game.drop_item(30300, 1)
- end
- when 30300.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
- pc.remove_item("30300", 1)
- local pct = number(1,10)
- if pct == 1 then
- game.drop_item(30302, 1)
- d.clear_regen()
- else
- game.drop_item(30301, 1)
- end
- end
- when 30302.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
- if d.getf( "level" ) != 7 then
- pc.remove_item( "30302", 1)
- return
- end
- if d.getf("bug_devam") == 1 then
- say_reward("Bu işlem daha önce yapıldı!")
- return
- end
- d.setf ("bug_devam",1)
- say_title(gameforge.blacksmith._40_sayTitle)
- say(gameforge.deviltower_zone._250_say)
- pc.remove_item("30302", 1)
- timer("devil_jump_8", 6)
- d.clear_regen()
- end
- when devil_jump_8.timer begin
- d.setf("level", 8)
- notice_multiline(gameforge.deviltower_zone._260_dNotice,d.notice)
- d.jump_all(2048+590, 6656+403)
- d.set_regen_file("data/dungeon/deviltower8_regen.txt")
- d.spawn_mob(20366, 640, 460)
- local _count = pc.count_item(30302)
- pc.remove_item(30302,_count)
- end
- when kill with npc.get_race() == 1040 and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
- local pct1 = number(1, 5)
- if pct1 == 1 then
- local pct2 = number(1, 10)
- if pct2 == 1 then
- game.drop_item(30304, 1)
- else
- game.drop_item(30303, 1)
- end
- else
- return
- end
- end
- when 20366.take with item.vnum == 30304 begin
- npc.purge()
- item.remove()
- timer("devil_jump_9", 6)
- end
- when devil_jump_9.timer begin
- d.setf("level", 9)
- notice_multiline(gameforge.deviltower_zone._270_dNotice,d.notice)
- d.jump_all(2048+590, 6656+155)
- d.regen_file("data/dungeon/deviltower9_regen.txt")
- end
- when kill with npc.get_race() == 1093 and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
- d.kill_all()
- d.setqf2("deviltower_zone","9_done", 1)
- notice_multiline(gameforge.deviltower_zone._280_dNotice,d.notice)
- notice_multiline(gameforge.deviltower_zone._290_dNotice,d.notice)
- server_timer("devil_end_jump", 60, d.get_map_index())
- end
- when devil_end_jump.server_timer begin
- if d.select (get_server_timer_arg()) then
- d.clear_regen()
- d.exit_all()
- end
- end
- end
- end