quest barones_system 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, 69100, 611100, 69100, 611100)
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)
purge_area(82700, 612700, 93700,625700)
end
when spider_dead_timer.server_timer begin
warp_all_in_area_to_area(82700, 612700, 93700,625700, 69100, 611100, 69100, 611100)
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)
purge_area(82700, 612700, 93700,625700)
end
when login or levelup or enter with pc.get_level() >= 50 begin
set_state( step1 )
end
when 30130.chat."Yuvaya giriş " with pc.get_map_index() == 80 begin
say("Yuvaya girmek için yeterli tecrübeye sahip")
say("değilsin. En az 50. seviye olmalısın.")
say("")
return
end
end
state step1 begin
when 30130.chat."Yuvaya giriş " with pc.get_map_index() == 80 begin
say("Yüzbaşı'ya git ve neler olduğu hakkında")
say("bir şeyler öğren.Düşmanının kim olduğunu")
say("öğrenmeden yuvaya girip onunla savaşamazsın.")
return
end
when 20355.chat."Örümcek Zindani" begin
say_title("Yüzbaşı ")
say("")
say("Ay iyiki buradasın. Sana önemli haberlerim var:")
say("Örümcek Zindanı'nda Gözcü Birliği tarafından")
say("üçüncü bir kat keşfedildi. Bu yeni yuva")
say("bildiğimiz yuvalardan daha küçük ama oldukça cani")
say("ve sinsi örümcekler barındırıyormuş. Ayrıca")
say("adamlarım orada eski bir mezar taşı buldu ama")
say("üzerine kazılmış yazıları deşifre edemedi. Bu")
say("taşı bulmak için yola koyul ve bana o yazının bir")
say("kopyasını getir.")
say("")
set_state( step2 )
pc.give_item2(76019)
end
end
state step2 begin
when letter begin
send_letter("Yazı ")
local v = find_npc_by_vnum(30130)
if 0 != v then
target.vid("__TARGET__", v, mob_name(30130))
end
end
when button or info begin
say_title("Yazı ")
say("Örümcek Zindanı'nın üçüncü katında üzerinde")
say("yazılar bulunan eski bir mezar taşı var. Onun")
say("kopyasını al ve Yüzbaşıya götür.")
say("")
end
when 30130.chat."Yazı " begin
target.delete("__TARGET__")
say(""..pc.get_name().."")
say("")
say("Yaşasın, eski mezar taşını buldun ve üzerindeki")
say("yazının kopyasını aldın! Yüzbaşıya göstermek için")
say("geri dön.")
say("")
set_state(step3)
end
when 30130.chat."Yuvaya giriş " with pc.get_map_index() == 80 begin
say("Yüzbaşı'ya git ve neler olduğu hakkında")
say("bir şeyler öğren.Düşmanının kim olduğunu")
say("öğrenmeden yuvaya girip onunla savaşamazsın.")
return
end
when 20355.chat."Örümcek Zindani" begin
say_title("Yüzbaşı ")
say("Ay iyiki buradasın. Sana önemli haberlerim var:")
say("Örümcek Zindanı'nda Gözcü Birliği tarafından")
say("üçüncü bir kat keşfedildi. Bu yeni yuva")
say("bildiğimiz yuvalardan daha küçük ama oldukça cani")
say("ve sinsi örümcekler barındırıyormuş. Ayrıca")
say("adamlarım orada eski bir mezar taşı buldu ama")
say("üzerine kazılmış yazıları deşifre edemedi. Bu")
say("taşı bulmak için yola koyul ve bana o yazının bir")
say("kopyasını getir.")
end
end
state step3 begin
when 30130.chat."Yuvaya giriş " with pc.get_map_index() == 80 begin
say("Yüzbaşı'ya git ve neler olduğu hakkında")
say("bir şeyler öğren.Düşmanının kim olduğunu")
say("öğrenmeden yuvaya girip onunla savaşamazsın.")
return
end
when letter begin
send_letter("Yeni tehlike")
local v = find_npc_by_vnum(20355)
if 0 != v then
target.vid("__TARGET__", v, mob_name(20355))
end
end
when button or info begin
say_title("Yeni tehlike")
say("Yazının tam kopyasını aldın. Onu şimdi Yüzbaşıya")
say("göster.")
say("")
end
when 20355.chat."Yeni tehlike" begin
say_title("Yüzbaşı ")
say("Aferin, başardın! Göster bi...")
say("Hım, bu yazıları çözemiyorum, bir kelime dahi")
say("anlamıyorum. Bilgin Uriel'e danış en iyisi.")
say("")
set_state(step4)
end
end
state step4 begin
when 30130.chat."Yuvaya giriş " with pc.get_map_index() == 80 begin
say("Yüzbaşı'ya git ve neler olduğu hakkında")
say("bir şeyler öğren.Düşmanının kim olduğunu")
say("öğrenmeden yuvaya girip onunla savaşamazsın.")
return
end
when letter begin
send_letter("Yeni tehlike")
local v = find_npc_by_vnum(20011)
if 0 != v then
target.vid("__TARGET__", v, mob_name(20011))
end
end
when button or info begin
say_title("Yeni tehlike")
say("Bilgin Uriel'in yanına git ve yazıyı ona göster.")
say("Yazıyı çevirmesini bilir muhakkak.")
say("")
end
when 20011.chat."Yeni tehlike" begin
target.delete("__TARGET__")
say_title(mob_name(20011))
say("Yüzbaşı, benden bu yazıyı deşifre etmemi mi")
say("istiyor? Hayhay. Zekamı ispatlayacak zorlu")
say("mücadeleleri severim. Göster bakalım.")
say("Bu...ama bu korkunç bir şey.Buyur, çeviriyi bu")
say("kağıdın üzerine yazıyorum. Onu bir an önce")
say("Yüzbaşıya götür, ardından benim yanıma gel.")
say("Burada yazılanlar doğruysa hepimiz büyük")
say("tehlikedeyiz! Hadi hadi!")
say("")
set_state(step5)
end
when 20355.chat."Yeni tehlike" begin
say_title("Yüzbaşı ")
say("Aferin, başardın! Göster bi...")
say("Hım, bu yazıları çözemiyorum, bir kelime dahi")
say("anlamıyorum. Bilgin Uriel'e danış en iyisi.")
say("")
end
end
state step5 begin
when 30130.chat."Yuvaya giriş " with pc.get_map_index() == 80 begin
say("Yüzbaşı'ya git ve neler olduğu hakkında")
say("bir şeyler öğren.Düşmanının kim olduğunu")
say("öğrenmeden yuvaya girip onunla savaşamazsın.")
return
end
when letter begin
send_letter("Yeni tehlike")
local v = find_npc_by_vnum(20355)
if 0 != v then
target.vid("__TARGET__", v, mob_name(20355))
end
end
when button or info begin
say_title("Urielin mektubunu teslim et")
say("Amma da dik kafalıymış şu yaşlı adam...Teşekkür")
say("etseydi bir yeri mi eksilirdi? Aman neyse.")
say("Bilgilerin çok önemli olduğunu söylediği için")
say("hemen Yüzbaşıya ileteceğim.")
say("")
end
when 20355.chat."Uriel'in Mektubu" begin
target.delete("__TARGET__")
say_title("Yüzbaşı ")
say("Amanın! Örümcek Zindanı'nın üçüncü katına devasa")
say("bir şeytani arachnida yerleşti. Yazıdan")
say("anlaşıldığı üzere bu gizli yuvaya özel bir")
say("anahtarla girilebiliyor. İlk önce Uriel'in")
say("yanına git ve ona şu anahtarı sor. Sonra da")
say("becerikli savaşçılarını bir araya topla ve")
say("Örümcek Barones'in gizlendiği yere birlikte")
say("hücum edin! İşte sana bir tane geçit bileti")
say("daha.")
say("")
set_state(step6)
pc.give_item2(76019)
end
when 20011.chat."Yeni tehlike" begin
say_title(mob_name(20011))
say("Yüzbaşı, benden bu yazıyı deşifre etmemi mi")
say("istiyor? Hayhay. Zekamı ispatlayacak zorlu")
say("mücadeleleri severim. Göster bakalım.")
say("Bu...ama bu korkunç bir şey.Buyur, çeviriyi bu")
say("kağıdın üzerine yazıyorum. Onu bir an önce")
say("Yüzbaşıya götür, ardından benim yanıma gel.")
say("Burada yazılanlar doğruysa hepimiz büyük")
say("tehlikedeyiz! Hadi hadi!")
say("")
end
end
state step6 begin
when 30130.chat."Yuvaya giriş " with pc.get_map_index() == 80 begin
say("Yüzbaşı'ya git ve neler olduğu hakkında")
say("bir şeyler öğren.Düşmanının kim olduğunu")
say("öğrenmeden yuvaya girip onunla savaşamazsın.")
return
end
when letter begin
send_letter("Uriel'in Mektubu")
local v = find_npc_by_vnum(20011)
if 0 != v then
target.vid("__TARGET__", v, mob_name(20011))
end
end
when button or info begin
say_title("Uriel'in Mektubu")
say("Amanın! Örümcek Zindanı'nın üçüncü katına devasa")
say("bir şeytani arachnida yerleşti. Yazıdan")
say("anlaşıldığı üzere bu gizli yuvaya özel bir")
say("anahtarla girilebiliyor. İlk önce Uriel'in")
say("yanına git ve ona şu anahtarı sor. Sonra da")
say("becerikli savaşçılarını bir araya topla ve")
say("Örümcek Barones'in gizlendiği yere birlikte")
say("hücum edin! İşte sana bir tane geçit bileti")
say("daha.")
say("")
end
when 20011.chat."Uriel'in Mektubu" begin
target.delete("__TARGET__")
say_title(mob_name(20011))
say("Ah, geldin. Öyleyse Yüzbaşı sana Örümcek")
say("Barones'i yok etme emrini verdi doğru mu? Ancak")
say("Barones'in yuvasına giden kapı kapalı ve sadece")
say("arachna anahtarıyla açılabilir. Üretimi çok zor.")
say("Ama bana bir örümcek zehir kesesi, bir örümcek")
say("yumurta kesesi, bir örümcek ağı, örümcek gözleri")
say("örümcek bacakları ve kraliçe örümcek zehrini")
say("getirirsen, sana bir tane arachna anahtarı ")
say("üretebilirim.")
set_state(boss_ok)
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")
say("olan tüm malzemeler hazır. Bir saniye bekle. Fazla")
say("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_title(mob_name(20011))
say("Ah, evet başardım! Arachnida anahtarı ürettim. Bu")
say("Örümcek Barones'e inmenizi sağlayacak. Uzun ")
say("bacaklı düşmanlarınıza karşı sana ve silah")
say("arkadaşlarına iyi şanslar dilerim! Ama acele edin")
say("anahtar çok kırılgan. 24 saat sonra parçalara")
say("ayrılacaktır.")
pc.give_item2(30325, 1)
else
say_title(mob_name(20011))
say("Ah, hayır... Korkarım ki bu sefer başaramadım. Bu ")
say("anahtarın üretimi son derece karışık. En küçük hata")
say("pahalıya mal oluyor. Ne yazık ki anahtar üretmek")
say("için topladığın tüm malzemeler boşa gitti. Ama")
say("eminim bir dahaki sefere başaracağız!")
end
else
say_title(mob_name(20011))
say("Bir şey eksik, arachnida anahtarını bu şekilde")
say("üretmem mümkün değil. Lazım olanları bir kez daha")
say("hatırlatayım: bir örümcek zehir kesesi, bir örümcek")
say("yumurta kesesi, bir örümcek ağı, örümcek gözleri")
say("örümcek bacakları ve kraliçe örümcek zehri.")
end
end
when 30130.chat."Yuvaya giriş " with pc.get_map_index() == 80 begin
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")
say("girip Barones ile savaşmak istiyor musun?")
local warp = select("Onayla","Vazgeç ")
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("Silah arkadaşlarını yalnız bırakacaksın demek.")
say("")
return
end
else
local remain_time = math.ceil((game.get_event_flag("spider_lair_end_time_"..get_channel_id() ) - get_global_time()) / 60)
say("Şu an başka bir grup yuvada Barones ile")
say("savaşıyor. Onların savaşı bitirmesini bekle.")
say("Kalan zaman: "..remain_time.." dakika")
return
end
elseif pc.getqf("retry_limit_time") > get_global_time() then
local access_limit = math.ceil((pc.getqf("retry_limit_time") - get_global_time()) / 60)
say("Son savaşın üzerinden en az bir saat geçmesi")
say("gerekiyor. Bu süre içerisinde tekrar Barones'in")
say("yuvasına giremezsin.")
say("Kalan zaman: "..access_limit.." dakika")
return
elseif party.is_leader() then
if false == pc.can_warp() then
say("Şu anda bu alana giremezsin.")
return
end
if pc.count_item(30324) > 0 or pc.count_item(30325) > 0 then
say("Fetih mi başlatmak istiyorsun? Bunu yapmaya 20")
say("dakika zamanın var. Bu süre bitmeden önce hiç ")
say("kimse Barones'in yuvasını terk edemez. Yeni bir")
say("fetih bir saat sonra gerçekleştirilebilir.")
local warp = select(locale.confirm,locale.cancel)
if warp == 1 then
set_state(inLair)
if pc.count_item("30324") > 0 then
pc.remove_item(30324, 1)
elseif pc.count_item("30325") > 0 then
pc.remove_item(30325, 1)
end
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("Bu kapıyı sadece arachnida anahtarı açar.")
return
end
else
say("Yanında silah arkadaşların olmadan yuvaya")
say("giremezsin.")
return
end
end
end
state inLair begin
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ş " with pc.get_map_index() == 80 begin
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 arkadaşların yuvaya girdi. Sen de içeriye")
say("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 2094.kill begin
game.drop_item_with_ownership(30327,1)
end
when 2092.kill begin
server_timer("spider_dead_timer", 180)
game.set_event_flag("spider_dead"..get_channel_id(), 1)
notice_in_map("Örümcek Barones yok edildi! Tüm savaşçılar üç ")
notice_in_map("dakika içinde yuvadan dışarı ışınlanacak.")
end
when 2095.kill begin
notice_in_map("Dikkat: Örümcek Barones sinirleniyor! Saldırısı ")
notice_in_map("güçleniyor ama savunması azalıyor.")
local kingVid = game.get_event_flag("king_vid")
local remain_egg = game.get_event_flag("remain_egg"..get_channel_id())
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))
end
when 30327.use with pc.get_map_index() == 80 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",kingVid)
game.set_event_flag("remain_egg"..get_channel_id(), 9)
end
end
end