Premium DemoroCZ 4 Posted August 5, 2014 Premium Share Posted August 5, 2014 Hello, I'm trying solve problem with Devil's catacomb for few hours, but i can't find solution... When someone kill Azrael in last floor in Devil's catacomb, core will crash. In syserr isn't anything about Devil's catacomb (map or quest). Please can someone help me? Sorry for my english, and thanks. Quest: quest devilscatacomb begin state start begin function getLevelByCord() if pc.get_local_x() > 30 and pc.get_local_y() > 45 and pc.get_local_x() < 450 and pc.get_local_y() < 450 then return 1 elseif pc.get_local_x() > 540 and pc.get_local_y() > 39 and pc.get_local_x() < 1000 and pc.get_local_y() < 462 then return 2 elseif pc.get_local_x() > 1048 and pc.get_local_y() > 35 and pc.get_local_x() < 1455 and pc.get_local_y() < 458 then return 3 elseif pc.get_local_x() > 31 and pc.get_local_y() > 541 and pc.get_local_x() < 564 and pc.get_local_y() < 1058 then return 4 elseif pc.get_local_x() > 650 and pc.get_local_y() > 540 and pc.get_local_x() < 1050 and pc.get_local_y() < 955 then return 5 elseif pc.get_local_x() > 1175 and pc.get_local_y() > 576 and pc.get_local_x() < 1420 and pc.get_local_y() < 810 then return 6 else return 0 end end function isInCatacomb() if pc.get_map_index() >= (213 * 10000) and pc.get_map_index() < (214 * 10000) and pc.in_dungeon() then return true else return false end end function get3FloorStonePositions() local positions = { {1365, 352}, {1349, 150}, {1133, 167}, {1151, 364}, {1234, 136}, {1255, 371}, {1132, 245}, } for i = 1, 6 do local j = number(i, 7) if i != j then local t = positions[i]; positions[i] = positions[j]; positions[j] = t; end end return positions end function getTimeLeft() local secondsLeft = (d.getf("time") - get_time()) local minutesLeft = math.ceil(secondsLeft / 60) d.notice("Zbývá "..minutesLeft.." minut.") end when logout begin pc.remove_item(30311, pc.count_item(30311)) pc.remove_item(30312, pc.count_item(30312)) pc.remove_item(30313, pc.count_item(30313)) end when login begin if pc.get_map_index() == 213 then if devilscatacomb.getLevelByCord() > 1 or not next_time_is_now() then pc.warp((5913)*100, (993)*100, 65) -- 5913x993 591374x end pc.set_warp_location(65, 5913, 993) say("V první úrovni musí vaše skupina získat Klíč krystalu duše.") say("Až klíč Krystalu duše získáte, musíte najít sochu Kud, a použít") say("klíč na sochu Kud.") say("Poté bude vaše skupina přesunuta do další úrovně. ") say("") say_item_vnum(30311) say("") elseif pc.get_map_index() >= (213 * 10000) and pc.get_map_index() <= (214 * 10000) then pc.set_warp_location(65, 5913, 993) end end when 20367.chat." Ďáblova katakomba" begin --Enter the Devil Catacomb if pc.get_level() < 75 then say_title(mob_name(npc.get_race()) ..":") say("Chceš vstoupit do Ďáblovi katakomby?") say("") say("Jestli chceš vstoupit, tak musíš ") say("mít aspoň úroveň 75.") say("Vrať se, až budeš mít úroveň 75.") else say_title(mob_name(npc.get_race()) ..":") say("Chceš vstoupit do Ďáblovi katakomby?") say("") say("Mohu tě teleportovat, ale ") say("chci tě varovat: Už vstoupili mnoho bojovníků, ") say("a ne všichni se vrátili!") say("") say("Chceš teleportovat?") say("") local s = select("Ano","Ne") if s == 2 then return elseif s == 1 then pc.warp(415300, 4209200) end end end when kill with pc.get_map_index() == 213 and pc.countitem(30311) < 1 begin local rnd = number(1, 100) if rnd == 6 then game.drop_item_with_ownership(30311, 1) end end when 30101.take with item.vnum == 30311 begin --Teleport to 2nd Stage with the passenger ticket if party.is_party() then if party.is_leader() then say("Portál byl otevřen.") say("Můžete rychle projít!") wait() say("Toto je místo, kde začíná dobrodružství! Máte jen") say("jednu hodinu na prozkoumání Ďáblovo katakomby.") item.remove() sys_log(0, "DC create try by "..pc.get_name()) d.join(213) else say("Musíš být vůdce skupiny.") end else say("Bez skupiny nesmíš vstoupit.") end end when login with devilscatacomb.isInCatacomb() begin say("Ujisťete se, že všichni členové vaší skupiny") say("mají Vysušenou hlavu: ") say_item_vnum(30319) say("Vysušené hlavy si schovává Modrá smrt z Věže démonů. ") say("Pokud máte Vysušené hlavy, musíte najít cestu do středu") say("úrovně, rozbíjet brány co vám stojí v cestě, a najít Želví skálu.") say("Na prozkoumání celé katakomby máte 60 minut.") d.spawn_mob(30103, 740, 227) loop_timer("item_check", 10) if party.is_leader() then d.set_regen_file("data/dungeon/dc/dc_regen1.txt") d.regen_file("data/dungeon/dc/dc_doors.txt") d.setf("level", 2) server_timer("runtime", 6, pc.get_map_index()) elseif pc.is_gm() and not party.is_party() then d.set_regen_file("data/dungeon/dc/dc_regen1.txt") d.regen_file("data/dungeon/dc/dc_doors.txt") d.setf("level", 2) server_timer("runtime", 6, pc.get_map_index()) end end when item_check.timer with d.getf("level") == 3 begin if pc.countitem(30319) >= 1 then say("Máte vysušenou hlavu, budete teleportováni ") say("do 3. úrovně katakomby.") pc.remove_item(30319, 1) timer("item_check_end", 2) else d.exit_all() end end when item_check_end.timer begin cleartimer("item_check") end when runtime.server_timer begin if d.select(get_server_timer_arg()) then d.setf("time", get_time()+60*60*1) devilscatacomb.getTimeLeft() server_timer("runtime_end", 60*60, get_server_timer_arg()) end end when runtime_end.server_timer begin if d.select(get_server_timer_arg()) then d.notice(" Čas vypršel.") d.exit_all() end end when 30103.click with devilscatacomb.isInCatacomb() and devilscatacomb.getLevelByCord() == 2 and npc.lock() begin say("Vypadá to, že na kameni je několik") say("míst do kterých by šla vložit vysušená hlava.") wait() say("Na kameni je vytesáno:") say_reward("Tento starý kámen je magický. ") say_reward("Při vložení vysušené hlavy od každého ") say_reward(" člena skupiny, tento starý kámen přenese ") say_reward("celou skupinu hlouběji do katakomby.") say_reward("Avšak každý člen musí svou vysušenou hlavu vložit ") say_reward("do kamene sám.") say("") wait() local s = select("Všichni členové, vložte hlavy!", "Zatím ne.") if s == 2 then return elseif s == 1 then if pc.count_item(30319) >= 1 then npc.purge() d.setf("level", 3) d.purge() d.clear_regen() timer("dc_jump_3", 6) else say("Všichni členové skupiny nemají vysušenou hlavu, ") say("budete teleportováni ...") pc.warp(591374, 99325, 65) end end end when dc_jump_3.timer begin d.set_regen_file("data/dungeon/dc/dc_regen2.txt") d.notice("Na této úrovni musíte najít správný Balvan Naděje!") devilscatacomb.getTimeLeft() d.jump_all(5451, 42282) local positions = devilscatacomb.get3FloorStonePositions() for i = 1, 6 do d.set_unique("fake" .. i , d.spawn_mob(8037, positions[i][1], positions[i][2])) end d.set_unique("real", d.spawn_mob(8037, positions[7][1], positions[7][2])) server_loop_timer('dc_stone3_update', 10, pc.get_map_index()) end when dc_stone3_update.server_timer begin if d.select(get_server_timer_arg()) then if not d.is_unique_dead("real") then for i = 1, 6 do if d.getf("fakedead" .. i) == 0 then if d.unique_get_hp_perc("fake" .. i) < 30 then if not d.is_unique_dead("fake" .. i) then d.purge_unique("fake" .. i) end d.setf("fakedead" .. i, 1) d.notice("Tento balvan je falešný, hledejte dál!"); end end end else server_timer("dc_stone_end3", 5, get_server_timer_arg()) d.notice("Skupina našla správný balvan, budete teleportování dále.") end else server_timer('dc_stone3_stop_timer', 1, get_server_timer_arg()) end end when dc_stone3_stop_timer.server_timer begin clear_server_timer('dc_stone3_update', get_server_timer_arg()) end when dc_stone_end3.server_timer begin if d.select(get_server_timer_arg()) then clear_server_timer('dc_stone3_update', get_server_timer_arg()) d.setf("level", 4) d.jump_all(4347, 42810) d.clear_regen() d.set_regen_file("data/dungeon/dc/dc_regen3.txt") d.regen_file("data/dungeon/dc/dc_warps.txt") d.spawn_mob(30104, 500, 716) end end when 30104.click with devilscatacomb.isInCatacomb() and devilscatacomb.getLevelByCord() == 4 and npc.lock() begin npc.purge() say_in_map(pc.get_map_index(),"Dokázali jste to! [ENTER] Toto vypadá jako výstup z bludiště! [ENTER] Budete přesunuti do 5. patra.") server_timer("dc4_enter", 6, pc.get_map_index()) end when dc4_enter.server_timer begin if d.select(get_server_timer_arg()) then d.jump_all(4918, 42939) d.set_regen_file("data/dungeon/dc/dc_regen4.txt") d.spawn_mob(30102, 848, 739) local mob_pos = { {1006, 649}, {979, 829}, {691, 822}, {714, 653}, {848, 593} } local rnd = number(1, 5) d.spawn_mob(2591, mob_pos[rnd][1], mob_pos[rnd][2]) server_timer("dc4_message", 3, get_server_timer_arg()) end end when dc4_message.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Na této úrovni musíte najít Šklebící se totem. Schovává ho u sebe Král Azachiel.") devilscatacomb.getTimeLeft() end end when 30102.take with item.vnum == 30312 begin say("Našli jste Šklebící se totem.") say("Budete přesunuti na další úroveň!") say("") wait() say("Dobrá práce!") item.remove() npc.purge() d.clear_regen() timer("dc_level_5", 6) end when dc_level_5.timer begin d.jump_all(5312, 42799) timer("dc_level_5_start", 5) end when dc_level_5_start.timer begin d.setf("level", 5) d.notice("Poražte Charona!") devilscatacomb.getTimeLeft() d.regen_file("data/dungeon/dc/dc_regen5.txt") d.spawn_mob(2597, 1301, 699) end when kill begin if devilscatacomb.isInCatacomb() then if npc.race == 2597 then if d.count_monster() < 1000 then d.setf("level", 6) d.clear_regen() timer("dc_level_5_end", 12) else if d.getf("charon_spawns") < 4 then d.spawn_mob(2597, 1301, 699) d.setf("charon_spawns", d.getf("charon_spawns") + 1) else d.notice("Bohužel se vám nepodařilo zabít Charona.") d.notice("Budete teleportováni.") local nextTime=get_time()+time_min_to_sec(1) d.setqf("__NEXT_TIME__", nextTime) d.exit_all() end end end if npc.race == 2591 then game.drop_item_with_ownership(30312, 1) end end end when 2598.kill with pc.in_dungeon() begin clear_server_timer("runtime", get_server_timer_arg()) clear_server_timer("runtime_end", get_server_timer_arg()) notice_all("Skupina hráče "..pc.get_name().." zabila Azraela!") local text = "Azrael byl poražen. Za 60 sekund budete teleportováni." --d.spawn_mob(9012, 74, 1159) say_in_map(pc.get_map_index(), text) timer("glory_message", 60) end when dc_level_5_end.timer begin d.setf("level", 6) say_in_map(pc.get_map_index(),"Podařilo se vám zabít Charona.[ENTER]Budete teleportování na poslední úroveň katakomby.") timer("dc_level_6", 3) end when dc_level_6.timer begin d.jump_all(4145, 43187) timer("dc_level_6_into", 3) end when dc_level_6_into.timer begin d.regen_file("data/dungeon/dc/dc_regen6.txt") d.spawn_mob(2598, 74, 1103) d.notice("Poražte Azraela!") end when glory_message.timer begin --local text = "Azrael byl poražen. Můžete se teleportovat." --d.spawn_mob(9012, 74, 1159) --say_in_map(pc.get_map_index(), text) local nextTime=get_time()+time_min_to_sec(1) d.setqf("__NEXT_TIME__", nextTime) d.exit_all() --timer("dc_end", 60) end when dc_end.timer begin local nextTime=get_time()+time_min_to_sec(1) d.setqf("__NEXT_TIME__", nextTime) d.exit_all() return end end end Link to comment Share on other sites More sharing options...
Premium DemoroCZ 4 Posted August 6, 2014 Author Premium Share Posted August 6, 2014 UP Link to comment Share on other sites More sharing options...
Honorable Member .plechito' 7777 Posted August 6, 2014 Honorable Member Share Posted August 6, 2014 Něco podobnýho jako dělalo kdysi na 2089 Smrtka.. Vlastně je to to stejné ID.. Zkus dát Azraelovy úplně jiné ID.. Třeba 4001. Link to comment Share on other sites More sharing options...
Premium DemoroCZ 4 Posted August 6, 2014 Author Premium Share Posted August 6, 2014 Něco podobnýho jako dělalo kdysi na 2089 Smrtka.. Vlastně je to to stejné ID.. Zkus dát Azraelovy úplně jiné ID.. Třeba 4001. Díky, zkusim. Link to comment Share on other sites More sharing options...
Premium DemoroCZ 4 Posted August 6, 2014 Author Premium Share Posted August 6, 2014 Něco podobnýho jako dělalo kdysi na 2089 Smrtka.. Vlastně je to to stejné ID.. Zkus dát Azraelovy úplně jiné ID.. Třeba 4001. Díky, zkusim. Pořád nefunguje.. Ale všiml jsem si že to jádro nespadne hned po zabití azraela, ale až po portu z katakomb. Link to comment Share on other sites More sharing options...
Premium DemoroCZ 4 Posted August 7, 2014 Author Premium Share Posted August 7, 2014 UP Link to comment Share on other sites More sharing options...
Night 367 Posted August 7, 2014 Share Posted August 7, 2014 are you sure about syserr? did you look into the core were you have the dc map? + what kind of crush is this ? client/server ? (most lilely form what you said + the info it looks like a server crush but still more info means more help) Link to comment Share on other sites More sharing options...
Premium DemoroCZ 4 Posted August 7, 2014 Author Premium Share Posted August 7, 2014 are you sure about syserr? did you look into the core were you have the dc map? + what kind of crush is this ? client/server ? (most lilely form what you said + the info it looks like a server crush but still more info means more help) I'm sure with syserr, there is nothing about DC. I've DC on CH99, on CH99 is only DC, nothing else. Only core (CH99) crash when everyone warp from DC. But i found one interesing thing - when i kill Azrael in another floor, quest works without problems - someone kill Azrael, everyone warp from DC, and everything works fine - nothing crash. Thanks, and sorry for my english. Link to comment Share on other sites More sharing options...
Honorable Member .plechito' 7777 Posted August 7, 2014 Honorable Member Share Posted August 7, 2014 Zkus dát ještě katakomby na jiné rozločení, třeba ch1 Link to comment Share on other sites More sharing options...
Premium DemoroCZ 4 Posted August 7, 2014 Author Premium Share Posted August 7, 2014 Zkus dát ještě katakomby na jiné rozločení, třeba ch1 Původně jsem to měl na CH1, potom jsem na test. serveru smazal všechny mapy z CH99 a hodil tam jen katakomby, ale nepomohlo.. Link to comment Share on other sites More sharing options...
Premium DemoroCZ 4 Posted August 19, 2014 Author Premium Share Posted August 19, 2014 UP Link to comment Share on other sites More sharing options...
Premium DemoroCZ 4 Posted August 21, 2014 Author Premium Share Posted August 21, 2014 UP Link to comment Share on other sites More sharing options...
Premium DemoroCZ 4 Posted August 22, 2014 Author Premium Share Posted August 22, 2014 Hello, finally i found something about in syserr about DC, but still i can't solve this problem... SYSERR: Aug 22 20:23:11 :: SetDungeon: [GA]Demoro is trying to reassigning dungeon (current 0x28d27880, new party 0x28d27880) SYSERR: Aug 22 20:24:38 :: GetUniqueHpPerc: Unknown Key : fake6 SYSERR: Aug 22 20:24:38 :: IsUniqueDead: Unknown Key or Dead : fake6 SYSERR: Aug 22 20:25:08 :: IsUniqueDead: Unknown Key or Dead : real Maybe it help with solving this problem.. Link to comment Share on other sites More sharing options...
Premium DemoroCZ 4 Posted August 23, 2014 Author Premium Share Posted August 23, 2014 UP Link to comment Share on other sites More sharing options...
Premium DemoroCZ 4 Posted August 25, 2014 Author Premium Share Posted August 25, 2014 Solved Link to comment Share on other sites More sharing options...
Dennis 168 Posted October 19, 2014 Share Posted October 19, 2014 how Solved this error trying to reassigning dungeon Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now