- Mesaj
- 141
- Beğeni
- 162
- Puan
- 366
- Ticaret Puanı
- 0
Kısaca durum şöyle:
O yüzden kodlar ne kadar iyidir değildir bilmiyorum, belki işine yarayan olur. Ek olarak dosya ekinde zindanın nasıl olduğuna dair detaylı bir official anlatım bulunuyor. Güle güle kullanin
Linkleri görebilmek için
giriş yap veya kayıt ol.
, bir müşteriden Akzadur için iş alıyor. Daha sonra Elveron aynı işi talep edince, muhtemelen daha yüksek ücret teklif edildiği için ilk müşteriyi tamamen ikinci plana atıyor. İlk müşteriyi 3 ay boyunca oyalıyor, (bu süreçte müşteriden sürekli many talep ediyor tabi ) devamında ise müşteri elveron geliştiricisinden syreldar ın exedyarı elveron için yaptığını öğreniyor. Sonuç olarak da ilk müşteriyi engelleyerek işi tamamlamadan ortadan kayboluyor.O yüzden kodlar ne kadar iyidir değildir bilmiyorum, belki işine yarayan olur. Ek olarak dosya ekinde zindanın nasıl olduğuna dair detaylı bir official anlatım bulunuyor. Güle güle kullanin
dungeon_akzadur.quest:
quest dungeon_akzadur begin
state start begin
when 20421.chat.mob_name(6500) begin
if pc.get_map_index() != 355 then
return
end
if if_not_available("dungeon_akzadur") then
return say(locale_quest(20078))
end
local MIN_LEVEL = 115
local MAX_LEVEL = 120
local DUNGEON_TICKET = 70448
say_title(mob_name(20421))
say(locale_quest(20088))
local dungeon_type = select(locale_quest(874), locale_quest(14284), locale_quest(875)) -- do, test, close
if dungeon_type == 1 then -- normal
if party.is_party() then -- if in party, he enter in party
if dungeon_join_party("dungeon_akzadur", MIN_LEVEL, MAX_LEVEL, DUNGEON_TICKET) == true then
enter_dungeon(363, 2694, 3469, true, false, DUNGEON_TICKET)
end
else -- solo dungeon
if dungeon_join_solo("dungeon_akzadur", MIN_LEVEL, MAX_LEVEL, DUNGEON_TICKET) then
enter_dungeon(363, 2694, 3469, false, false, DUNGEON_TICKET)
end
end
elseif dungeon_type == 2 then -- test
say_title(mob_name(npc.get_vnum()))
say_reward(locale_quest(14285))
local select = select(locale_quest(14284), locale_quest(39))
if select == 1 then
if dungeon_join_test(MIN_LEVEL, MAX_LEVEL) then
enter_dungeon(363, 2931, 3452, false, true, 0)
end
end
end
end
-- already in dungeon, start of the dungeon
function quest_event_when_login()
local index = pc.get_map_index()
d.set_warp_location(355, 1776, 11962)
if check_if_test() then
d.setf("akzadur", 1)
d.setf("first_regen", 0)
d.setf("boss", 1)
server_timer("timer", 60*10, index)
d.setf("real_time", get_global_time()+60*10)
server_timer("boss", 1, index)
d.setf("floor", 5)
cmdchat_in_map(index, string.format("RefreshDungeonTimer %d %d",d.getf("floor"), d.getf("real_time")-get_global_time()))
return
end
if d.getf("timer_check") == 1 and d.getf("floor") > 0 then
cmdchat_in_map(index, string.format("RefreshDungeonTimer %d %d",d.getf("floor"),d.getf("real_time")-get_global_time()))
return
end
if d.getf("first_regen") == 1 then
d.setf("akzadur", 1)
server_timer("first_room_wave", 1, index)
server_timer("timer", 60*35, index)
d.setf("real_time", get_global_time()+60*35)
cmdchat_in_map(index, string.format("RefreshDungeonTimer %d %d",d.getf("floor"),d.getf("real_time")-get_global_time()))
d.setf("real_time_fastest", get_global_time())
d.setf("timer_check", 1)
end
set_cooltime(60*120, "dungeon_akzadur")
end
when login with pc_in_dungeon(363) begin
timer("akzadur_login_check", 1)
end
when akzadur_login_check.timer with pc_in_dungeon(363) begin
dungeon_akzadur.quest_event_when_login()
end
when first_room_wave.server_timer begin
if d.select(get_server_timer_arg()) then
if d.getf("first_regen") == 1 and d.getf("akzadur") == 1 then
d.setf("first_regen", 0)
d.setf("first_room_wave", 1)
d.notice(20089)
d.regen_file("data/dungeon/akzadur/wave1.txt")
d.setf("floor", 1)
cmdchat_in_map(d.get_map_index(), string.format("RefreshDungeonFloor %d",d.getf("floor")))
end
end
end
when first_room_eggs.server_timer begin
if d.select(get_server_timer_arg()) then
if d.getf("first_room_wave") == 1 and d.getf("akzadur") == 1 then
d.setf("first_room_wave", 0)
d.setf("first_room_eggs", 1)
d.notice(20090)
d.regen_file("data/dungeon/akzadur/wave1.txt")
d.regen_file("data/dungeon/akzadur/eggs.txt")
d.setf("floor", 2)
cmdchat_in_map(d.get_map_index(), string.format("RefreshDungeonFloor %d",d.getf("floor")))
end
end
end
when second_room_wave.server_timer begin
if d.select(get_server_timer_arg()) then
if d.getf("first_room_eggs") == 1 and d.getf("akzadur") == 1 then
d.setf("first_room_eggs", 0)
d.setf("second_room_wave", 1)
d.jump_all(2931,3452)
d.regen_file("data/dungeon/akzadur/wave2.txt")
d.notice(20091)
d.setf("floor", 3)
cmdchat_in_map(d.get_map_index(), string.format("RefreshDungeonFloor %d",d.getf("floor")))
end
end
end
when 20500.kill begin
if pc_in_dungeon(363) == false then
return
end
if d.select(pc.get_map_index()) then
if d.getf("first_room_eggs") == 1 then
local STONES = 4
nstones = d.getf("count_stones") + 1
d.setf("count_stones", nstones)
if nstones >= STONES then
d.notice(20092)
server_timer("second_room_wave", 5, d.get_map_index())
d.kill_all()
end
end
end
end
when 3005.kill or 3004.kill or 3002.kill begin
if pc_in_dungeon(363) == false then
return
end
if d.select(pc.get_map_index()) then
if d.getf("first_room_wave") == 1 then
local KILL_COUNT = 100
n = d.getf("count_monsters") + 1
d.setf("count_monsters", n)
if n == KILL_COUNT then
d.notice(20093)
server_timer("first_room_eggs", 5, d.get_map_index())
d.kill_all()
end
end
if d.getf("second_room_wave") == 1 then
KILL_COUNT2 = 130
n2 = d.getf("count_monsters_2") + 1
d.setf("count_monsters_2", n2)
if n2 == KILL_COUNT2 then
d.notice(20094)
server_timer("second_room_pre_boss", 5, d.get_map_index())
d.kill_all()
end
end
end
end
when second_room_pre_boss.server_timer begin
if d.select(get_server_timer_arg()) and map_in_dungeon(363) then
if d.getf("second_room_wave") == 1 and d.getf("akzadur") == 1 then
d.setf("second_room_wave", 0)
d.setf("second_room_pre_boss", 1)
d.notice(20095)
d.regen_file("data/dungeon/akzadur/pre_boss.txt")
d.regen_file("data/dungeon/akzadur/wave2.txt")
d.setf("floor", 4)
cmdchat_in_map(d.get_map_index(), string.format("RefreshDungeonFloor %d",d.getf("floor")))
end
end
end
when 4439.kill with pc_in_dungeon(363) begin
if d.select(pc.get_map_index()) then
d.setf("second_room_pre_boss", 0)
d.setf("boss", 1)
d.kill_all()
d.notice(20096)
server_timer("boss", 3, d.get_map_index())
end
end
when boss.server_timer begin
if d.select(get_server_timer_arg()) and map_in_dungeon(363) then
if d.getf("boss") == 1 and d.getf("akzadur") == 1 then
d.regen_file("data/dungeon/akzadur/boss.txt")
d.notice(20097)
d.setf("floor", 5)
cmdchat_in_map(d.get_map_index(), string.format("RefreshDungeonFloor %d",d.getf("floor")))
end
end
end
when 6500.kill with pc_in_dungeon(363) begin
if d.select(pc.get_map_index()) then
if d.getf("boss") == 1 then
give_event_reward(70448, check_if_test())
d.notice(20098)
d.kill_all()
d.setf("boss", 0)
d.setf("floor", 5)
killed_boss(6500, check_if_test(), d.getf("real_time_fastest"), pc.get_map_index())
end
end
end
-- timers
when timer.server_timer begin
if d.select(get_server_timer_arg()) and map_in_dungeon(363) then
execute_timer(true, 177600, 1196200, get_server_timer_arg(), 1)
end
end
when timer_end.server_timer begin
if d.select(get_server_timer_arg()) and map_in_dungeon(363) then
execute_timer(false, 177600, 1196200, get_server_timer_arg(), 1)
end
end
end
end