Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!
şöyle bi sorunum var zindanların orjinal questlerini kaldırıp tek kat yapınca zindan takipte süreleri gözükmüyor anlayan varsa şimdiden teşekkürler.
ORJİNAL QUEST ;
quest spider_dungeon_3floor_boss begin
state start begin
when spider_end_timer.server_timer with game.get_event_flag("spider_dead"..get_channel_id()) == 0 begin --
warp_all_in_area_to_area(82700, 612700, 93700,625700, 68700, 610800, 68700, 610800)
game.set_event_flag("spider_lair_ongoing_"..get_channel_id(),0)
game.set_event_flag("spider_lair_leader_"..get_channel_id(), 0)
game.set_event_flag("spider_dead"..get_channel_id(),0)
game.set_event_flag("spider_key_dropped"..get_channel_id(), 0)
purge_area(82700, 612700, 93700,625700)
end
when spider_dead_timer.server_timer begin
warp_all_in_area_to_area(82700, 612700, 93700,625700, 68700, 610800, 68700, 610800)
game.set_event_flag("spider_lair_ongoing_"..get_channel_id(), 0)
game.set_event_flag("spider_lair_leader_"..get_channel_id(), 0)
game.set_event_flag("spider_dead"..get_channel_id(),0)
game.set_event_flag("spider_key_dropped"..get_channel_id(), 0)
purge_area(82700, 612700, 93700,625700)
end
when login or levelup or enter with pc.get_level() >= 50 begin
set_state( boss_ok )
end
when 30130.chat." Yuvaya giriþ " begin
say("Bu kapý sadece Archadia Anahtarý[ENTER]açýlýr.")
end
end
state boss_ok begin
when 20011.chat." Arachnida Anahtarý " begin
if pc.count_item(30025) > 0 and pc.count_item(30056) > 0 and pc.count_item(30057) > 0 and pc.count_item(30058) > 0 and pc.count_item(30059) > 0 and pc.count_item(30326) > 0 then
say_title(mob_name(20011))
say("Harika! Arachnida anahtarý üretmek için gerekli[ENTER]olan tüm malzemeler hazýr. Bir saniye bekle. Fazla[ENTER]uzun sürmeyecek...")
pc.remove_item(30025, 1)
pc.remove_item(30056, 1)
pc.remove_item(30057, 1)
pc.remove_item(30058, 1)
pc.remove_item(30059, 1)
pc.remove_item(30326, 1)
if math.random(1,2000) <= 1000 then
say("Ah, evet baþardým! Arachnida anahtarý ürettim. Bu[ENTER]Örümcek Barones'e inmenizi saðlayacak.Uzun[ENTER]bacaklý düþmanlarýnýza karþý sana ve silah[ENTER]arkadaþlarýna iyi þanslar dilerim! Ama acele edin[ENTER]anahtar çok kýrýlgan. 24 saat sonra parçalara[ENTER]ayrýlacaktýr.")
pc.give_item2(30324, 1)
else
say("Ah, hayýr... Korkarým ki bu sefer baþaramadým. Bu[ENTER]anahtarýn üretimi son derece karýþýk. En küçük hata[ENTER]pahalýya mal oluyor. Ne yazýk ki anahtar üretmek[ENTER]için topladýðýn tüm malzemeler boþa gitti. Ama[ENTER]eminim bir dahaki sefere baþaracaðýz!")
end
else
say_title(mob_name(20011))
say("Bir þey eksik, Arachnida Anahtarý'ný bu þekilde[ENTER]üretmem mümkün deðil. Lazým olanlarý bir kez daha[ENTER]hatýrlatayým: bir örümcek zehir kesesi, bir örümcek[ENTER]yumurta kesesi, bir örümcek aðý, örümcek gözleri[ENTER]örümcek bacaklarý ve kraliçe örümcek zehri.")
end
end
when 30130.chat." Yuvaya giriþ " begin
addimage(35,35,'barones.tga')
if game.get_event_flag("enable_barones_dungeon") == 1 then
say_title_center(mob_name(30130))
say_center("")
say_center("")
say_center("")
say_center("")
say_center("")
say_center("Harita þuanda bakým modunda.")
say_center("")
return
end
if (pc.get_channel_id() == 2 or pc.get_channel_id() == 3 or pc.get_channel_id() == 4 or pc.get_channel_id() == 5 or pc.get_channel_id() == 6) then
say_title_center("Baronesin ini:")
addimage(35,35,'barones.tga')
say("")
say("")
say("")
say("")
say("")
say_center("Sadece 1. kanaldan giriþ yapabilirsin.")
return
end
if game.get_event_flag("spider_lair_ongoing_"..get_channel_id()) == 1 then
local starttime = game.get_event_flag("spider_lair_start_time_"..get_channel_id())
local current_time = get_global_time()
if party.get_leader_pid() == game.get_event_flag("spider_lair_leader_"..get_channel_id()) then
if starttime + 300 >= current_time and party.get_leader_pid() == game.get_event_flag("spider_lair_leader_"..get_channel_id()) and game.get_event_flag("spider_lair_ongoing_"..get_channel_id()) == 1 then
say_title_center("Baronesin ini:")
addimage(35,35,'barones.tga')
say("")
say("")
say("")
say("")
say("")
say_center("Grup liderin yuvaya girdi. Sen de içeriye[ENTER]girip Barones ile savaþmak istiyor musun? ") -- Å×½ºÆ®¿ë
local warp = select(locale.confirm,locale.cancel)
if warp == 1 then
pc.setqf("firstIn",1)
pc.setqf("retry_limit_time", starttime + 1200 + 3600 )
set_state(inLair)
pc.warp(88100,614800)
return
end
else
say_title_center("Baronesin ini:")
addimage(35,35,'barones.tga')
say("")
say("")
say("")
say("")
say("")
say_center("Süre bitti. Anahtar parçalandý.[ENTER]Yeniden Anahtar üretmelisin. ") -- Å×½ºÆ®¿ë
return
end
else
local remain_time = (game.get_event_flag("spider_lair_end_time_"..get_channel_id() ) - get_global_time()) / 60
if remain_time < 0 then
say_title_center("Baronesin ini:")
addimage(35,35,'barones.tga')
say("")
say("")
say("")
say("")
say("")
say_center("Bu iþe yaramadý. Lütfen tekrar deneyin!")
game.set_event_flag("spider_lair_ongoing_"..get_channel_id(),0)
game.set_event_flag("spider_lair_leader_"..get_channel_id(), 0)
game.set_event_flag("spider_dead"..get_channel_id(),0)
return
end
say_title_center("Baronesin ini:")
addimage(35,35,'barones.tga')
say("")
say("")
say("")
say("")
say("")
say_center("Þu an baþka bir grup yuvada Barones ile[ENTER]savaþýyor. Onlarýn savaþý bitirmesini bekle. ")
say_center(string.format("Önceki grup içeriden çýktýktan sonra girebilirsin: Kalan zaman %s[ENTER]dakika. ", math.ceil(remain_time)))
return
end
elseif pc.getqf("retry_limit_time") > get_global_time() then
local access_limit = (pc.getqf("retry_limit_time") - get_global_time()) / 60
say_title_center("Baronesin ini:")
addimage(35,35,'barones.tga')
say("")
say("")
say("")
say("")
say("")
say_center("Son savaþýn üzerinden en az bir saat geçmeesi[ENTER]gerekiyor. Bu süree içesinde tekrar Barones'in[ENTER]yuvasýna giremezsin.Kalan zaman:")
-- here we should also change to string.format %s key
say_center(string.format("%s dakika ", math.ceil(access_limit)))
return
elseif party.is_leader() then
if false == pc.can_warp() then
say_title_center("Baronesin ini:")
addimage(35,35,'barones.tga')
say("")
say("")
say("")
say("")
say("")
say_center("Þu anda bu alana giremezsin.[ENTER]Lütfen biraz bekleyin.")
return
end
if pc.count_item(30324) > 0 then
say_title_center("Baronesin ini:")
addimage(35,35,'barones.tga')
say("")
say("")
say("")
say("")
say("")
say("Fetih mi baþlatmak istiyorsun? Bunu yapmaya 20[ENTER]dakika zamanýn var. Bu süre bitmeden önce hiç[ENTER]kimse Barones'in yuvasýný terk edemez. Yeni bir[ENTER]fetih bir saat sonra gerçekleþtirilebilir.")
local warp = select(locale.confirm,locale.cancel)
if warp == 1 then
set_state(inLair)
pc.remove_item(30324, 1)
mob.spawn(2094,369,551,0,0)
game.set_event_flag("spider_lair_ongoing_"..get_channel_id() , 1)
game.set_event_flag("spider_lair_start_time_"..get_channel_id() , get_global_time())
game.set_event_flag("spider_lair_end_time_"..get_channel_id() , get_global_time() + 1200)
game.set_event_flag("spider_lair_leader_"..get_channel_id() , party.get_leader_pid())
pc.setqf("retry_limit_time", get_global_time() + 1200 + 3600 )
pc.setqf("firstIn",1)
server_timer("spider_end_timer", 1200 )
pc.warp(88100,614800)
end
return
else
say_title_center("Baronesin ini:")
addimage(35,35,'barones.tga')
say("")
say("")
say("")
say("")
say("")
say("Bu kapýyý sadece Arachnida anahtarý açar.")
return
end
else
say_title_center("Baronesin ini:")
addimage(35,35,'barones.tga')
say("")
say("")
say("")
say("")
say("")
say("Bu kapýyý ancak bir grup lideri açabilir.")
return
end
end
end
state inLair begin
when 20011.chat." ÖZ3 Görev " with is_test_server() begin --Å×½ºÆ®¿ë
set_state(start)
say("Anahtar üretimi ")
end
when login begin
if get_global_time() < pc.getqf("retry_limit_time") - 3600 and party.get_leader_pid() == game.get_event_flag("spider_lair_leader_"..get_channel_id()) then
pc.setqf("firstIn",0)
elseif pc.getx() >= 827 and pc.getx() <= 937 and pc.gety() >= 6127 and pc.gety() <= 6257 then
pc.warp(95900,571000)
pc.remove_item(30327, 1)
else
pc.remove_item(30327, 1)
set_state( boss_ok )
local limit = pc.getqf("retry_limit_time")
if limit > ( get_global_time() + 3600 ) then
limit = ( get_global_time() + 3600 )
end
pc.setqf("retry_limit_time", limit )
local duration = limit - get_global_time()
end
end
when 30130.chat." Yuvaya giriþ " begin
if game.get_event_flag("enable_barones_dungeon") == 1 then
say_title_center(mob_name(30130))
say_center("")
say_center("")
say_center("")
say_center("")
say_center("")
say_center("Harita þuanda bakým modunda.")
say_center("")
return
end
if game.get_event_flag("spider_lair_ongoing_"..get_channel_id()) == 1 then
local starttime = game.get_event_flag("spider_lair_start_time_"..get_channel_id())
local current_time = get_global_time()
if party.get_leader_pid() == game.get_event_flag("spider_lair_leader_"..get_channel_id()) then
if starttime + 300 >= current_time and party.get_leader_pid() == game.get_event_flag("spider_lair_leader_"..get_channel_id()) and game.get_event_flag("spider_lair_ongoing_"..get_channel_id()) == 1 then
say("Grup liderin yuvaya girdi. Sen de içeriye[ENTER]girip Barones ile savaþmak istiyor musun? ")
local warp = select(locale.confirm,locale.cancel)
if warp == 1 then
pc.warp(88100,614800)
return
end
end
end
end
end
when 2092.kill begin
server_timer("spider_dead_timer", 180)
game.set_event_flag("spider_dead"..get_channel_id(), 1)
game.set_event_flag("spider_key_dropped"..get_channel_id(), 0)
notice_multiline("Örümcek Barones yok edildi! Tüm savaþçýlar üç[ENTER]dakika içinde yuvadan dýþarý ýþýnlanacak",notice_in_map)
notice_all(string.format("%s Grubu Örümcek Baronesi Öldürdü!", pc.get_name()))
end
when 2094.kill begin
if game.get_event_flag("spider_key_dropped"..get_channel_id()) == 0 then
game.drop_item(30327, 1)
game.set_event_flag("spider_key_dropped"..get_channel_id(), 1)
end
end
when 2095.kill begin
local kingVid = game.get_event_flag("king_vid"..get_channel_id())
local remain_egg = game.get_event_flag("remain_egg"..get_channel_id())
notice_multiline("Dikkat: Örümcek Barones sinirleniyor! Saldýrýsý güçleniyor ama savunmasý azalýyor.",notice_in_map)
if remain_egg > 0 then
remain_egg = remain_egg - 1
game.set_event_flag("remain_egg"..get_channel_id(), remain_egg)
end
npc.set_vid_attack_mul(kingVid, 10/(remain_egg + 1))
npc.set_vid_damage_mul(kingVid, 10/(remain_egg + 1))
pc.aggregate_monster()
end
when 30327.use with pc.getx() >= 827 and pc.get_map_index() == 217 and pc.getx() <= 937 and pc.gety() >= 6127 and pc.gety() <= 6257 begin
pc.remove_item(30327, 1)
i = mob.spawn(2095,400,566,0,0)
mob.spawn(2095,400,594,0,0)
mob.spawn(2095,362,600,0,0)
mob.spawn(2095,337,599,0,0)
mob.spawn(2095,335,581,0,0)
mob.spawn(2095,344,562,0,0)
mob.spawn(2095,364,588,0,0)
mob.spawn(2095,379,562,0,0)
mob.spawn(2095,368,525,0,0)
local kingVid = mob.spawn(2092,367,588,0,0)
game.set_event_flag("king_vid"..get_channel_id(),kingVid)
game.set_event_flag("remain_egg"..get_channel_id(), 9)
end
end
end
TEK KAT QUEST ;
quest baron_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 = 217
local map = pc.get_map_index()
if map >= (idx * 10000) and map < (idx * 10000 + 9000) then
pc.setf("baron","dungeon_time",get_global_time() + 60*30*1)
end
end
when 30130.chat."Barones Zindan Tek Kat)" begin
local setting = baron_dungeon.setting()
if pc.get_level() < 55 then
say_title("Bekci:")
say("")
say("55. seviyenin altinda oldugun icin ")
say("zindana giremezsin...")
return
end
if pc.count_item(30324) < 1 then
say_item_vnum(30324)
say("Gerekli esya olmadan giris yapamazsin.")
return
end
if party.is_party() then
say("Grubun varken giris yapamazsin.")
return
end
if pc.getf("baron","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("baron","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(30324,1)
timer("baron_sologiris",2)
else
return
end
end
when baron_sologiris.timer begin
d.new_jump(217, 881 * 100, 6147 * 100)
d.spawn_mob_dir(2092,369,587,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("baron_timeup",60*30*1,d.get_map_index())
end
-- 6Ãþ°ú ¸¶Âù°¡Áö·Î »ç¸¶ÈÖ(3964)ÀÌ Á×À¸¸é
-- 7ÃþÀÇ Å¸À̸Ӱ¡ ÀÛµ¿ÇÑ´Ù.
when kill with npc.get_race() == 2092 begin
d.setf("baron_dead",1)
--notice_all(pc.get_name().."'s party has defeated Lord Gahnasel!")
notice_all("|cff00ff00 Patron Avcýsý "..pc.get_name().." grubu, Örümcek Barones'i Maðlup etti!")
server_timer ("baron_eli_check_timer_1", 3, d.get_map_index())
end
-- 7ÃþÀÇ Å¸À̸Ӵ 6Ãþ ŸÀÌ¸Ó¿Í ºñ½ÁÇϸç,
-- ¸ó½ºÅÍ ¼ýÀÚ°¡ 0À̸é exit ŸÀ̸Ӹ¦ ¹ß»ý½ÃŲ´Ù.
-- ¹Ù·Î exitÇÏÁö ¾Ê´Â ÀÌÀ¯´Â, À¯Àúµé¿¡°Ô ÁغñÇÒ ½Ã°£À» ÁÖ±â À§ÇؼÀÌ´Ù.
when baron_eli_check_timer_1.server_timer begin
if d.select(get_server_timer_arg()) then
d.set_warp_location (217, 690, 6109)
--say_in_map(get_server_timer_arg(),"Azrail yenildi. ?ytan Katakombu'na nihayet[ENTER]huzur hakim. ?mdi yer y??e ýþ?lanacaks?. ")
server_timer ("baron_eli_check_timer_2", 3, get_server_timer_arg())
end
end
when baron_eli_check_timer_2.server_timer begin
if d.select(get_server_timer_arg()) then
d.set_warp_location (217, 690, 6109)
--say_in_map(get_server_timer_arg(),"Azrail yenildi. ?ytan Katakombu'na nihayet[ENTER]huzur hakim. ?mdi yer y??e ýþ?lanacaks?. ")
server_timer("baron_exit_timer", 217, get_server_timer_arg())
else
server_timer ("baron_eli_check_timer_1", 3, get_server_timer_arg())
end
end
when baron_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 baron_exit_timer.server_timer begin
if d.select(get_server_timer_arg()) then
clear_server_timer("baron_eli_check_timer_1", get_server_timer_arg())
clear_server_timer("baron_eli_check_timer_2", get_server_timer_arg())
clear_server_timer("baron_sologiris", get_server_timer_arg())
d.clear_regen()
d.exit_all()
end
end
end --state
end --quest