- Katılım
- 17 Tem 2018
- Konular
- 99
- Mesajlar
- 374
- Çözüm
- 31
- Online süresi
- 2mo 25d
- Reaksiyon Skoru
- 115
- Altın Konu
- 1
- TM Yaşı
- 7 Yıl 10 Ay 23 Gün
- Başarım Puanı
- 134
- MmoLira
- 1,042
- DevLira
- 18
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
Merhaba, bilişimden files aldım ve zindanlar tek katlı değildi tek kat zindan yapmak istedim forumdaki questi indirdim quest çalıştı zindan direkt bossa atıyor ama bossu kesince geri sayım yapmıyor.
[CODE title="Bu eski quest (zindan bilgide kalan süresi gözüken)"]quest flame_dungeon begin
state start begin
when 20394.click with pc.get_level() >= 90 begin
--pc.give_item2(71175, 1)
set_state(run)
end
when login with flame_dungeon.is_flamed(pc.get_map_index()) begin
--pc.give_item2(71175, 1)
set_state(run)
flame_dungeon.entry_setting()
end
when flame_dungeon_45m_left_timer.server_timer begin
if d.select(get_server_timer_arg()) then
notice_multiline(string.format("Kalan zaman: %d dakika", 45),d.notice)
notice_multiline("Süre bitince kale'nin dışına atılacaksınız.",d.notice)
server_timer('flame_dungeon_30m_left_timer', 15*60, get_server_timer_arg())
end
end
when flame_dungeon_30m_left_timer.server_timer begin
if d.select(get_server_timer_arg()) then
notice_multiline(string.format("Kalan zaman: %d dakika", 30),d.notice)
notice_multiline("Süre bitince kale'nin dışına atılacaksınız.",d.notice)
server_timer('flame_dungeon_15m_left_timer', 15*60, get_server_timer_arg())
end
end
when flame_dungeon_15m_left_timer.server_timer begin
if d.select(get_server_timer_arg()) then
notice_multiline(string.format("Kalan zaman: %d dakika", 15),d.notice)
notice_multiline("Süre bitince kale'nin dışına atılacaksınız.",d.notice)
server_timer('flame_dungeon_5m_left_timer', 10*60, get_server_timer_arg())
end
end
when flame_dungeon_5m_left_timer.server_timer begin
if d.select(get_server_timer_arg()) then
notice_multiline(string.format("Kalan zaman: %d dakika", 5),d.notice)
notice_multiline("Süre bitince kale'nin dışına atılacaksınız.",d.notice)
server_timer('flame_dungeon_1m_left_timer', 4*60, get_server_timer_arg())
end
end
when flame_dungeon_1m_left_timer.server_timer begin
if d.select(get_server_timer_arg()) then
notice_multiline(string.format("Kalan zaman: %d dakika(lar)", 1),d.notice)
notice_multiline("Süre bitince kale'nin dışına atılacaksınız.",d.notice)
server_timer ("flame_dungeon_0m_left_timer", 60, get_server_timer_arg())
end
end
when flame_dungeon_0m_left_timer.server_timer begin
local setting = flame_dungeon.setting()
if d.select(get_server_timer_arg()) then
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)
notice_multiline("10 Saniye içinde herkes ışınlanacak.",d.notice)
server_timer("dungeon_end_timer",10,d.get_map_index())
end
end
when dungeon_end_timer.server_timer begin -- ?? ??? (??? ????)
local setting = flame_dungeon.setting()
if d.select(get_server_timer_arg()) then
flame_dungeon.clear_timer(d.get_map_index())
d.set_warp_location(62, setting.outside_entry_pos[1] , setting.outside_entry_pos[2])
d.exit_all()
end
end
when killed_A_1.server_timer begin -- ??? ???1 (level1,level3)
if d.select(get_server_timer_arg()) then
if d.count_monster() <= 0 then -- 1?? ??? ???
if d.getf("level") == 11 then
notice_multiline("Bütün şeytanları yendiniz,",d.notice)
notice_multiline("Yeni görev için Am-heh ile görüşün...",d.notice)
else
notice_multiline("Bütün şeytanları yendiniz,",d.notice)
notice_multiline("Yeni görev için Am-heh ile görüşün...",d.notice)
end
d.setf("level",0)
else
server_timer ("killed_A_2", 6, get_server_timer_arg())
end
end
end
when killed_A_2.server_timer begin -- ??? ???2 (1? 2 ?????? ???)
if d.select(get_server_timer_arg()) then
if d.count_monster() <= 0 then -- 1?? ??? ???
if d.getf("level") == 11 then
notice_multiline("Bütün şeytanları yendiniz,",d.notice)
notice_multiline("Yeni görev için Am-heh ile görüşün...",d.notice)
else
notice_multiline("Bütün şeytanları yendiniz,",d.notice)
notice_multiline("Yeni görev için Am-heh ile görüşün...",d.notice)
end
d.setf("level",0)
else
server_timer ("killed_A_1", 6, get_server_timer_arg())
end
end
end
end
state run begin
function setting()
return
{
["bossroom_entry_pos"] = {8109,6867},
["boss_pos"] = {686,637},
["doors_pos"] = {
{320,394},
{293,359},
{333,321},
{378,320},
{400,355},
{394,401}
},
["idoors_pos"] = {
{268,447},
{234,359},
{300,264},
{454,217},
{470,355},
{467,469}
},
["doors_dir"] = {135,90,210,152,90,223},
["idoors_dir"] = {135,90,210,135,90,239},
["dungeon_entry_pos"] = {7762, 6739},-- ??? ?? ???? ?
["20385_bpos"] = {690,722},
["20385_pos"] = {354,362},
["LEVEL2_STONE_pos"] = {195,352},
["LEVEL4_TARGET_pos"] = {470,175},
["LEVEL5_STONE_pos"] = {
{486, 345},
{511, 336},
{525, 349},
{521, 365},
{503, 372},
{486, 365},
{500, 354}
},
["LEVEL6_TARGET_pos"] = {511,480},
["outside_entry_pos"] = {6142,7068}, --??????? ??? ?
["YAK_pos"] = {376, 397} -- ?? ??
}
end
function is_flamed(idx) -- ???? ??? ??
return (idx >= 351 * 10000 and idx < (351 + 1) *10000) or idx==351
end
function make_dungeon() -- ?? ???
local setting = flame_dungeon.setting()
d.new_jump(351, setting.dungeon_entry_pos[1] * 100, setting.dungeon_entry_pos[2] * 100)
d.regen_file("data/dungeon/flame_dungeon/npc.txt")
d.setf("level",0)
for i=1,6 do
d.set_unique("door"..i, d.spawn_mob_ac_dir(20387, setting.doors_pos[1], setting.doors_pos[2],setting.doors_dir))
d.set_unique("idoor"..i, d.spawn_mob_ac_dir(20388, setting.idoors_pos[1], setting.idoors_pos[2],setting.idoors_dir))
end
d.setf("clear_count",0)
d.setf("started",0)
pc.setf("flame_dungeon","dungeon_enter",0) -- ????? ?????? // ??? : 0 ?? : 1 // ??? ??????? ?? ??
end
function go_boss() -- ??? ??
local setting = flame_dungeon.setting()
if pc.get_level() < 90 then --????
say("Sizin seviyeniz devam etmek için yeterli değil.[ENTER]90.Seviyeye ulaştığınız zaman tekrar gelin.")
return
else
say("Kaderinle karşılaşmak için hazır mısın?")
local warp = select("Devam Et","Daha Sonra")
if warp == 1 then
d.setf("level",17)
d.jump_all(setting.bossroom_entry_pos[1],setting.bossroom_entry_pos[2])
d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_fild_boss.txt")
d.spawn_mob(6091,setting.boss_pos[1],setting.boss_pos[2])
end
end
end
function level_clear()
d.setf("level",0)
d.clear_regen()
d.purge_area(750000,620000,817400,689400)
end
function clear_timer(inx)
clear_server_timer ("flame_dungeon_0m_left_timer", inx)
clear_server_timer ("flame_dungeon_1m_left_timer", inx)
clear_server_timer ("flame_dungeon_5m_left_timer", inx)
clear_server_timer ("flame_dungeon_10m_left_timer", inx)
clear_server_timer ("flame_dungeon_15m_left_timer", inx)
clear_server_timer ("flame_dungeon_30m_left_timer", inx)
clear_server_timer ("flame_dungeon_45m_left_timer", inx)
clear_server_timer ("killed_A_1", inx)
clear_server_timer ("killed_A_2", inx)
end
function map_index_compare()
if flame_dungeon.is_flamed(pc.getf("flame_dungeon","dungeon_index")) then
return (pc.getf("flame_dungeon","dungeon_index") == pc.getf("flame_dungeon","dungeon_index"))
end
end
function entry_setting()
local idx = pc.get_map_index()
local setting = flame_dungeon.setting()
if idx == 351 then
pc.warp(setting.outside_entry_pos[1]*100, setting.outside_entry_pos[2] * 100, 62)
elseif flame_dungeon.is_flamed(idx) then
if not flame_dungeon.map_index_compare() and pc.getf("flame_dungeon","dungeon_enter") == 1 then
pc.setf("flame_dungeon","dungeon_index", d.get_map_index())
end
------------------------------------------------------------------------------------------------------------------------------------------------------
--??? ??? ???? ???? ???? ?????? ?? ?? ??? ????. ???? ??? ?? ???? ???? ?? ?? ??? ??? ??.
--???? ???? ?? ?? ?? ??? ??? ??, ???? ??? ??? ????? ?? ??? ????? ???? ??? ??? ??? ??.
------------------------------------------------------------------------------------------------------------------------------------------------------
-- pc.set_warp_location(62, setting.outside_entry_pos[1] , setting.outside_entry_pos[2]) -- ?? ??? ? ??? ????
elseif not d.find(pc.getf("flame_dungeon","dungeon_index"))then
pc.setf("flame_dungeon","dungeon_index",0)
end
end
when login begin --
flame_dungeon.entry_setting()
local idx = pc.get_map_index()
if flame_dungeon.is_flamed(idx) and flame_dungeon.map_index_compare() then
d.setqf2("flame_dungeon","exit_time",get_global_time() + 60*60*1)
end
if flame_dungeon.is_flamed(idx) then
d.setqf2("flame_dungeon","exit_time",get_global_time() + 60*60*1)
end
end
when logout begin
local idx = pc.get_map_index()
if flame_dungeon.is_flamed(idx) and flame_dungeon.map_index_compare() then
d.setqf2("flame_dungeon","exit_time",get_global_time() + 60*60*1)
end
if flame_dungeon.is_flamed(idx) then
------------ Dungeon Turn Back System ----------------------
pc.setf("flame_dungeon","dungeon_turn",1)
------------------------------------------------------------
d.setqf2("flame_dungeon","exit_time",get_global_time() + 60*60*1)
end
end
when 20394.chat."Razadör Kulesi (Bireysel)" begin
addimage(35,35,'razador.tga')
if game.get_event_flag("enable_flame_dungeon") == 1 then
say_title_center(mob_name(20394))
say_center("")
say_center("")
say_center("")
say_center("")
say_center("")
say_center("Harita şuanda bakım modunda.")
say_center("")
return
end
if party.is_leader() or party.is_party() then
say("")
say("")
say("")
say("")
say("")
say_reward_center("Bu zindana grup halinde giremezsin")
say_reward_center("lütfen önce bulundugun grupdan ayril !")
return
end
--sys_log(0,"flame_dungeon quest open")
local setting = flame_dungeon.setting()
if (game.get_event_flag("enable_time_flame") == 1 and pc.getf("flame_dungeon","exit_time") >= get_global_time()) then
addimage(35,35,'razador.tga')
say("")
say("")
say("")
say("")
say("")
say_center("Beta Server; süreyi sıfırlamak mı istiyorsun?")
say_center("Kalan süre: "..dungeon_get_duration(pc.getf("flame_dungeon","exit_time") - get_global_time()).."")
if select("Evet","Hayır") == 1 then
pc.setf("flame_dungeon","exit_time",0)
return
end
end
if pc.getf("flame_dungeon","exit_time") >= get_global_time() then
say_title_center(mob_name(20394))
addimage(35,35,'razador.tga')
say("")
say("")
say("")
say("")
say("")
say_center("Soguma sureniz henuz dolmadi!")
say_center("Kalan süre: "..dungeon_get_duration(pc.getf("flame_dungeon","exit_time") - get_global_time()).."")
return
end
if pc.level < 90 then
say_title_center(mob_name(20394))
addimage(35,35,'razador.tga')
say("")
say("")
say("")
say("")
say("")
say_center("Zindana giris icin seviyeniz yetersiz!")
return
end
if pc.count_item(71175) < 1 then
say_title_center(mob_name(20394))
addimage(35,35,'razador.tga')
say("")
say("")
say("")
say("")
say("")
say_center("Envanterinde yeterli miktarda yok:")
say_center(string.format("%s.", item_name(71175)))
say("")
return
end
say_title_center(mob_name(20394))
addimage(35,35,'razador.tga')
say("")
say("")
say("")
say("")
say("")
say_center("Kırmızı Ejderha Kulesi'ne girmek için emin misin?")
local warp = select("Evet.","Belki daha sonra...")
if warp == 1 then
-- ------------ Dungeon Turn Back System ----------------------
-- pc.remove_turn_back_dungeon()
-- ------------------------------------------------------------
pc.remove_item(71175, 1)
flame_dungeon.make_dungeon()
end
pc.setf("flame_dungeon","flame_dungeon_boss_kill_count", 0)
end
when 20394.chat."TEST : Init time limit init" with is_test_server() begin -- ????
pc.setf("flame_dungeon","exit_time",get_global_time()-1800)
say("Done")
end
when 20385.chat."Test : Boss Room" with is_test_server() begin -- ????
flame_dungeon.go_boss()
end
when 20385.chat."Am-heh Uyanış " with npc.lock() begin
local setting = flame_dungeon.setting()
if d.getf("started") == 0 then
char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', 'STARTED')
say("Am-heh Uyandı!")
say("Kızıl Ejderha Kale'si bir saat boyunca[ENTER]başkalarına kapatıldı.")
wait()
d.setf("started",1)
-- ???? ?????? ??? ??? exit timer? ???? ???? ????? ????? ????? ?
server_timer ("flame_dungeon_45m_left_timer",15*60, d.get_map_index())
notice_multiline("Kalan zaman: 60 Dakika(lar) ",d.notice)
notice_multiline("Süre dolduğunda disariya gönderileceksiniz.",d.notice)
pc.setf("flame_dungeon","dungeon_enter",1)
end
if d.getf("level") == 0 then --??? ??????
if d.getf("clear_count") == 6 then -- ? ??? ??? ???
d.setf("level",7)
else
local rand = number(1,6)--???? ????? ?? ???? ?? ?? ?????? ???
local setlev = 0
d.setf("level",7) -- ?? ?? ??? ?? ??? ?????? ??? ????? ????
for i=1,50 do
setlev = setlev + 1
if setlev > 6 then
setlev = 1
end
if not d.is_unique_dead("door"..setlev) then
rand = rand - 1
if rand == 0 then
d.setf("level",setlev)
d.setf("clear_count",d.getf("clear_count")+1)
break
end
end
end
end
end
if d.getf("level") == 1 then
say("Şeytanlar kilitli kapının arkasında[ENTER]gidin ve onları mağlup edin.")
notice_multiline("Savaşçılar ve Ejderha kral arasındaki ayaklanma birazdan başlayacak.",d.notice)
d.kill_unique("door1")
d.kill_unique("idoor1")
d.setf("level",11)
d.regen_file ("data/dungeon/flame_dungeon/".."fd_a.txt")
server_timer ("killed_A_1", 12, d.get_map_index())
elseif d.getf("level") == 11 then
say("Bütün şeytanlar yenilmedi.")
say_title("Kalan: " .. d.count_monster())
elseif d.getf("level") == 2 then
char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', 'LEVEL 2 started')
say("Altın Dişli Çarkı bul ve mührü aç.")
notice_multiline("Altın Dişli Çarkı ele geçirmek için yaratıkları öldür ve mührü aç.",d.notice)
d.spawn_mob(20386, setting.LEVEL2_STONE_pos[1], setting.LEVEL2_STONE_pos[2]) -- ??? ??
d.kill_unique("door2")
d.kill_unique("idoor2")
d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_b.txt")
d.setf("level",12)
elseif d.getf("level") == 12 then
say("Altın dişli çark ile mührü açmadan ilerleyemezsin.")
elseif d.getf("level") == 3 then
char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', 'LEVEL 3 started')
say("Tüm yaratıkları öldürün.[ENTER]Kaderinizi belirleyin.")
notice_multiline("Tüm yaratıkları öldürün ve kaderinizi belirleyin.",d.notice)
d.kill_unique("door3")
d.kill_unique("idoor3")
d.setf("level",13)
d.regen_file ("data/dungeon/flame_dungeon/".."fd_c.txt")
server_timer ("killed_A_1", 12, d.get_map_index())
elseif d.getf("level") == 13 then
say("Yaratıkların hepsi ölmedi.")
say_title("Kalan: "..d.count_monster())
elseif d.getf("level") == 4 then -- 474 178
char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', 'LEVEL 4 started')
say("Devam edebilmek için, Ignator'u yok edin.")
d.notice("Gidin ve Ignatoru mağlup edin.")
d.setf("level",14)
d.kill_unique("door4")
d.kill_unique("idoor4")
d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_d.txt")
d.spawn_mob(6051,setting.LEVEL4_TARGET_pos[1],setting.LEVEL4_TARGET_pos[2] ) -- ????? ??
elseif d.getf("level") == 14 then
say("Ignator hala Yaşıyor.[ENTER]Kendinizi güclendirin ve tekrar deneyin.[ENTER]Ebedi lanetten temizlenin.")
elseif d.getf("level") == 5 then -- 510 355
char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', 'LEVEL 5 started')
say("Maat Taş'larını bulunuz ve tek tek açın.")
notice_multiline("Maat Taşlarını bulunuz ve[ENTER]7 Maat Taşını sırasıyla ve doğru şekilde açınız.",d.notice)
d.kill_unique("door5")
d.kill_unique("idoor5")
d.setf("level",15)
d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
local vis = { 0,0,0,0,0,0,0}
for i=1,7 do
vis = 0
end
for i = 1, 7 do -- ???? ???
local ran = number(1,7)
local st = 0
for j = 1, 50 do
st = st + 1
if st > 7 then
st = 1
end
if vis[st] == 0 then
ran = ran - 1
if ran == 0 then
vis[st] = 1
d.set_unique("stone5_"..st, d.spawn_mob(20386, setting.LEVEL5_STONE_pos[1], setting.LEVEL5_STONE_pos[2]))
break
end
end
end
end
elseif d.getf("level") == 15 then
say("Ey Savaşcı! Gizemi Bulmak için [ENTER]doğru Secim yapın ve[ENTER]görev yerine gelin.")
elseif d.getf("level") == 6 then -- 507 490
say("Sıcak ve korku dolu [ENTER]Cehennem Ateşi Metin Taşı'nı bulun ve yok edin.")
notice_multiline("Sıcak ve korku dolu [ENTER]Cehennem Ateşi Metin taşını bulun ve yok edin.",d.notice)
d.setf("level",16)
d.kill_unique("door6")
d.kill_unique("idoor6")
d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_f.txt")
d.spawn_mob(8057, setting.LEVEL6_TARGET_pos[1],setting.LEVEL6_TARGET_pos[2]) -- ?????? ??
elseif d.getf("level") == 16 then
char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', 'LEVEL 6 started')
say("Cehennem Ateşi Metini Henuz yok edilmedi.[ENTER]Görev Tamamlanınca Tekrar Gel.")
elseif d.getf("level") == 7 then
flame_dungeon.go_boss()
else
say("Geçersiz Parametre Yöneticiye Bildirin!")
end
npc.unlock()
end
when kill with flame_dungeon.is_flamed(pc.get_map_index()) and d.getf("level") == 12 begin
local i = number(1, 20)
if i == 1 then
game.drop_item (30329, 1)
end
end
when 20386.take with flame_dungeon.is_flamed(pc.get_map_index()) and item.vnum == 30329 and d.getf("level") == 12 begin
local i = number(1, 3)
if i == 1 then
npc.purge()
item.remove()
notice_multiline("Maat mekanızmasını açıldı,",d.notice)
notice_multiline("Am-heh ile görüşün...",d.notice)
flame_dungeon.level_clear()
else
item.remove()
say("Bu parça yanlış yok oldu.[ENTER]Doğru Altın Dişli Çarkı bul.")
end
end
when 6051.kill with flame_dungeon.is_flamed(pc.get_map_index()) and d.getf("level") == 14 begin
notice_multiline("Tebrikler!.. Ignator yok edildi.",d.notice)
notice_multiline("Am-heh ile görüşün...",d.notice)
flame_dungeon.level_clear()
end
when kill with flame_dungeon.is_flamed(pc.get_map_index()) and d.getf("level") == 15 begin
local i = number(1, 6) -- 30?? 1 ??? ????
if i == 1 then
game.drop_item (30330, 1)
end
end
when 20386.take with flame_dungeon.is_flamed(d.get_map_index()) and item.vnum == 30330 and d.getf("level") == 15 begin
local setting = flame_dungeon.setting()
if npc.get_vid() == d.get_unique_vid("stone5_1") then -- ??? ?? ????? ? ?? ????? ???? ????
npc.purge()
item.remove()
say("Bu akıllıca bir seçim oldu.[ENTER]Şimdi diğerlerinide yok et.")
d.setf("stonekill",2) -- 2? ?? ???
if d.count_monster() < 100 then
d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
end
elseif npc.get_vid() == d.get_unique_vid("stone5_2") then
if d.getf("stonekill") == 2 then -- 2??? ?? ??? 2???? ??? ??? ?
npc.purge()
item.remove()
say("Bu akıllıca bir seçim oldu.[ENTER]Şimdi diğerlerinide yok et.")
d.setf("stonekill",3)
if d.count_monster() < 100 then
d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
end
else
item.remove()
say("Yanlış seçim. Maat Taşı yok oldu.")
if is_test_server() then
say("2")
end
end
elseif npc.get_vid() == d.get_unique_vid("stone5_3") then
if d.getf("stonekill") == 3 then
npc.purge()
item.remove()
say("Bu akıllıca bir seçim oldu.[ENTER]Şimdi diğer mühürleri yok et.")
d.setf("stonekill",4)
if d.count_monster() < 100 then
d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
end
else
item.remove()
say("Yanlış seçim. Maat Taşı Yok Oldu.")
if is_test_server() then
say("3")
end
end
elseif npc.get_vid() == d.get_unique_vid("stone5_4") then
if d.getf("stonekill") == 4 then
npc.purge()
item.remove()
say("Bu akıllıca bir seçim oldu.[ENTER]Şimdi diğer mühürleri yok et.")
d.setf("stonekill",5)
if d.count_monster() < 100 then
d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
end
else
item.remove()
say("Yanlış seçim. Maat Taşı Yok Oldu.")
if is_test_server() then
say("4")
end
end
elseif npc.get_vid() == d.get_unique_vid("stone5_5") then
if d.getf("stonekill") == 5 then
npc.purge()
item.remove()
say("Bu akıllıca bir seçim oldu.[ENTER]Şimdi diğer mühürleri yok et.")
d.setf("stonekill",6)
if d.count_monster() < 100 then
d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
end
else
item.remove()
say("Yanlış seçim. Maat Taşı Yok Oldu.")
if is_test_server() then
say("5")
end
end
elseif npc.get_vid() == d.get_unique_vid("stone5_6") then
if d.getf("stonekill") == 6 then
npc.purge()
item.remove()
say("Bu akıllıca bir seçim oldu.[ENTER]Şimdi son mührü yok et.")
d.setf("stonekill",7)
if d.count_monster() < 100 then
d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
end
else
item.remove()
say("Yanlış seçim. Maat Taşı Yok Oldu.")
if is_test_server() then
say("6")
end
end
else
if d.getf("stonekill") == 7 then
npc.purge()
item.remove()
notice_multiline("Maat taşları yok edildi!",d.notice)
notice_multiline("Am-heh ile görüşün...",d.notice)
flame_dungeon.level_clear()
--d.kill_all_mob()
d.kill_all()
else
item.remove()
say("Yanlış seçim. Maat Taşı Yok Oldu.")
if is_test_server() then
say("7")
end
end
end
end
when 8057.kill with flame_dungeon.is_flamed(d.get_map_index()) and d.getf("level") ==16 begin
char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', '8057 KILLED')
notice_multiline("Araf Metini Yok Edildi.",d.notice)
notice_multiline("Yeni görev için Am-heh ile görüşün...",d.notice)
--d.kill_all()
flame_dungeon.level_clear()
d.kill_all()
end
when 6091.kill with flame_dungeon.is_flamed(d.get_map_index()) and d.getf("level") ==17 begin
char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', 'BOSS KILLED')
notice_all("Razador "..pc.get_name().." tarafından yok edildi.")
notice_multiline("Ejderha Tapınağı içindeki Tüm Savaşcılar [ENTER]Bir dakika içerisinde ışınlanacaktır.",d.notice)
d.notice("Razadör yok edildi.")
d.notice("Bütün savaşçılar 60 saniye içerisinde Ejderha")
d.notice("Tapınağı'ndan dışarı ışınlanacak.")
server_timer("dungeon_end_timer", 60,d.get_map_index())
flame_dungeon.level_clear()
d.setf("level",8)
end
end
end
[/CODE]
[CODE title="Bu yeni eklediğim tek kat zindan razadör (geri sayım yapmayan)"]quest flame_dungeon begin
state start begin
function setting()
return
{
["base"]={["x"] = 3072 , ["y"]= 12032 ,},
["floor1_s"] = { ["x"] = 20, ["y"] = 20, },
["floor1_e"] = { ["x"] = 500, ["y"] = 470,},
["floor2_s"] = { ["x"] = 510, ["y"] = 18, },
["floor2_e"] = { ["x"] = 978, ["y"] = 470,},
["floor1_entry"] = {["x"] = 73, ["y"] = 63,},
["floor2_entry"] = {["x"] = 550, ["y"] = 45,},
["floor3_entry"] = {["x"] = 1378, ["y"] = 249,},
["floor4_entry"] = {["x"] = 70, ["y"] = 592,},
["floor5_entry"] = {["x"] = 846, ["y"] = 898},
["floor6_entry"] = {["x"] = 1362, ["y"] = 666},
["water_entry"] = {["x"] = 73, ["y"] = 1156},
["map_idx"] = 215,
["rag"] = 30311,
["devil_king"] = 2591,
["reapers_credit1"] = 31324,
["reapers_credit2"] = 30320,
["reapers_credit3"] = 76002,
["reapers_credit4"] = 79001,
["floor3_stone"] = 8038,
["floor3_stone_pos"] = {
{1366, 150},
{1366, 351},
{1234, 365},
{1234, 140},
{1150, 135},
{1130, 365},
{1135, 253}
},
["mob_regen_file_path"] = "data/dungeon/devilwater/",
["floor4_regen_file"] = {"devilwater_floor4_regen1.txt",
"devilwater_floor4_regen2.txt",
"devilwater_floor4_regen3.txt",
"devilwater_floor4_regen4.txt",
"devilwater_floor4_regen5.txt"} ,
["credit_stone"] = 30101,
["credit_stone_pos"] = {307,323},
["floor2_stone"] = 30103,
["floor2_stone_pos"] = {741,217},
["floor2_merchant_npc"] = 20368,
["floor2_merchant_npc_pos"] = {734,214},
["floor4_npc"] = 30104,
["floor4_npc_pos"] = {75, 592},
["devil_king_pos"] = {{673,829},{691,638},{848,568},{1026,642},{1008,862}},
["unlock_stone"] = 30312,
["floor5_stone"] = 30102,
["floor5_stone_pos"] = {848, 735},
["devil_great_king"] = 2597 ,
["devil_great_king_pos"] = {1303,704},
["devil_emperor"] = 3964,
["devil_emperor_pos"] = {74,1103},
["dc2_door_set_size"] = {4,2,3,2},
["dc2_door_set1"] = {
{{30111, 566, 117, 5},{30112, 562, 311, 5,},{30118, 663, 434, 7},{30119, 881, 434, 7}},
{{30116, 743, 390, 3},{30119, 612, 251, 1,}},
{{30113, 654, 211, 5},{30111, 707, 338, 7,},{30112, 775, 336, 7}},
{{30117, 733, 294, 3},{30113, 694, 271, 1,}}
},
["dc2_door_set2"] = {
{{30115, 942, 141, 5},{30116, 942, 245, 5},{30117, 942, 321, 5},{30115, 763, 64, 7}},
{{30118, 643, 116, 3},{30114, 900, 167, 1}},
{{30114, 850, 293, 5},{30113, 715, 164, 7},{30114, 817, 162, 7}},
{{30111, 802, 277, 1},{30112, 800, 241, 1}}
},
}
end
when logout begin
local idx = 351
local map = pc.get_map_index()
if map >= (idx * 10000) and map < (idx * 10000 + 9000) then
pc.setf("razo","dungeon_time",get_global_time() + 60*60*1)
end
end
when 20394.chat."Kırmızı Ejderha Kalesi(90.Seviye)" begin
local setting = flame_dungeon.setting()
if pc.get_level() < 90 then
say_title("Bekci:")
say("")
say("90. seviyenin altinda oldugun icin ")
say("zindana giremezsin...")
return
end
if pc.count_item(71175) < 1 then
say_item_vnum(71175)
say("Gerekli esya olmadan giris yapamazsin.")
return
end
if party.is_party() then
say("Grubun varken giris yapamazsin.")
return
end
if pc.getf("razo","dungeon_time") > get_time() and not pc.is_gm() then
say_npc()
say("")
say("Henüz odaya giremezsin.")
say("Bekleme süren dolunca tekrar gel.")
say("")
say_reward("Kalan Süre : "..LIB_duration(pc.getf("razo","dungeon_time")-get_time()))
return
end
say_title("Bekci:")
say("")
say("zindana girmek istiyor musun?")
local s = select("Evet!","Hayir,girmek istemiyorum.")
if s == 1 then
pc.remove_item(71175,1)
timer("razo_sologiris",2)
else
return
end
end
when razo_sologiris.timer begin
d.new_jump(351, 8109 * 100, 6867 * 100)
d.spawn_mob_dir(6091,682,636,1)
--d.set_regen_file("data/dungeon/water_dungeon_regens/boss.txt")
--d.jump_all (setting.water_entry.x + setting.base.x, setting.water_entry.y + setting.base.y )
--water.Temizle()
server_timer("razo_timeup",60*30*1,d.get_map_index())
end
-- 6Ãş°ú ¸¶Âù°¡Áö·Î »ç¸¶ÈÖ(3964)ÀÌ Á×À¸¸é
-- 7ÃşÀÇ Å¸À̸Ӱ¡ ÀÛµ¿ÇÑ´Ù.
when kill with npc.get_race() == 6091 begin
d.setf("razo_dead",1)
--notice_all(pc.get_name().."'s party has defeated Lord Gahnasel!")
notice_all("|cff00ff00 Patron Avcısı "..pc.get_name().." grubu, Razödor'u Mağlup etti!")
server_timer ("razo_eli_check_timer_1", 3, d.get_map_index())
end
-- 7ÃşÀÇ Å¸À̸Ӵ 6Ãş ŸÀÌ¸Ó¿Í ºñ½ÁÇϸç,
-- ¸ó½ºÅÍ ¼ıÀÚ°¡ 0À̸é exit ŸÀ̸Ӹ¦ ¹ß»ı½ÃŲ´Ù.
-- ¹Ù·Î exitÇÏÁö ¾Ê´Â ÀÌÀ¯´Â, À¯Àúµé¿¡°Ô ÁغñÇÒ ½Ã°£À» ÁÖ±â À§ÇؼÀÌ´Ù.
when razo_eli_check_timer_1.server_timer begin
if d.select(get_server_timer_arg()) then
d.set_warp_location (62, 5990, 7070)
--say_in_map(get_server_timer_arg(),"Azrail yenildi. ?ytan Katakombu'na nihayet[ENTER]huzur hakim. ?mdi yer y??e ış?lanacaks?. ")
server_timer ("razo_eli_check_timer_2", 3, get_server_timer_arg())
end
end
when razo_eli_check_timer_2.server_timer begin
if d.select(get_server_timer_arg()) then
d.set_warp_location (62, 5990, 7070)
--say_in_map(get_server_timer_arg(),"Azrail yenildi. ?ytan Katakombu'na nihayet[ENTER]huzur hakim. ?mdi yer y??e ış?lanacaks?. ")
server_timer("razo_exit_timer", 62, get_server_timer_arg())
else
server_timer ("razo_eli_check_timer_1", 3, get_server_timer_arg())
end
end
when razo_timeup.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Zaman doldu.")
d.setf("sure_doldu",1)
d.exit_all()
end
end
when razo_exit_timer.server_timer begin
if d.select(get_server_timer_arg()) then
clear_server_timer("razo_eli_check_timer_1", get_server_timer_arg())
clear_server_timer("razo_eli_check_timer_2", get_server_timer_arg())
clear_server_timer("razo_sologiris", get_server_timer_arg())
d.clear_regen()
d.exit_all()
end
end
end --state
end --quest
[/CODE]
Nasıl çözebilirim arkadaşın bile questflag falan demiş anlamadım.
[CODE title="Bu eski quest (zindan bilgide kalan süresi gözüken)"]quest flame_dungeon begin
state start begin
when 20394.click with pc.get_level() >= 90 begin
--pc.give_item2(71175, 1)
set_state(run)
end
when login with flame_dungeon.is_flamed(pc.get_map_index()) begin
--pc.give_item2(71175, 1)
set_state(run)
flame_dungeon.entry_setting()
end
when flame_dungeon_45m_left_timer.server_timer begin
if d.select(get_server_timer_arg()) then
notice_multiline(string.format("Kalan zaman: %d dakika", 45),d.notice)
notice_multiline("Süre bitince kale'nin dışına atılacaksınız.",d.notice)
server_timer('flame_dungeon_30m_left_timer', 15*60, get_server_timer_arg())
end
end
when flame_dungeon_30m_left_timer.server_timer begin
if d.select(get_server_timer_arg()) then
notice_multiline(string.format("Kalan zaman: %d dakika", 30),d.notice)
notice_multiline("Süre bitince kale'nin dışına atılacaksınız.",d.notice)
server_timer('flame_dungeon_15m_left_timer', 15*60, get_server_timer_arg())
end
end
when flame_dungeon_15m_left_timer.server_timer begin
if d.select(get_server_timer_arg()) then
notice_multiline(string.format("Kalan zaman: %d dakika", 15),d.notice)
notice_multiline("Süre bitince kale'nin dışına atılacaksınız.",d.notice)
server_timer('flame_dungeon_5m_left_timer', 10*60, get_server_timer_arg())
end
end
when flame_dungeon_5m_left_timer.server_timer begin
if d.select(get_server_timer_arg()) then
notice_multiline(string.format("Kalan zaman: %d dakika", 5),d.notice)
notice_multiline("Süre bitince kale'nin dışına atılacaksınız.",d.notice)
server_timer('flame_dungeon_1m_left_timer', 4*60, get_server_timer_arg())
end
end
when flame_dungeon_1m_left_timer.server_timer begin
if d.select(get_server_timer_arg()) then
notice_multiline(string.format("Kalan zaman: %d dakika(lar)", 1),d.notice)
notice_multiline("Süre bitince kale'nin dışına atılacaksınız.",d.notice)
server_timer ("flame_dungeon_0m_left_timer", 60, get_server_timer_arg())
end
end
when flame_dungeon_0m_left_timer.server_timer begin
local setting = flame_dungeon.setting()
if d.select(get_server_timer_arg()) then
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)
notice_multiline("10 Saniye içinde herkes ışınlanacak.",d.notice)
server_timer("dungeon_end_timer",10,d.get_map_index())
end
end
when dungeon_end_timer.server_timer begin -- ?? ??? (??? ????)
local setting = flame_dungeon.setting()
if d.select(get_server_timer_arg()) then
flame_dungeon.clear_timer(d.get_map_index())
d.set_warp_location(62, setting.outside_entry_pos[1] , setting.outside_entry_pos[2])
d.exit_all()
end
end
when killed_A_1.server_timer begin -- ??? ???1 (level1,level3)
if d.select(get_server_timer_arg()) then
if d.count_monster() <= 0 then -- 1?? ??? ???
if d.getf("level") == 11 then
notice_multiline("Bütün şeytanları yendiniz,",d.notice)
notice_multiline("Yeni görev için Am-heh ile görüşün...",d.notice)
else
notice_multiline("Bütün şeytanları yendiniz,",d.notice)
notice_multiline("Yeni görev için Am-heh ile görüşün...",d.notice)
end
d.setf("level",0)
else
server_timer ("killed_A_2", 6, get_server_timer_arg())
end
end
end
when killed_A_2.server_timer begin -- ??? ???2 (1? 2 ?????? ???)
if d.select(get_server_timer_arg()) then
if d.count_monster() <= 0 then -- 1?? ??? ???
if d.getf("level") == 11 then
notice_multiline("Bütün şeytanları yendiniz,",d.notice)
notice_multiline("Yeni görev için Am-heh ile görüşün...",d.notice)
else
notice_multiline("Bütün şeytanları yendiniz,",d.notice)
notice_multiline("Yeni görev için Am-heh ile görüşün...",d.notice)
end
d.setf("level",0)
else
server_timer ("killed_A_1", 6, get_server_timer_arg())
end
end
end
end
state run begin
function setting()
return
{
["bossroom_entry_pos"] = {8109,6867},
["boss_pos"] = {686,637},
["doors_pos"] = {
{320,394},
{293,359},
{333,321},
{378,320},
{400,355},
{394,401}
},
["idoors_pos"] = {
{268,447},
{234,359},
{300,264},
{454,217},
{470,355},
{467,469}
},
["doors_dir"] = {135,90,210,152,90,223},
["idoors_dir"] = {135,90,210,135,90,239},
["dungeon_entry_pos"] = {7762, 6739},-- ??? ?? ???? ?
["20385_bpos"] = {690,722},
["20385_pos"] = {354,362},
["LEVEL2_STONE_pos"] = {195,352},
["LEVEL4_TARGET_pos"] = {470,175},
["LEVEL5_STONE_pos"] = {
{486, 345},
{511, 336},
{525, 349},
{521, 365},
{503, 372},
{486, 365},
{500, 354}
},
["LEVEL6_TARGET_pos"] = {511,480},
["outside_entry_pos"] = {6142,7068}, --??????? ??? ?
["YAK_pos"] = {376, 397} -- ?? ??
}
end
function is_flamed(idx) -- ???? ??? ??
return (idx >= 351 * 10000 and idx < (351 + 1) *10000) or idx==351
end
function make_dungeon() -- ?? ???
local setting = flame_dungeon.setting()
d.new_jump(351, setting.dungeon_entry_pos[1] * 100, setting.dungeon_entry_pos[2] * 100)
d.regen_file("data/dungeon/flame_dungeon/npc.txt")
d.setf("level",0)
for i=1,6 do
d.set_unique("door"..i, d.spawn_mob_ac_dir(20387, setting.doors_pos[1], setting.doors_pos[2],setting.doors_dir))
d.set_unique("idoor"..i, d.spawn_mob_ac_dir(20388, setting.idoors_pos[1], setting.idoors_pos[2],setting.idoors_dir))
end
d.setf("clear_count",0)
d.setf("started",0)
pc.setf("flame_dungeon","dungeon_enter",0) -- ????? ?????? // ??? : 0 ?? : 1 // ??? ??????? ?? ??
end
function go_boss() -- ??? ??
local setting = flame_dungeon.setting()
if pc.get_level() < 90 then --????
say("Sizin seviyeniz devam etmek için yeterli değil.[ENTER]90.Seviyeye ulaştığınız zaman tekrar gelin.")
return
else
say("Kaderinle karşılaşmak için hazır mısın?")
local warp = select("Devam Et","Daha Sonra")
if warp == 1 then
d.setf("level",17)
d.jump_all(setting.bossroom_entry_pos[1],setting.bossroom_entry_pos[2])
d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_fild_boss.txt")
d.spawn_mob(6091,setting.boss_pos[1],setting.boss_pos[2])
end
end
end
function level_clear()
d.setf("level",0)
d.clear_regen()
d.purge_area(750000,620000,817400,689400)
end
function clear_timer(inx)
clear_server_timer ("flame_dungeon_0m_left_timer", inx)
clear_server_timer ("flame_dungeon_1m_left_timer", inx)
clear_server_timer ("flame_dungeon_5m_left_timer", inx)
clear_server_timer ("flame_dungeon_10m_left_timer", inx)
clear_server_timer ("flame_dungeon_15m_left_timer", inx)
clear_server_timer ("flame_dungeon_30m_left_timer", inx)
clear_server_timer ("flame_dungeon_45m_left_timer", inx)
clear_server_timer ("killed_A_1", inx)
clear_server_timer ("killed_A_2", inx)
end
function map_index_compare()
if flame_dungeon.is_flamed(pc.getf("flame_dungeon","dungeon_index")) then
return (pc.getf("flame_dungeon","dungeon_index") == pc.getf("flame_dungeon","dungeon_index"))
end
end
function entry_setting()
local idx = pc.get_map_index()
local setting = flame_dungeon.setting()
if idx == 351 then
pc.warp(setting.outside_entry_pos[1]*100, setting.outside_entry_pos[2] * 100, 62)
elseif flame_dungeon.is_flamed(idx) then
if not flame_dungeon.map_index_compare() and pc.getf("flame_dungeon","dungeon_enter") == 1 then
pc.setf("flame_dungeon","dungeon_index", d.get_map_index())
end
------------------------------------------------------------------------------------------------------------------------------------------------------
--??? ??? ???? ???? ???? ?????? ?? ?? ??? ????. ???? ??? ?? ???? ???? ?? ?? ??? ??? ??.
--???? ???? ?? ?? ?? ??? ??? ??, ???? ??? ??? ????? ?? ??? ????? ???? ??? ??? ??? ??.
------------------------------------------------------------------------------------------------------------------------------------------------------
-- pc.set_warp_location(62, setting.outside_entry_pos[1] , setting.outside_entry_pos[2]) -- ?? ??? ? ??? ????
elseif not d.find(pc.getf("flame_dungeon","dungeon_index"))then
pc.setf("flame_dungeon","dungeon_index",0)
end
end
when login begin --
flame_dungeon.entry_setting()
local idx = pc.get_map_index()
if flame_dungeon.is_flamed(idx) and flame_dungeon.map_index_compare() then
d.setqf2("flame_dungeon","exit_time",get_global_time() + 60*60*1)
end
if flame_dungeon.is_flamed(idx) then
d.setqf2("flame_dungeon","exit_time",get_global_time() + 60*60*1)
end
end
when logout begin
local idx = pc.get_map_index()
if flame_dungeon.is_flamed(idx) and flame_dungeon.map_index_compare() then
d.setqf2("flame_dungeon","exit_time",get_global_time() + 60*60*1)
end
if flame_dungeon.is_flamed(idx) then
------------ Dungeon Turn Back System ----------------------
pc.setf("flame_dungeon","dungeon_turn",1)
------------------------------------------------------------
d.setqf2("flame_dungeon","exit_time",get_global_time() + 60*60*1)
end
end
when 20394.chat."Razadör Kulesi (Bireysel)" begin
addimage(35,35,'razador.tga')
if game.get_event_flag("enable_flame_dungeon") == 1 then
say_title_center(mob_name(20394))
say_center("")
say_center("")
say_center("")
say_center("")
say_center("")
say_center("Harita şuanda bakım modunda.")
say_center("")
return
end
if party.is_leader() or party.is_party() then
say("")
say("")
say("")
say("")
say("")
say_reward_center("Bu zindana grup halinde giremezsin")
say_reward_center("lütfen önce bulundugun grupdan ayril !")
return
end
--sys_log(0,"flame_dungeon quest open")
local setting = flame_dungeon.setting()
if (game.get_event_flag("enable_time_flame") == 1 and pc.getf("flame_dungeon","exit_time") >= get_global_time()) then
addimage(35,35,'razador.tga')
say("")
say("")
say("")
say("")
say("")
say_center("Beta Server; süreyi sıfırlamak mı istiyorsun?")
say_center("Kalan süre: "..dungeon_get_duration(pc.getf("flame_dungeon","exit_time") - get_global_time()).."")
if select("Evet","Hayır") == 1 then
pc.setf("flame_dungeon","exit_time",0)
return
end
end
if pc.getf("flame_dungeon","exit_time") >= get_global_time() then
say_title_center(mob_name(20394))
addimage(35,35,'razador.tga')
say("")
say("")
say("")
say("")
say("")
say_center("Soguma sureniz henuz dolmadi!")
say_center("Kalan süre: "..dungeon_get_duration(pc.getf("flame_dungeon","exit_time") - get_global_time()).."")
return
end
if pc.level < 90 then
say_title_center(mob_name(20394))
addimage(35,35,'razador.tga')
say("")
say("")
say("")
say("")
say("")
say_center("Zindana giris icin seviyeniz yetersiz!")
return
end
if pc.count_item(71175) < 1 then
say_title_center(mob_name(20394))
addimage(35,35,'razador.tga')
say("")
say("")
say("")
say("")
say("")
say_center("Envanterinde yeterli miktarda yok:")
say_center(string.format("%s.", item_name(71175)))
say("")
return
end
say_title_center(mob_name(20394))
addimage(35,35,'razador.tga')
say("")
say("")
say("")
say("")
say("")
say_center("Kırmızı Ejderha Kulesi'ne girmek için emin misin?")
local warp = select("Evet.","Belki daha sonra...")
if warp == 1 then
-- ------------ Dungeon Turn Back System ----------------------
-- pc.remove_turn_back_dungeon()
-- ------------------------------------------------------------
pc.remove_item(71175, 1)
flame_dungeon.make_dungeon()
end
pc.setf("flame_dungeon","flame_dungeon_boss_kill_count", 0)
end
when 20394.chat."TEST : Init time limit init" with is_test_server() begin -- ????
pc.setf("flame_dungeon","exit_time",get_global_time()-1800)
say("Done")
end
when 20385.chat."Test : Boss Room" with is_test_server() begin -- ????
flame_dungeon.go_boss()
end
when 20385.chat."Am-heh Uyanış " with npc.lock() begin
local setting = flame_dungeon.setting()
if d.getf("started") == 0 then
char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', 'STARTED')
say("Am-heh Uyandı!")
say("Kızıl Ejderha Kale'si bir saat boyunca[ENTER]başkalarına kapatıldı.")
wait()
d.setf("started",1)
-- ???? ?????? ??? ??? exit timer? ???? ???? ????? ????? ????? ?
server_timer ("flame_dungeon_45m_left_timer",15*60, d.get_map_index())
notice_multiline("Kalan zaman: 60 Dakika(lar) ",d.notice)
notice_multiline("Süre dolduğunda disariya gönderileceksiniz.",d.notice)
pc.setf("flame_dungeon","dungeon_enter",1)
end
if d.getf("level") == 0 then --??? ??????
if d.getf("clear_count") == 6 then -- ? ??? ??? ???
d.setf("level",7)
else
local rand = number(1,6)--???? ????? ?? ???? ?? ?? ?????? ???
local setlev = 0
d.setf("level",7) -- ?? ?? ??? ?? ??? ?????? ??? ????? ????
for i=1,50 do
setlev = setlev + 1
if setlev > 6 then
setlev = 1
end
if not d.is_unique_dead("door"..setlev) then
rand = rand - 1
if rand == 0 then
d.setf("level",setlev)
d.setf("clear_count",d.getf("clear_count")+1)
break
end
end
end
end
end
if d.getf("level") == 1 then
say("Şeytanlar kilitli kapının arkasında[ENTER]gidin ve onları mağlup edin.")
notice_multiline("Savaşçılar ve Ejderha kral arasındaki ayaklanma birazdan başlayacak.",d.notice)
d.kill_unique("door1")
d.kill_unique("idoor1")
d.setf("level",11)
d.regen_file ("data/dungeon/flame_dungeon/".."fd_a.txt")
server_timer ("killed_A_1", 12, d.get_map_index())
elseif d.getf("level") == 11 then
say("Bütün şeytanlar yenilmedi.")
say_title("Kalan: " .. d.count_monster())
elseif d.getf("level") == 2 then
char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', 'LEVEL 2 started')
say("Altın Dişli Çarkı bul ve mührü aç.")
notice_multiline("Altın Dişli Çarkı ele geçirmek için yaratıkları öldür ve mührü aç.",d.notice)
d.spawn_mob(20386, setting.LEVEL2_STONE_pos[1], setting.LEVEL2_STONE_pos[2]) -- ??? ??
d.kill_unique("door2")
d.kill_unique("idoor2")
d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_b.txt")
d.setf("level",12)
elseif d.getf("level") == 12 then
say("Altın dişli çark ile mührü açmadan ilerleyemezsin.")
elseif d.getf("level") == 3 then
char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', 'LEVEL 3 started')
say("Tüm yaratıkları öldürün.[ENTER]Kaderinizi belirleyin.")
notice_multiline("Tüm yaratıkları öldürün ve kaderinizi belirleyin.",d.notice)
d.kill_unique("door3")
d.kill_unique("idoor3")
d.setf("level",13)
d.regen_file ("data/dungeon/flame_dungeon/".."fd_c.txt")
server_timer ("killed_A_1", 12, d.get_map_index())
elseif d.getf("level") == 13 then
say("Yaratıkların hepsi ölmedi.")
say_title("Kalan: "..d.count_monster())
elseif d.getf("level") == 4 then -- 474 178
char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', 'LEVEL 4 started')
say("Devam edebilmek için, Ignator'u yok edin.")
d.notice("Gidin ve Ignatoru mağlup edin.")
d.setf("level",14)
d.kill_unique("door4")
d.kill_unique("idoor4")
d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_d.txt")
d.spawn_mob(6051,setting.LEVEL4_TARGET_pos[1],setting.LEVEL4_TARGET_pos[2] ) -- ????? ??
elseif d.getf("level") == 14 then
say("Ignator hala Yaşıyor.[ENTER]Kendinizi güclendirin ve tekrar deneyin.[ENTER]Ebedi lanetten temizlenin.")
elseif d.getf("level") == 5 then -- 510 355
char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', 'LEVEL 5 started')
say("Maat Taş'larını bulunuz ve tek tek açın.")
notice_multiline("Maat Taşlarını bulunuz ve[ENTER]7 Maat Taşını sırasıyla ve doğru şekilde açınız.",d.notice)
d.kill_unique("door5")
d.kill_unique("idoor5")
d.setf("level",15)
d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
local vis = { 0,0,0,0,0,0,0}
for i=1,7 do
vis = 0
end
for i = 1, 7 do -- ???? ???
local ran = number(1,7)
local st = 0
for j = 1, 50 do
st = st + 1
if st > 7 then
st = 1
end
if vis[st] == 0 then
ran = ran - 1
if ran == 0 then
vis[st] = 1
d.set_unique("stone5_"..st, d.spawn_mob(20386, setting.LEVEL5_STONE_pos[1], setting.LEVEL5_STONE_pos[2]))
break
end
end
end
end
elseif d.getf("level") == 15 then
say("Ey Savaşcı! Gizemi Bulmak için [ENTER]doğru Secim yapın ve[ENTER]görev yerine gelin.")
elseif d.getf("level") == 6 then -- 507 490
say("Sıcak ve korku dolu [ENTER]Cehennem Ateşi Metin Taşı'nı bulun ve yok edin.")
notice_multiline("Sıcak ve korku dolu [ENTER]Cehennem Ateşi Metin taşını bulun ve yok edin.",d.notice)
d.setf("level",16)
d.kill_unique("door6")
d.kill_unique("idoor6")
d.set_regen_file ("data/dungeon/flame_dungeon/".."fd_f.txt")
d.spawn_mob(8057, setting.LEVEL6_TARGET_pos[1],setting.LEVEL6_TARGET_pos[2]) -- ?????? ??
elseif d.getf("level") == 16 then
char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', 'LEVEL 6 started')
say("Cehennem Ateşi Metini Henuz yok edilmedi.[ENTER]Görev Tamamlanınca Tekrar Gel.")
elseif d.getf("level") == 7 then
flame_dungeon.go_boss()
else
say("Geçersiz Parametre Yöneticiye Bildirin!")
end
npc.unlock()
end
when kill with flame_dungeon.is_flamed(pc.get_map_index()) and d.getf("level") == 12 begin
local i = number(1, 20)
if i == 1 then
game.drop_item (30329, 1)
end
end
when 20386.take with flame_dungeon.is_flamed(pc.get_map_index()) and item.vnum == 30329 and d.getf("level") == 12 begin
local i = number(1, 3)
if i == 1 then
npc.purge()
item.remove()
notice_multiline("Maat mekanızmasını açıldı,",d.notice)
notice_multiline("Am-heh ile görüşün...",d.notice)
flame_dungeon.level_clear()
else
item.remove()
say("Bu parça yanlış yok oldu.[ENTER]Doğru Altın Dişli Çarkı bul.")
end
end
when 6051.kill with flame_dungeon.is_flamed(pc.get_map_index()) and d.getf("level") == 14 begin
notice_multiline("Tebrikler!.. Ignator yok edildi.",d.notice)
notice_multiline("Am-heh ile görüşün...",d.notice)
flame_dungeon.level_clear()
end
when kill with flame_dungeon.is_flamed(pc.get_map_index()) and d.getf("level") == 15 begin
local i = number(1, 6) -- 30?? 1 ??? ????
if i == 1 then
game.drop_item (30330, 1)
end
end
when 20386.take with flame_dungeon.is_flamed(d.get_map_index()) and item.vnum == 30330 and d.getf("level") == 15 begin
local setting = flame_dungeon.setting()
if npc.get_vid() == d.get_unique_vid("stone5_1") then -- ??? ?? ????? ? ?? ????? ???? ????
npc.purge()
item.remove()
say("Bu akıllıca bir seçim oldu.[ENTER]Şimdi diğerlerinide yok et.")
d.setf("stonekill",2) -- 2? ?? ???
if d.count_monster() < 100 then
d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
end
elseif npc.get_vid() == d.get_unique_vid("stone5_2") then
if d.getf("stonekill") == 2 then -- 2??? ?? ??? 2???? ??? ??? ?
npc.purge()
item.remove()
say("Bu akıllıca bir seçim oldu.[ENTER]Şimdi diğerlerinide yok et.")
d.setf("stonekill",3)
if d.count_monster() < 100 then
d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
end
else
item.remove()
say("Yanlış seçim. Maat Taşı yok oldu.")
if is_test_server() then
say("2")
end
end
elseif npc.get_vid() == d.get_unique_vid("stone5_3") then
if d.getf("stonekill") == 3 then
npc.purge()
item.remove()
say("Bu akıllıca bir seçim oldu.[ENTER]Şimdi diğer mühürleri yok et.")
d.setf("stonekill",4)
if d.count_monster() < 100 then
d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
end
else
item.remove()
say("Yanlış seçim. Maat Taşı Yok Oldu.")
if is_test_server() then
say("3")
end
end
elseif npc.get_vid() == d.get_unique_vid("stone5_4") then
if d.getf("stonekill") == 4 then
npc.purge()
item.remove()
say("Bu akıllıca bir seçim oldu.[ENTER]Şimdi diğer mühürleri yok et.")
d.setf("stonekill",5)
if d.count_monster() < 100 then
d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
end
else
item.remove()
say("Yanlış seçim. Maat Taşı Yok Oldu.")
if is_test_server() then
say("4")
end
end
elseif npc.get_vid() == d.get_unique_vid("stone5_5") then
if d.getf("stonekill") == 5 then
npc.purge()
item.remove()
say("Bu akıllıca bir seçim oldu.[ENTER]Şimdi diğer mühürleri yok et.")
d.setf("stonekill",6)
if d.count_monster() < 100 then
d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
end
else
item.remove()
say("Yanlış seçim. Maat Taşı Yok Oldu.")
if is_test_server() then
say("5")
end
end
elseif npc.get_vid() == d.get_unique_vid("stone5_6") then
if d.getf("stonekill") == 6 then
npc.purge()
item.remove()
say("Bu akıllıca bir seçim oldu.[ENTER]Şimdi son mührü yok et.")
d.setf("stonekill",7)
if d.count_monster() < 100 then
d.regen_file ("data/dungeon/flame_dungeon/".."fd_e.txt")
end
else
item.remove()
say("Yanlış seçim. Maat Taşı Yok Oldu.")
if is_test_server() then
say("6")
end
end
else
if d.getf("stonekill") == 7 then
npc.purge()
item.remove()
notice_multiline("Maat taşları yok edildi!",d.notice)
notice_multiline("Am-heh ile görüşün...",d.notice)
flame_dungeon.level_clear()
--d.kill_all_mob()
d.kill_all()
else
item.remove()
say("Yanlış seçim. Maat Taşı Yok Oldu.")
if is_test_server() then
say("7")
end
end
end
end
when 8057.kill with flame_dungeon.is_flamed(d.get_map_index()) and d.getf("level") ==16 begin
char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', '8057 KILLED')
notice_multiline("Araf Metini Yok Edildi.",d.notice)
notice_multiline("Yeni görev için Am-heh ile görüşün...",d.notice)
--d.kill_all()
flame_dungeon.level_clear()
d.kill_all()
end
when 6091.kill with flame_dungeon.is_flamed(d.get_map_index()) and d.getf("level") ==17 begin
char_log(pc.get_channel_id().. ''..d.get_map_index(), 'BP', 'BOSS KILLED')
notice_all("Razador "..pc.get_name().." tarafından yok edildi.")
notice_multiline("Ejderha Tapınağı içindeki Tüm Savaşcılar [ENTER]Bir dakika içerisinde ışınlanacaktır.",d.notice)
d.notice("Razadör yok edildi.")
d.notice("Bütün savaşçılar 60 saniye içerisinde Ejderha")
d.notice("Tapınağı'ndan dışarı ışınlanacak.")
server_timer("dungeon_end_timer", 60,d.get_map_index())
flame_dungeon.level_clear()
d.setf("level",8)
end
end
end
[/CODE]
[CODE title="Bu yeni eklediğim tek kat zindan razadör (geri sayım yapmayan)"]quest flame_dungeon begin
state start begin
function setting()
return
{
["base"]={["x"] = 3072 , ["y"]= 12032 ,},
["floor1_s"] = { ["x"] = 20, ["y"] = 20, },
["floor1_e"] = { ["x"] = 500, ["y"] = 470,},
["floor2_s"] = { ["x"] = 510, ["y"] = 18, },
["floor2_e"] = { ["x"] = 978, ["y"] = 470,},
["floor1_entry"] = {["x"] = 73, ["y"] = 63,},
["floor2_entry"] = {["x"] = 550, ["y"] = 45,},
["floor3_entry"] = {["x"] = 1378, ["y"] = 249,},
["floor4_entry"] = {["x"] = 70, ["y"] = 592,},
["floor5_entry"] = {["x"] = 846, ["y"] = 898},
["floor6_entry"] = {["x"] = 1362, ["y"] = 666},
["water_entry"] = {["x"] = 73, ["y"] = 1156},
["map_idx"] = 215,
["rag"] = 30311,
["devil_king"] = 2591,
["reapers_credit1"] = 31324,
["reapers_credit2"] = 30320,
["reapers_credit3"] = 76002,
["reapers_credit4"] = 79001,
["floor3_stone"] = 8038,
["floor3_stone_pos"] = {
{1366, 150},
{1366, 351},
{1234, 365},
{1234, 140},
{1150, 135},
{1130, 365},
{1135, 253}
},
["mob_regen_file_path"] = "data/dungeon/devilwater/",
["floor4_regen_file"] = {"devilwater_floor4_regen1.txt",
"devilwater_floor4_regen2.txt",
"devilwater_floor4_regen3.txt",
"devilwater_floor4_regen4.txt",
"devilwater_floor4_regen5.txt"} ,
["credit_stone"] = 30101,
["credit_stone_pos"] = {307,323},
["floor2_stone"] = 30103,
["floor2_stone_pos"] = {741,217},
["floor2_merchant_npc"] = 20368,
["floor2_merchant_npc_pos"] = {734,214},
["floor4_npc"] = 30104,
["floor4_npc_pos"] = {75, 592},
["devil_king_pos"] = {{673,829},{691,638},{848,568},{1026,642},{1008,862}},
["unlock_stone"] = 30312,
["floor5_stone"] = 30102,
["floor5_stone_pos"] = {848, 735},
["devil_great_king"] = 2597 ,
["devil_great_king_pos"] = {1303,704},
["devil_emperor"] = 3964,
["devil_emperor_pos"] = {74,1103},
["dc2_door_set_size"] = {4,2,3,2},
["dc2_door_set1"] = {
{{30111, 566, 117, 5},{30112, 562, 311, 5,},{30118, 663, 434, 7},{30119, 881, 434, 7}},
{{30116, 743, 390, 3},{30119, 612, 251, 1,}},
{{30113, 654, 211, 5},{30111, 707, 338, 7,},{30112, 775, 336, 7}},
{{30117, 733, 294, 3},{30113, 694, 271, 1,}}
},
["dc2_door_set2"] = {
{{30115, 942, 141, 5},{30116, 942, 245, 5},{30117, 942, 321, 5},{30115, 763, 64, 7}},
{{30118, 643, 116, 3},{30114, 900, 167, 1}},
{{30114, 850, 293, 5},{30113, 715, 164, 7},{30114, 817, 162, 7}},
{{30111, 802, 277, 1},{30112, 800, 241, 1}}
},
}
end
when logout begin
local idx = 351
local map = pc.get_map_index()
if map >= (idx * 10000) and map < (idx * 10000 + 9000) then
pc.setf("razo","dungeon_time",get_global_time() + 60*60*1)
end
end
when 20394.chat."Kırmızı Ejderha Kalesi(90.Seviye)" begin
local setting = flame_dungeon.setting()
if pc.get_level() < 90 then
say_title("Bekci:")
say("")
say("90. seviyenin altinda oldugun icin ")
say("zindana giremezsin...")
return
end
if pc.count_item(71175) < 1 then
say_item_vnum(71175)
say("Gerekli esya olmadan giris yapamazsin.")
return
end
if party.is_party() then
say("Grubun varken giris yapamazsin.")
return
end
if pc.getf("razo","dungeon_time") > get_time() and not pc.is_gm() then
say_npc()
say("")
say("Henüz odaya giremezsin.")
say("Bekleme süren dolunca tekrar gel.")
say("")
say_reward("Kalan Süre : "..LIB_duration(pc.getf("razo","dungeon_time")-get_time()))
return
end
say_title("Bekci:")
say("")
say("zindana girmek istiyor musun?")
local s = select("Evet!","Hayir,girmek istemiyorum.")
if s == 1 then
pc.remove_item(71175,1)
timer("razo_sologiris",2)
else
return
end
end
when razo_sologiris.timer begin
d.new_jump(351, 8109 * 100, 6867 * 100)
d.spawn_mob_dir(6091,682,636,1)
--d.set_regen_file("data/dungeon/water_dungeon_regens/boss.txt")
--d.jump_all (setting.water_entry.x + setting.base.x, setting.water_entry.y + setting.base.y )
--water.Temizle()
server_timer("razo_timeup",60*30*1,d.get_map_index())
end
-- 6Ãş°ú ¸¶Âù°¡Áö·Î »ç¸¶ÈÖ(3964)ÀÌ Á×À¸¸é
-- 7ÃşÀÇ Å¸À̸Ӱ¡ ÀÛµ¿ÇÑ´Ù.
when kill with npc.get_race() == 6091 begin
d.setf("razo_dead",1)
--notice_all(pc.get_name().."'s party has defeated Lord Gahnasel!")
notice_all("|cff00ff00 Patron Avcısı "..pc.get_name().." grubu, Razödor'u Mağlup etti!")
server_timer ("razo_eli_check_timer_1", 3, d.get_map_index())
end
-- 7ÃşÀÇ Å¸À̸Ӵ 6Ãş ŸÀÌ¸Ó¿Í ºñ½ÁÇϸç,
-- ¸ó½ºÅÍ ¼ıÀÚ°¡ 0À̸é exit ŸÀ̸Ӹ¦ ¹ß»ı½ÃŲ´Ù.
-- ¹Ù·Î exitÇÏÁö ¾Ê´Â ÀÌÀ¯´Â, À¯Àúµé¿¡°Ô ÁغñÇÒ ½Ã°£À» ÁÖ±â À§ÇؼÀÌ´Ù.
when razo_eli_check_timer_1.server_timer begin
if d.select(get_server_timer_arg()) then
d.set_warp_location (62, 5990, 7070)
--say_in_map(get_server_timer_arg(),"Azrail yenildi. ?ytan Katakombu'na nihayet[ENTER]huzur hakim. ?mdi yer y??e ış?lanacaks?. ")
server_timer ("razo_eli_check_timer_2", 3, get_server_timer_arg())
end
end
when razo_eli_check_timer_2.server_timer begin
if d.select(get_server_timer_arg()) then
d.set_warp_location (62, 5990, 7070)
--say_in_map(get_server_timer_arg(),"Azrail yenildi. ?ytan Katakombu'na nihayet[ENTER]huzur hakim. ?mdi yer y??e ış?lanacaks?. ")
server_timer("razo_exit_timer", 62, get_server_timer_arg())
else
server_timer ("razo_eli_check_timer_1", 3, get_server_timer_arg())
end
end
when razo_timeup.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Zaman doldu.")
d.setf("sure_doldu",1)
d.exit_all()
end
end
when razo_exit_timer.server_timer begin
if d.select(get_server_timer_arg()) then
clear_server_timer("razo_eli_check_timer_1", get_server_timer_arg())
clear_server_timer("razo_eli_check_timer_2", get_server_timer_arg())
clear_server_timer("razo_sologiris", get_server_timer_arg())
d.clear_regen()
d.exit_all()
end
end
end --state
end --quest
[/CODE]
Nasıl çözebilirim arkadaşın bile questflag falan demiş anlamadım.
Ekli dosyalar
Son düzenleme:

