Problema questuri

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Închis
Avatar utilizator
kiilla
Nou Venit

Nou Venit
Mesaje: 25
Membru din: 27 Dec 2017, 23:47
Server: LostWorld2
Regat: Jinno
Aprecieri: 1  
Mulţumiri: 2  
Medalii

Salutare just4metin, am niste probleme cu questurile de pe server, nu-mi merg dungeon-urile.. in mod specific: catacombe, meleylair, razador si nemere..

Problema in sine este de la questuri.. cel de meleylair spre exemplu nu-mi compileaza decat primul "when" si atat.

aici sunt questurile:


meleylair.lua
quest meleylair begin
state start begin
when 20419.chat."Draghi di Sung Mahi" with pc.get_map_index() == MeleyLair.GetSubMapIndex() begin
say("Temo che molti non sopravviveranno fino al giorno")
say("successivo. Sung Mahi, dio dei demoni, si è")
say("risvegliato... e con lui i suoi tre draghi. Essi si")
say("nutrono delle anie degli umani! Quando")
say("ne hanno assunto un quantitativo adeguato, Sung")
say("Mahi si fortifica. In pratica... l'apocalisse.")
say("Per chiunque. Non possiamo permetterlo! Pohi audaci guerrieri ")
say("solitari non saranno sufficienti. Solo le gilde ")
say("possono resistere contro quelle bestie a scaglie.")
say("Vuoi offrire il tuo aiuto? Conosci degli")
say("avventurieri audaci quanto te? Attenzione, però:")
say("si sono verificati dei fatti spiacevoli per")
say("coloro che hanno affrontato i draghi. Non hanno mai")
say("fatto ritorno a casa...")
end

when 20419.chat."Combatti con i Draghi di Sung Mahi " with pc.get_map_index() == MeleyLair.GetSubMapIndex() and pc.is_guild_master() begin
say_title(mob_name(20419))
say("")
local registered, channel = MeleyLair.IsRegistered()
if registered then
say(string.format("La tua gilda è già registrata.[ENTER] CH %d.[ENTER]Puoi accedere. ", channel))
return
end

local requirment1, requirment2 = MeleyLair.GetRequirments()
say("La tua gilda deve essere registrata per affrontare ")
say("i draghi di Sung Mahi. ")
say("")
say("Per registrati, devi: ")
say(string.format("- La tua gilda deve essere almeno livello %d ", requirment1))
say(string.format("- La tua gilda deve avere almeno %d punti. ", requirment2))
say("")
say("Vuoi registrarti? ")
local menu = select("Si ", "No. ")
if menu == 1 then
local result1, result2 = MeleyLair.Register()
if result1 == 0 then
setskin(NOWINDOW)
return
end

local resultMsg = {
[1] = "La tua gilda è già registrata.[ENTER] CH %d.[ENTER]Puoi accedere. ",
[2] = "Riprova più tardi",
[3] = "La tua gilda deve essere almeno livello %d ",
[4] = "La tua gilda deve avere almeno %d punti. ",
[5] = "La tua gilda non è registrata, [ENTER]Parla con le persone autorizzate. ",
[6] = "Se sconfiggi i draghi,[ENTER]%d punti gilda saranno rimborsati. ",
[7] = "Solo il capo può registrare la gilda. %s. ",
}

say_title(mob_name(20419))
say("")
if result1 != 2 and result1 != 5 then
if result1 == 7 then
local hours = string.format("%02.f", math.floor(result2 / 3600));
local minutes = string.format("%02.f", math.floor(result2 / 60 - (hours * 60)));
local seconds = string.format("%02.f", math.floor(result2 - hours * 3600 - minutes * 60));
local timeConv = string.format(hours..":"..minutes..":"..seconds)
say(string.format(resultMsg[result1], timeConv))
else
say(string.format(resultMsg[result1], result2))
end
else
say(resultMsg[result1])
end
else
setskin(NOWINDOW)
return
end
end

when 20419.chat."Entra! " with pc.get_map_index() == MeleyLair.GetSubMapIndex() and pc.has_guild() begin
say_title(mob_name(20419))
say("")
say("Vuoi entrare?")
say("")
local agree = select("Si ", "No ")
if agree == 1 then
local registered, limit = MeleyLair.Enter()
if not registered and limit == 0 then
say_title(mob_name(20419))
say("")
if pc.is_guild_master() then
say("Per entrare [ENTER]devi registrare la tua gilda. ")
else
say("Il leader della tua gilda deve iscriversi.[ENTER]Non puoi accedervi. ")
end

return
elseif not registered and limit > 0 then
say_title(mob_name(20419))
say("")
say(string.format("E' possibile entrare da ch %d ", limit))
return
elseif limit == 1 then
say_title(mob_name(20419))
say("")
say(string.format("Ci sono %d membri della gilda in camera proprio adesso.[ENTER]Non è possibile entrare. ", MeleyLair.GetPartecipantsLimit()))
return
elseif limit == 2 then
say_title(mob_name(20419))
say("")
say("Si è verificato un errore. Si prega di contattare lo staff ")
return
elseif limit == 3 then
say_title(mob_name(20419))
say("")
say("Il dungeon è finito ")
return
elseif limit == 4 then
say_title(mob_name(20419))
say("")
say("Per partecipare alla guerra; ")
say("seleziona l'opzione gilda dalle opzioni di gioco. ")
return
end

return
else
setskin(NOWINDOW)
return
end
end
end
end



catacomb.lua
quest devilcatacomb_zone begin
state start begin

function is_closed()
return (game.get_event_flag("dc_closed") > 0) --close dialog
end

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},
["floor7_entry"] = {["x"] = 73, ["y"] = 1156},

["map_idx"] = 216,
["rag"] = 30311,

["devil_king"] = 2591,

["reapers_credit1"] = 30319,
["reapers_credit2"] = 30320,
["reapers_credit3"] = 76002,

["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/devilcatacomb/",
["floor4_regen_file"] = {"devilcatacomb_floor4_regen1.txt",
"devilcatacomb_floor4_regen2.txt",
"devilcatacomb_floor4_regen3.txt",
"devilcatacomb_floor4_regen4.txt",
"devilcatacomb_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"] = {500, 717},

["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"] = 2598,
["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 login begin
local setting = devilcatacomb_zone.setting()
local idx = pc.get_map_index()
if idx >= (setting.map_idx * 10000) and idx < ((setting.map_idx + 1) * 10000) then
-- pc.set_warp_location(65, 5914, 992) -----------¾Æ±Íµ¿±¼ ÁÂÇ¥·Î
local level = d.getf("level")
-- warp locationÀÌ 0,0 ÀÌ¸é ½Ã½ºÅÛ »óÀ¸·Î, Á¾·á ½Ã, Á¾·á À§Ä¡¸¦ ½ÃÀÛ À§Ä¡·Î ÀúÀåÇÑ´Ù.
d.set_warp_location (0, 0, 0)

if level == 2 then
say(locale.devilcatacomb_zone._10_say)
say(locale.devilcatacomb_zone._10_say_1)
say(string.format(locale.devilcatacomb_zone._20_say, 60))
elseif level == pc.getqf ("level") then
-- say ("³«¿ÀµÇÁö ¾Ê±â À§ÇØ µ¿·áµé°ú ÇÕ·ùÇϽʽÿÀ.")
say(locale.devilcatacomb_zone._30_say)
else
say(locale.devilcatacomb_zone._40_say)
-- say ("´ç½ÅÀº ³«¿ÀµÇ¾ú½À´Ï´Ù. ¿ë½ÅÀÇ ÈûÀ» ºô¾î Àá½Ã µÚ µ¿±¼ ¹ÛÀ¸·Î À̵¿ÇÕ´Ï´Ù.")
timer ("devilcatacomb_ban_timer", 5)
end
end
if idx == setting.map_idx then
pc.setf("devilcatacomb_zone","last_exit_time", get_global_time())
-- 2ÃþÀÌ»óÀ̸é, ÂѰܳª
if pc.get_x() < setting.floor1_s.x + setting.base.x
or pc.get_y() < setting.floor1_s.y + setting.base.y
or pc.get_x() > setting.floor1_e.x + setting.base.x
or pc.get_y() > setting.floor1_e.y + setting.base.y
then
-- ¾Æ±Íµ¿±¼ ÀÔ±¸·Î
-- if not is_test_server() then
say(locale.devilcatacomb_zone._40_say)
timer ("devilcatacomb_ban_timer", 5)
-- end
else
-- ¾Æ±Íµ¿±¼ ÀÔ±¸·Î
-- pc.set_warp_location(65, 5914, 992)
say(locale.devilcatacomb_zone._50_say)
end
end
end

when logout begin
local idx = pc.get_map_index()
local setting = devilcatacomb_zone.setting()
if idx == setting.map_idx or idx >= (setting.map_idx * 10000) and idx < ((setting.map_idx + 1) * 10000) then
pc.setf("devilcatacomb_zone","last_exit_time", get_global_time())
end
end

when devilcatacomb_ban_timer.timer begin
pc.warp((5914)*100, (992)*100, 65)
end

when warp_timer.timer begin
local level = d.getf("level")
local level_switch = {
[3] = locale.devilcatacomb_zone._60_say,
[4] = locale.devilcatacomb_zone._70_say,
[5] = locale.devilcatacomb_zone._80_say,
[6] = locale.devilcatacomb_zone._90_say,
}
local t = 3600 -(get_global_time() - d.getf("enter_time"))
local t_r = math.mod (t, 60)
local t_m = (t - t_r) / 60
d.notice ( level_switch[level] )
d.notice(string.format(locale.devilcatacomb_zone._20_say, t_m))
d.set_warp_location (0, 0, 0)
end

when devilcatacomb_man.chat.locale.devilcatacomb_zone._100_npcChat with not devilcatacomb_zone.is_closed() begin
local setting = devilcatacomb_zone.setting()
if pc.get_level() < 75 then
say(locale.devilcatacomb_zone._110_say)
elseif ((get_global_time() - pc.getf("devilcatacomb_zone","last_exit_time")) < 1800) then
say(locale.devilcatacomb_zone._130_say)
else
say(locale.devilcatacomb_zone._140_say)
local s = select(locale.devilcatacomb_zone._150_select, locale.devilcatacomb_zone._160_select)
if s == 1 then
pc.warp ((setting.floor1_entry.x + setting.base.x )* 100, (setting.floor1_entry.y + setting.base.y) * 100)
end
end
end

-- ¸ó½ºÅͰ¡ Á×À¸¸é ¹ß»ýÇÏ´Â À̺¥Æ®.
when kill begin
local setting = devilcatacomb_zone.setting()
-- ¾Æ±Íµ¿±¼ 1ÃþÀ̸é 1% È®·ü·Î ±Ý½Ã°ÇÀ» µå¶øÇÑ´Ù.
if pc.get_x() > setting.floor1_s.x + setting.base.x
and pc.get_y() > setting.floor1_s.y + setting.base.y
and pc.get_x() < setting.floor1_e.x + setting.base.x
and pc.get_y() < setting.floor1_e.y + setting.base.y then
local j = number(1, 100)
if j == 1 then
game.drop_item (setting.rag, 1)
end
end
end

function spawn_doors ()
local setting = devilcatacomb_zone.setting()
for i = 1, 4 do
local mob_set = setting.dc2_door_set1
local set_size = setting.dc2_door_set_size
for j = 1, set_size do
d.set_unique (i.."_1_"..j, d.spawn_mob_dir (mob_set[j][1], mob_set[j][2], mob_set[j][3], mob_set[j][4]))
end
mob_set = setting.dc2_door_set2
for j = 1, set_size do
d.set_unique (i.."_2_"..j, d.spawn_mob_dir (mob_set[j][1], mob_set[j][2], mob_set[j][3], mob_set[j][4]))
end
end
end
-- ±Ý½Ã°ÇÀ» ³ªÂûÀÎÁõ¼®¿¡ µå·¡±×Çϸé 2ÃþÀ¸·Î º¸³½´Ù. 2ÃþºÎÅÍ´Â ´øÀüÀÌ´Ù.
when devilcatacomb_credit_stone. take begin
local setting = devilcatacomb_zone.setting()

if item.vnum == setting.rag then
if not party.is_party() then
say(locale.devilcatacomb_zone._170_say)
return
elseif party.is_in_dungeon() then
say(locale.devilcatacomb_zone._180_say)
return
end

item.remove()
say(locale.devilcatacomb_zone._190_say)
wait()
say(locale.devilcatacomb_zone._200_say)
wait()
d.new_jump_party (setting.map_idx, setting.floor2_entry.x + setting.base.x , setting.floor2_entry.y + setting.base.y )
d.setqf2("devilcatacomb_zone","level", 2)
d.setf ("level",2)
d.regen_file (setting.mob_regen_file_path.."dc_2f_regen.txt")

d.spawn_mob (setting.floor2_merchant_npc, setting.floor2_merchant_npc_pos[1], setting.floor2_merchant_npc_pos[2])
d.spawn_mob (setting.floor2_stone, setting.floor2_stone_pos[1], setting.floor2_stone_pos[2])

devilcatacomb_zone.spawn_doors ()
server_timer('devilcatacomb_45m_left_timer',60 * 15, d.get_map_index())
d.setf("enter_time", get_global_time())
end
end

when devilcatacomb_45m_left_timer.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice(string.format(locale.devilcatacomb_zone._20_say, 45))
server_timer('devilcatacomb_30m_left_timer', 60 * 15, get_server_timer_arg())
end
end

when devilcatacomb_30m_left_timer.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice(string.format(locale.devilcatacomb_zone._20_say, 30))
server_timer('devilcatacomb_15m_left_timer', 60 * 15, get_server_timer_arg())
end
end

when devilcatacomb_15m_left_timer.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice(string.format(locale.devilcatacomb_zone._20_say, 15))
server_timer('devilcatacomb_5m_left_timer', 60 * 10, get_server_timer_arg())
end
end

when devilcatacomb_5m_left_timer.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice(string.format(locale.devilcatacomb_zone._20_say, 5))
server_timer('devilcatacomb_1m_left_timer', 60 * 4, get_server_timer_arg())
end
end

when devilcatacomb_1m_left_timer.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice(string.format(locale.devilcatacomb_zone._20_say, 1))
server_timer ("devilcatacomb_0m_left_timer", 60 * 1, get_server_timer_arg())
end
end

when devilcatacomb_0m_left_timer.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice (locale.devilcatacomb_zone._210_dNotice)
d.set_warp_location (65, 5914, 992)
server_timer('devilcatacomb_exit_timer', 7, get_server_timer_arg())
end
end

function is_dc2_doors_clear ()
local setting = devilcatacomb_zone.setting()
local clear = true
for i = 1, 4 do
local set_clear = true
local mob_set = setting.dc2_door_set1
local set_size = setting.dc2_door_set_size
for j = 1, set_size do
set_clear = set_clear and d.is_unique_dead (i.."_1_"..j)
end
if not set_clear then
set_clear = true
mob_set = setting.dc2_door_set2
for j = 1, set_size do
set_clear = set_clear and d.is_unique_dead (i.."_2_"..j)
end
end
clear = clear and set_clear
end

return clear
end

-- ÇöȲ¼®À» Ŭ¸¯Çϸé 3Ãþ ÁøÀÔ ¿©ºÎ¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ°í
-- ÁøÀԽà »ç½ÅÀÇÁõÇ¥¸¦ °Ë»çÇÑ´Ù.
-- »ç½ÅÀÇ ÁõÇ¥°¡ ¾ø´Ù¸é ¹ÛÀ¸·Î ¿öÇÁµÈ´Ù.
when devilcatacomb_floor2_stone.click begin
local setting = devilcatacomb_zone.setting()

if d.getf("devilcatacomb_floor2_stone_clicked") == 0 then
if not devilcatacomb_zone.is_dc2_doors_clear () then
say(locale.devilcatacomb_zone._220_say)
wait ()
return
end
say(locale.devilcatacomb_zone._230_say)
wait()
say(locale.devilcatacomb_zone._240_say)
wait()
local s = select(locale.devilcatacomb_zone._150_select, locale.devilcatacomb_zone._160_select)
if s == 1 then
if d.getf("devilcatacomb_floor2_stone_clicked") == 0 then
d.setf("devilcatacomb_floor2_stone_clicked", 1)
d.setqf2("devilcatacomb_zone","last_exit_time", get_global_time())
d.set_item_group ("reapers_credit", 3, setting.reapers_credit3, 1, setting.reapers_credit2, 1, setting.reapers_credit1, 1)
d.say_diff_by_item_group("reapers_credit", locale.devilcatacomb_zone._250_say, locale.devilcatacomb_zone._260_say)
timer ("devilcatacomb_floor3_enter_timer", 7)
end
end
else
say(locale.devilcatacomb_zone._270_say)
end
end

when devilcatacomb_floor3_enter_timer.timer begin
local setting = devilcatacomb_zone.setting()
d.set_warp_location (65, 5914, 992)
d.exit_all_by_item_group ("reapers_credit")
d.delete_item_in_item_group_from_all ("reapers_credit")
d.purge ()
d.jump_all (setting.floor3_entry.x + setting.base.x , setting.floor3_entry.y + setting.base.y)
d.setf("level",3)
d.setqf2("devilcatacomb_zone","level", 3)
d.regen_file (setting.mob_regen_file_path.."dc_3f_regen.txt")
timer("warp_timer",3)

local position = setting.floor3_stone_pos

local n = number(1,7)
for i = 1, 7 do
if (i != n)
then
d.set_unique("fake"..i, d.spawn_mob( setting.floor3_stone, position[1], position[2]))
end
end

local vid = d.spawn_mob( setting.floor3_stone, position[n][1], position[n][2])
d.set_unique ("real",vid)
if (is_test_server()) then
-- real stone pos
chat (position[n][1],position[n][2])
end

end

when devilcatacomb3_stone.kill begin
local setting = devilcatacomb_zone.setting()
-- µ¹ÀÌ ÆÄ±«µÇ¸é ÁøÂ¥°¡ Á×¾ú´ÂÁö È®ÀÎÇØº»´Ù.
-- ÁøÂ¥°¡ Á×¾úÀ¸¸é 4ÃþÀ¸·Î À̵¿ÇÑ´Ù.
if d.is_unique_dead("real") then
d.notice(locale.devilcatacomb_zone._280_dNotice)

d.setf ("level",4)
d.setqf2("devilcatacomb_zone","level", 4)
timer ("devilcatacomb_floor4_enter_timer", 3)
else
d.notice(locale.devilcatacomb_zone._290_dNotice)
end
end

when devilcatacomb_floor4_enter_timer.timer begin
local setting = devilcatacomb_zone.setting()
local i = number (1, 5)
timer("warp_timer",3)
d.purge ()
d.jump_all (setting.floor4_entry.x + setting.base.x , setting.floor4_entry.y + setting.base.y)
d.regen_file (setting.mob_regen_file_path.."dc_4f_regen.txt")
d.regen_file (setting.mob_regen_file_path..setting.floor4_regen_file)
if (is_test_server()) then
d.notice (setting.floor4_regen_file)
end
d.spawn_mob (setting.floor4_npc, setting.floor4_npc_pos[1], setting.floor4_npc_pos[2])
end

-- devilcatacomb_floor4_stone´Â Ŭ¸¯ ½Ã 4Ãþ¿¡¼­ 5ÃþÀ¸·Î À̵¿½ÃŰ´Â npcÀÌ´Ù.
when devilcatacomb_floor4_stone.click begin
local setting = devilcatacomb_zone.setting()
local n = number (1,5)
say(locale.devilcatacomb_zone._300_say)
wait()
if (is_test_server()) then
-- devil_king pos
chat (setting.devil_king_pos[n][1], setting.devil_king_pos[n][2])
end
d.purge ()
d.jump_all (setting.floor5_entry.x + setting.base.x, setting.floor5_entry.y + setting.base.y )
d.setf ("level",5)
d.setqf2("devilcatacomb_zone","level", 5)
timer("warp_timer",3)
d.regen_file (setting.mob_regen_file_path.."dc_5f_regen.txt")
d.spawn_mob (2591,673,829)
d.spawn_mob (2591,691,638)
d.spawn_mob (2591,848,568)
d.spawn_mob (2591,1026,642)
d.spawn_mob (2591,1008,862)
d.spawn_mob (setting.floor5_stone, setting.floor5_stone_pos[1], setting.floor5_stone_pos[2])
end

-- ¾Æ±Í¿Õ(2591)ÀÌ Á×À¸¸é ºÀÀÎÇØÃ¼¼® µå¶ø
when devilcatacomb_devil_king.kill begin
local setting = devilcatacomb_zone.setting()
game.drop_item (setting.unlock_stone, 1)
end

-- »ç½Å±ÝÁ¦ºñ(30102)¿¡ ±ÝÁ¦ÇØÃ¼¼®ºÀÀ» µå·¡±×ÇÏ¸é ¸ðµç ¸ó½ºÅ͸¦ Á×À̰í
-- 6ÃþÀ¸·Î À̵¿Çϴ ŸÀ̸Ӹ¦ µ¿ÀÛ½ÃŲ´Ù.
when devilcatacomb_floor5_stone.take begin
local setting = devilcatacomb_zone.setting()
if item.vnum == setting.unlock_stone then
item.remove ()
d.notice(locale.devilcatacomb_zone._310_dNotice)
-- 6ÃþÀ¸·Î À̵¿
d.clear_regen()
d.purge()
timer("devilcatacomb_floor6_timer",2)
end
end

when devilcatacomb_floor6_timer.timer begin
local setting = devilcatacomb_zone.setting()
d.setf("level",6)
d.setqf2("devilcatacomb_zone","level", 6)
d.jump_all (setting.floor6_entry.x + setting.base.x, setting.floor6_entry.y + setting.base.y )
d.regen_file (setting.mob_regen_file_path.."dc_6f_regen.txt")
d.spawn_mob (setting.devil_great_king, setting.devil_great_king_pos[1], setting.devil_great_king_pos[2])
timer("warp_timer",3)
end

-- ¾Æ°É(2597)ÀÌ Á×À¸¸é, 6ÃþÀÇ Å¸À̸Ó1ÀÌ µ¿ÀÛÇÑ´Ù.
when devilcatacomb_devil_great_king.kill begin
server_timer ("floor6_eli_check_timer_1", 5,d.get_map_index())
end

-- 6ÃþÀÇ Å¸À̸Ó1Àº ´øÀüÀÇ ¸ðµç ¸ó½ºÅÍ ¼ýÀÚ¸¦ º¸°í,
-- 0À̸é 7ÃþÀ¸·Î ¿öÇÁÇϴ ŸÀ̸Ӹ¦ µ¿ÀÛÇÑ´Ù.
-- ¹Ù·Î 7ÃþÀ¸·Î °¡Áö ¾Ê´Â ÀÌÀ¯´Â, À¯Àú¿¡°Ô ÁغñÇÒ ½Ã°£À» ÁÖ±â À§Çؼ­ÀÌ´Ù.
-- 1À̸é ŸÀ̸Ó2¸¦ µ¿ÀÛ½ÃŲ´Ù.
-- ŸÀ̸Ó1À» recursiveÇÏ°Ô µ¿ÀÛ½ÃŰÁö ¾ÊÀº °ÍÀº,
-- ±×·² °æ¿ì resetÇÑ Å¸À̸Ó1ÀÌ µ¿ÀÛÇÏÁö ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù.
when floor6_eli_check_timer_1.server_timer begin
if d.select(get_server_timer_arg()) then
if d.count_monster() == 0 then
say_in_map (get_server_timer_arg(), locale.devilcatacomb_zone._320_say)
server_timer ("devilcatacomb_floor7_timer", 3, get_server_timer_arg())
else
server_timer ("floor6_eli_check_timer_2", 5, get_server_timer_arg())
end
end
end
--when 2597.kill begin test Darkne
--server_timer ("devilcatacomb_floor7_timer", 3, get_server_timer_arg())
--end
when floor6_eli_check_timer_2.server_timer begin
if d.select(get_server_timer_arg()) then
if d.count_monster() == 0 then
say_in_map (get_server_timer_arg(), locale.devilcatacomb_zone._320_say)
server_timer("devilcatacomb_floor7_timer", 3, get_server_timer_arg())
else
server_timer ("floor6_eli_check_timer_1", 5, get_server_timer_arg())
end
end
end

when devilcatacomb_floor7_timer.server_timer begin
if d.select(get_server_timer_arg()) then
local setting = devilcatacomb_zone.setting()

d.setf("level",7)
d.setqf2("devilcatacomb_zone","level", 7)
d.jump_all (setting.floor7_entry.x + setting.base.x, setting.floor7_entry.y + setting.base.y )
d.regen_file (setting.mob_regen_file_path.."dc_7f_regen.txt")
d.spawn_mob (setting.devil_emperor, setting.devil_emperor_pos[1], setting.devil_emperor_pos[2])
server_timer ("devilcatacomb_floor7_say_timer", 2, get_server_timer_arg())
end
end

when devilcatacomb_floor7_say_timer.server_timer begin
if d.select(get_server_timer_arg()) then

local t = 3600 -(get_global_time() - d.getf("enter_time"))
local t_r = math.mod (t, 60)
local t_m = (t - t_r) / 60
d.notice(locale.devilcatacomb_zone._330_dNotice)
d.notice(string.format(locale.devilcatacomb_zone._20_say, t_m))
d.set_warp_location (0, 0, 0)
end
end

-- 6Ãþ°ú ¸¶Âù°¡Áö·Î »ç¸¶ÈÖ(2598)ÀÌ Á×À¸¸é
-- 7ÃþÀÇ Å¸À̸Ӱ¡ ÀÛµ¿ÇÑ´Ù.
when devilcatacomb_devil_emperor.kill begin
server_timer ("floor7_eli_check_timer_1", 5, d.get_map_index())
end

-- 7ÃþÀÇ Å¸À̸Ӵ 6Ãþ ŸÀÌ¸Ó¿Í ºñ½ÁÇϸç,
-- ¸ó½ºÅÍ ¼ýÀÚ°¡ 0À̸é exit ŸÀ̸Ӹ¦ ¹ß»ý½ÃŲ´Ù.
-- ¹Ù·Î exitÇÏÁö ¾Ê´Â ÀÌÀ¯´Â, À¯Àúµé¿¡°Ô ÁغñÇÒ ½Ã°£À» ÁÖ±â À§Çؼ­ÀÌ´Ù.
when floor7_eli_check_timer_1.server_timer begin
if d.select(get_server_timer_arg()) then
if d.count_monster() == 0 then
d.set_warp_location (65, 5914, 992)
d.setqf2("devilcatacomb_zone","done", 1)
say_in_map (get_server_timer_arg(), locale.devilcatacomb_zone._340_say)
clear_server_timer ("devilcatacomb_0m_left_timer", get_server_timer_arg())
server_timer("devilcatacomb_exit_timer", 60, get_server_timer_arg())
else
server_timer ("floor7_eli_check_timer_2", 5, get_server_timer_arg())
end
end
end

when floor7_eli_check_timer_2.server_timer begin
if d.select(get_server_timer_arg()) then
if d.count_monster() == 0 then
d.set_warp_location (65, 5914, 992)
d.setqf2("devilcatacomb_zone","done", 1)
say_in_map (get_server_timer_arg(), locale.devilcatacomb_zone._340_say)
clear_server_timer ("devilcatacomb_0m_left_timer", get_server_timer_arg())
server_timer("devilcatacomb_exit_timer", 60, get_server_timer_arg())
else
server_timer ("floor7_eli_check_timer_1", 5, get_server_timer_arg())
end
end
end

when devilcatacomb_exit_timer.server_timer begin
if d.select(get_server_timer_arg()) then
d.setqf2("devilcatacomb_zone","level", 0)
d.setqf2("devilcatacomb_zone","last_exit_time", get_global_time())
clear_server_timer("devilcatacomb_5m_left_timer", get_server_timer_arg())
clear_server_timer("devilcatacomb_1m_left_timer", get_server_timer_arg())
clear_server_timer("devilcatacomb_0m_left_timer", get_server_timer_arg())
clear_server_timer("floor6_eli_check_timer_1", get_server_timer_arg())
clear_server_timer("floor6_eli_check_timer_2", get_server_timer_arg())
clear_server_timer("floor7_eli_check_timer_1", get_server_timer_arg())
clear_server_timer("floor7_eli_check_timer_2", get_server_timer_arg())
clear_server_timer("devilcatacomb_floor7_say_timer", get_server_timer_arg())
clear_server_timer("devilcatacomb_floor7_timer", 3, get_server_timer_arg())
d.clear_regen()
d.exit_all()
end
end
end --state
end --quest
Avatar utilizator
[ST]SSH
Membru Club

Membru Club
Mesaje: 1704
Membru din: 12 Apr 2016, 23:54
Server: Fost Eluria2
Regat: Jinno
Aprecieri: 132  
Mulţumiri: 245  
 Contact:
Medalii

Arhivat.
Închis
Răspunsuri
1
Vizualizări
417
Răspunsuri
19
Vizualizări
1836
Răspunsuri
14
Vizualizări
1076
Răspunsuri
1
Vizualizări
127

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 153 vizitatori