lordehsan 122 Posted October 23, 2014 Share Posted October 23, 2014 HI this is English quest Snow_Dungon --[[ -- Nemeres Warte (Snow Dungeon) -- lvl 100 -- Copyright ©Zymos/Risan -- Version 2.0 -- Create: 08.06.2014 -- Need GameRevision: 40250 -- INFO: GameRevision 40301 oder P40301 wird benötigt für: MobVnum 8058 kann nur Schamanen DMG anfügen. MobVnum 20399 kann nur Schamanen und Ninja DMG anfügen. Neue Questfuntion: drop_item_and_select() ersetzt pc.give_item2_select(). ]] quest snow_dungeon begin state start begin when 9010.chat."Spawn Statue" with snow_dungeon.is_nemeres_dungeon() == true begin d.purge() d.spawn_mob_dir(20397, 173,262,1) setskin(NOWINDOW) end when 9010.chat."TESTSERVER: SnowD Jump level 9" with snow_dungeon.is_nemeres_dungeon() == true begin local set = snow_dungeon.get_settings() d.notice("Der Richtige Schlüssel wurde gefunden, in wenigen Sekunden geht es in den nächsten Stock.") server_timer("Jp_9",6,d.get_map_index()) d.clear_regen() d.kill_all() d.regen_file("data/dungeon/ice_dungeon/zone_9.txt") setskin(NOWINDOW) end when 9010.chat."TESTSERVER: SnowD Jump level 10" with snow_dungeon.is_nemeres_dungeon() == true begin local set = snow_dungeon.get_settings() server_timer("Jp_Boss",3,d.get_map_index()) d.clear_regen() d.kill_all() d.regen_file("data/dungeon/ice_dungeon/zone_boss.txt") local v = set.BossVnumGroup d.spawn_group(v, 928, 335, 5 ,1, 1) -- (Input from SRC: argument: vnum,x,y,radius,aggressive,count) setskin(NOWINDOW) end when 9010.chat."TESTSERVER: SnowD Spawn Boss" with snow_dungeon.is_nemeres_dungeon() == true begin local set = snow_dungeon.get_settings() local v = set.BossVnumGroup d.spawn_group(v, 928, 335, 5 ,1, 1) -- (INFO from SRC: argument: vnum,x,y,radius,aggressive,count) end when 9010.chat."TESTSERVER: SnowD Ending" with snow_dungeon.is_nemeres_dungeon() == true begin server_timer("Jp_OutAll",5,d.get_map_index()) say("done") end -- when 30331.use begin --key_level_2 -- LIB_writelog("{"..pc.get_local_x()..","..pc.get_local_y().."}",3,"snowcordis.txt") -- d.spawn_mob(20399, pc.get_local_x(), pc.get_local_y()) -- chat("write north star coordinates") -- end when 9010.chat."TESTSERVER: SnowD Spawn create Cords Test level 5" with snow_dungeon.is_nemeres_dungeon() == true begin snow_dungeon._Create_Stones_level5() setskin(NOWINDOW) end when 9010.chat."TESTSERVER: SnowD Create Key level 5" with snow_dungeon.is_nemeres_dungeon() == true begin snow_dungeon._DropKeyOnLevel5() setskin(NOWINDOW) end when 9010.chat."TESTSERVER: SnowD Get cord from Level" with snow_dungeon.is_nemeres_dungeon() == true begin local set = snow_dungeon.get_settings() local warp_to_level = set.Position_level_1 local level = 2 say("old: x: "..warp_to_level[1].." y:"..warp_to_level[2].."") local warp_to_level = set. _G[ "Position_level_"..level ] say("new: x: "..warp_to_level[1].." y:"..warp_to_level[2].."") --DONT WORKS! end function get_settings() local snow_dungeon_settings = {} snow_dungeon_settings.map_index = 219 --Mapindex snow_dungeon_settings.base_cord = {5120, 1536 } --Base Kordinaten snow_dungeon_settings.outside_entry_pos = {61,4321,1667} --Mapindex, Exit Position (Eisland) snow_dungeon_settings.need_level = 100 --Ab wann ist der Dungeon betretbar. snow_dungeon_settings.need_level_group = 100 --Benötigte Level für Gruppenmitglieder snow_dungeon_settings.WaitBeforOutAllOnExit = 60 --Wartezeit bevor alle alle herausteleportiert werden bei einem erfolgreichen Run. (Empfohlen 60) snow_dungeon_settings.NextJumpTime = 5 --Wann man zur nächsten ebene Gejumpt wird (timer) (Empfohlen 5) snow_dungeon_settings.DurationLoopTimer = 45 --Welchen intervall die Level und Missionen geprüft werden sollen. (Empfohlen 45) snow_dungeon_settings.wait_duration = 60*60*4 --Ab wann der Dungeon wieder betretbar ist (PartyLeader) snow_dungeon_settings.maxlife_time_on_dungeon = 60*60*1 --Maximale Zeit für den Dungeon. snow_dungeon_settings.DurationMaxOnReJoinGroup = 60*5 --Maximale Zeit innerhalb wann man wieder in die Gruppe joinen kann. snow_dungeon_settings.key_level_2 = 30331 --KeyVnum für die 2.Ebene --Frostschlüssel snow_dungeon_settings.NpcVnum_level_5 = 20398 --MobVnum von 5.Ebene --Würfel des Arktos snow_dungeon_settings.StoneCount_level_5 = 6 --Wie viele Würfel des Arktos sollen erscheinen? snow_dungeon_settings.Key_on_level_5 = 30332 --KeyVnum von 5.Ebene --Nordstern snow_dungeon_settings.StoneCords_level_5 = { {432,508},{437,493},{448,492},{448,476},{467,475},{466,464}, {462,450},{458,428},{446,439},{431,431},{415,416},{402,427}, {397,438},{375,434},{374,456},{390,468},{385,492},{402,505}, {404,489},{386,482} } --Positionen von Würfel des Arktos snow_dungeon_settings.MobVnum_level_6 = 8058 --MobVnum von 6.Ebene --Metin der Kälte snow_dungeon_settings.MobVnum_level_7 = 6151 --MobVnum von 7.Ebene --Szel snow_dungeon_settings.SzelCords_level_7 = { {752,499},{758,479},{772,452},{763,444},{750,451},{728,441}, {726,455},{718,482},{715,491},{731,473},{748,429} } --Positionen von Szel snow_dungeon_settings.Key_on_level_8 = 30333 --KeyVnum von 8.Ebene --Eisblumenschlüssel snow_dungeon_settings.NpcVnum_level_9 = 20399 --MobVnum von 9.Ebene --Säule des Norddrachen snow_dungeon_settings.BossVnumGroup = 6062 --GroupMobVnum vom Boss --(Group.txt) snow_dungeon_settings.BossVnum = 6191 --MobVnum von 10.Ebene --Nemere(6191) snow_dungeon_settings.Position_level_1 = { 171,271 } --Position ebene 1 --Startposition --Töte alle Monster auf dieser Ebene. snow_dungeon_settings.Position_level_2 = { 761,270 } --Position ebene 2 --Finde den richtigen Frostschlüssel, nur ein Schamane kann ihn benutzen. snow_dungeon_settings.Position_level_3 = { 187,491 } --Position ebene 3 --Töte alle Monster auf dieser Ebene. snow_dungeon_settings.Position_level_4 = { 421,259 } --Position ebene 4 --Töte alle Monster auf dieser Ebene. snow_dungeon_settings.Position_level_5 = { 419,530 } --Position ebene 5 --Öffnet die Siegel an den Würfel des Arktos in der richtigen Reihenfolge. (Zieht Nordstern auf die Würfel) snow_dungeon_settings.Position_level_6 = { 571,706 } --Position ebene 6 --Töte alle Monster auf dieser Ebene. Danach Zersöre den Metin der Kälte (Nur ein Schamane kann ihn Schaden) snow_dungeon_settings.Position_level_7 = { 746,534 } --Position ebene 7 --Töte alle Monster auf dieser Ebene und Szel snow_dungeon_settings.Position_level_8 = { 303,710 } --Position ebene 8 --Der Eisblumenschlüssel muss gedroppt werden, jedoch kann dieser nur von Schamanen und Ninja benutzt werden. snow_dungeon_settings.Position_level_9 = { 848,693 } --Position ebene 9 --Zerstört die Säule des Norddrachen. Nur Ninjas und Schamanen können ihm Schaden zufügen. snow_dungeon_settings.Position_level_10 = { 927,391 } --Position ebene 10 (BossZone) --Besiege Nemere, den König über Frost und Eis. snow_dungeon_settings.Enable_TestServerMode = false --Ob TestServer mode aktiviert ist. Wenn ja werden die Aufgaben schneller beendet. snow_dungeon_settings.IsNewGameRevision = true --Need GameRevision 40301 return snow_dungeon_settings end function is_TestServerMode() local set = snow_dungeon.get_settings() return set.Enable_TestServerMode end function is_nemeres_dungeon() local set = snow_dungeon.get_settings() local map = pc.get_map_index() if map >= (set.map_index * 10000) and map < (set.map_index * 10000 + 9000) then return true else return false end end when 20395.chat."Join your group again" with (party.is_party() and d.find(party.getf("ice_dungeon_map_index"))) begin local set = snow_dungeon.get_settings() local n = party.getf("ice_dungeon_map_index") local cord = set.base_cord local level = d.getf_from_map_index("level", n) --say("News Dungeon Level your group: "..level.."") if level == 0 then say_npc_name() say("Your group has already completed the run.") return end if pc.getqf("out_party_time") < get_global_time() then say_npc() say("") say("You have more than "..math.ceil(set.DurationMaxOnReJoinGroup /60) .." Minute(a) vor dem") say("the iceberg lingers and now can no longer occur.") say(" ") return end if n == 0 then setskin(NOWINDOW) return else say_npc() say("") say("Would you like to join your group again?") if select("Ja","Nein") == 1 then local warp_to_level = set.Position_level_1 local level = d.getf_from_map_index("level", n) if level >= 1 and level <= 10 then if level == 1 then warp_to_level = set.Position_level_1 elseif level == 2 then warp_to_level = set.Position_level_2 elseif level == 3 then warp_to_level = set.Position_level_3 elseif level == 4 then warp_to_level = set.Position_level_4 elseif level == 5 then warp_to_level = set.Position_level_5 elseif level == 6 then warp_to_level = set.Position_level_6 elseif level == 7 then warp_to_level = set.Position_level_7 elseif level == 8 then warp_to_level = set.Position_level_8 elseif level == 9 then warp_to_level = set.Position_level_9 elseif level == 10 then warp_to_level = set.Position_level_10 end pc.warp((cord[1] + warp_to_level[1])*100,(cord[2] + warp_to_level[2])*100,n) else return end end end end when 20395.chat."Nemeres waiting" begin local set = snow_dungeon.get_settings() local need_level = set.need_level say_npc() say("") say("Do you really want with your group the ") say("Nemeres waiting to enter?") if select("Yes, we want to enter! "," No, us it is too cold there ...") == 2 then return end if (pc.is_gm() and pc.getf("snow_dungeon","duration") >= get_global_time()) then say("Your are GameMaster, remove the duration?") if select("Yes","No") == 1 then pc.setf("snow_dungeon","duration",0) return end end if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then say("TestServer Mode is enable.") say("Join now") timer("make_dungeon",3) return end if not party.is_leader() then say_npc() say("I appreciate your courage, but alone you will ") say("run into the Nemres waiting in your ruin.") say("Place a strong group together and I will ") say("grant you admission.") return end if pc.get_level() < need_level then say("You need at least level "..need_level.."") say("to this dungeon to enter.") return end if pc.getf("snow_dungeon","duration") >= get_global_time() then say_npc() say("The waiting time for re-entry into the ") say("Nemeres-Warte has not yet expired. ") say("Verb. time: "..LIB_duration(pc.getf("snow_dungeon","duration") - get_global_time()).."") return end if snow_dungeon._CheckMembersLevel() == false then return else timer("make_dungeon",2) end end when 20397.chat."The battle begin" begin --Eisiger Löwe say_npc() say("") say("Surely that want to start it?") if select("Yed","No, Maby Later") == 1 then local set = snow_dungeon.get_settings() local loop_durr = set.DurationLoopTimer local wait_durations = set.wait_duration local t = get_global_time() d.setf("LastTimeGetOutPut",0) server_loop_timer("CheckLevelAndCountKillOnMobs",loop_durr,d.get_map_index()) d.regen_file("data/dungeon/ice_dungeon/zone_1.txt") d.setf("Start_Time",t + set.maxlife_time_on_dungeon) server_timer("Jp_OutAllFailNotice",(t + set.maxlife_time_on_dungeon) - t,d.get_map_index()) --pc.setqf("duration",t + wait_durations) d.setqf2("snow_dungeon","duration",t + wait_durations) d.setf("level",1) d.notice("The first monsters appear, kill all to get to the next floor.") npc.purge() snow_dungeon._GetLastTime() end setskin(NOWINDOW) end when make_dungeon.timer begin local set = snow_dungeon.get_settings() local cord = set.base_cord local start_pos = set.Position_level_1 local t = get_global_time() d.new_jump_party(set.map_index,(cord[1] + start_pos[1]), (cord[2] + start_pos[2])) --d.new_jump_all(set.map_index,(cord[1] + start_pos[1]), (cord[2] + start_pos[2])) snow_dungeon._ClearAlls() d.setf("party_leader_pid",party.get_leader_pid()) party.setf("ice_dungeon_map_index",d.get_map_index()) d.spawn_mob_dir(20397, 173,262,1) --Eisiger Löwe end function _ClearAlls() local d_index = d.get_map_index() clear_server_timer("CheckLevelAndCountKillOnMobs",d_index) clear_server_timer("Jp_1",d_index) clear_server_timer("Jp_2",d_index) clear_server_timer("Jp_3",d_index) clear_server_timer("Jp_4",d_index) clear_server_timer("Jp_5",d_index) clear_server_timer("Jp_6",d_index) clear_server_timer("Jp_7",d_index) clear_server_timer("Jp_8",d_index) clear_server_timer("Jp_9",d_index) clear_server_timer("Jp_10",d_index) clear_server_timer("Jp_OutAll",d_index) clear_server_timer("Jp_OutAllFail",d_index) clear_server_timer("Jp_OutAllFailNotice",d_index) d.setf("level",0) d.setf("party_leader_pid",0) d.setf("Start_Time",0) d.setf("LastTimeGetOutPut",0) d.setf("Stone_5_count",0) d.setf("Stone_5_item_fail",0) d.clear_regen() d.kill_all() end function _CheckMembersLevel() local set = snow_dungeon.get_settings() local user_fail_level = {} local pids = {party.get_member_pids()} local need_level = set.need_level_group local have_ninja = false local have_shaman = false for i = 1, table.getn(pids), 1 do q.begin_other_pc_block(pids) if pc.get_level() < need_level then table.insert(user_fail_level, table.getn(user_fail_level) +1, pc.get_name()) end local job = pc.get_job() if job == 1 -- Ninja weiblich or job == 5 --Ninja männlich then have_ninja = true end if job == 3 -- Schamane weiblich or job == 7 --Schamane männlich then have_shaman = true end q.end_other_pc_block() end if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then --dchat("TestServer Mode is enable.") return true end if have_ninja == false then say("You can not enter this dungeon without a Ninja.") say("") return false end if have_shaman == false then say("You can not enter this dungeon without a Mage.") say("") return false end if table.getn(user_fail_level) >= 1 then say_npc() say("") say("Some members of a group have not ") say("reached Level "..need_level..":") for x = 1, table.getn(user_fail_level), 1 do say(color(1,1,0), " "..user_fail_level[x]) end return false end if table.getn(user_fail_level) == 0 then return true end end when logout begin if snow_dungeon.is_nemeres_dungeon() == true then local set = snow_dungeon.get_settings() pc.setqf("out_party_time",get_global_time() + set.DurationMaxOnReJoinGroup) --snow_dungeon.unregister_name() end end when login begin if snow_dungeon.is_nemeres_dungeon() == true then local set = snow_dungeon.get_settings() local backk = set.outside_entry_pos pc.set_warp_location(backk[1], backk[2],backk[3]) if d.getf("party_leader_pid") != party.get_leader_pid() then chat("nemeres_wait_dungeon #RAUS:# Outside, your Group is not on this Dungeon") chat("nemeres_wait_dungeon #RAUS:#debug -> "..d.getf("party_leader_pid").." != "..party.get_leader_pid().."") d.exit() return end if pc.get_level() < set.need_level_group then chat("nemeres_wait_dungeon #RAUS:# My level is low") d.exit() return end --chat("Welcome to Nemeres waiting, you have "..math.ceil((d.getf("Start_Time") - get_global_time()) /60) .." Minutes Time.") --notice("Kill all the monsters on this level to get to the next floor.") --snow_dungeon._GetLastTime() end end function _GetLastTime() local c = get_global_time() local t = d.getf("Start_Time") - c local o = d.getf("LastTimeGetOutPut") --d.notice("CurrentTime: "..c.." Last: "..o.."") if c >= o then if t >= 60 then d.notice("Your Remain "..math.ceil(t / 60).." Minute(s).") else d.notice("Your Remain "..t .." Second(s).") end if t >= (60*10) then d.setf("LastTimeGetOutPut",c + 60*5) elseif t >= (60*5) then d.setf("LastTimeGetOutPut",c + 60*2) else d.setf("LastTimeGetOutPut",c + 10) end --d.setf("LastTimeGetOutPut",c + 60*number(3,5)) -- Random end end when Jp_OutAllFailNotice.server_timer begin if d.select(get_server_timer_arg()) then d.notice("Time has elapsed.") server_timer("Jp_OutAll",1,d.get_map_index()) end end when CheckLevelAndCountKillOnMobs.server_timer begin if d.select(get_server_timer_arg()) then local set = snow_dungeon.get_settings() local level = d.getf("level") local mob_count = d.count_monster() local next_jump_time = set.NextJumpTime --d.notice("level: "..level.." mob_count: "..mob_count.."") if level == 1 and mob_count <= 0 then d.notice("You have all the monsters defeated,[ENTER} in a few seconds it goes to the next floor.") d.notice("") server_timer("Jp_2",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() d.set_regen_file("data/dungeon/ice_dungeon/zone_2.txt") elseif level == 3 and mob_count <= 0 then d.notice("You have all the monsters defeated,[ENTER}in a few seconds it goes to the next floor.") d.notice("") server_timer("Jp_4",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() d.regen_file("data/dungeon/ice_dungeon/zone_4.txt") elseif level == 4 and mob_count <= 0 then d.notice("You have all the monsters defeated,[ENTER}in a few seconds it goes to the next floor.") d.notice("") server_timer("Jp_5",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() d.set_regen_file("data/dungeon/ice_dungeon/zone_5.txt") elseif level == 6 and mob_count <= 0 then local MobStonelvl6 = set.MobVnum_level_6 d.notice("You have all the monsters defeated,[ENTER} The "..mob_name(MobStonelvl6).." appears..") d.notice("") d.clear_regen() d.kill_all() d.regen_file("data/dungeon/ice_dungeon/zone_6.txt") d.spawn_mob(MobStonelvl6,570,649) elseif level == 7 and mob_count <= 0 then d.notice("You have all the monsters defeated,[ENTER}in a few seconds it goes to the next floor.") d.notice("") server_timer("Jp_8",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() d.set_regen_file("data/dungeon/ice_dungeon/zone_8.txt") end snow_dungeon._GetLastTime() end end when Jp_2.server_timer begin --Jump Level 2 if d.select(get_server_timer_arg()) then local set = snow_dungeon.get_settings() local v = set.key_level_2 d.setf("level",2) local cord = set.base_cord local pos = set.Position_level_2 d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2])) d.notice("finds the right "..item_name(v).." to get to on.") d.notice("") end end when 30331.use with snow_dungeon.is_nemeres_dungeon() == true begin --key_level_2 local set = snow_dungeon.get_settings() local next_jump_time = set.NextJumpTime local job = pc.get_job() local level = d.getf("level") if level == 2 then if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then --dchat("SET VARIABLE JOB 3") job = 3 end if job == 3 -- Schamane weiblich or job == 7 --Schamane männlich then if number(1,3) == 1 then --or d.count_monster() < 10 then d.notice("The correct key has been found in a [ENTER}few seconds it goes to the next floor.") server_timer("Jp_3",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() d.regen_file("data/dungeon/ice_dungeon/zone_3.txt") item.remove() else d.notice("That was the wrong key.") item.remove() end else d.notice("Only Mage can use it.") return end end end when Jp_3.server_timer begin --Jump Level 3 if d.select(get_server_timer_arg()) then local set = snow_dungeon.get_settings() d.setf("level",3) local cord_MQ = set.base_cord local pos = set.Position_level_3 d.jump_all((cord_MQ[1] + pos[1]), (cord_MQ[2] + pos[2])) d.notice("Kill all the monsters on this level[ENTER} to get to the next floor.") end end when Jp_4.server_timer begin --Jump Level 4 if d.select(get_server_timer_arg()) then local set = snow_dungeon.get_settings() d.setf("level",4) local cord = set.base_cord local pos = set.Position_level_4 d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2])) d.notice("Kill all the monsters on this level[ENTER} to get to the next floor.") end end when Jp_5.server_timer begin --Jump Level 5 if d.select(get_server_timer_arg()) then local set = snow_dungeon.get_settings() local v = set.NpcVnum_level_5 d.setf("level",5) local cord = set.base_cord local pos = set.Position_level_5 d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2])) d.notice("Opens the seals on the "..mob_name(v).." right in the order.") if set.IsNewGameRevision == true then d.notice("The key to drop the monster ...") else d.notice("The key land automatically into your inventory ...") end snow_dungeon._Create_Stones_level5() end end function _DropKeyOnLevel5() if number(1,1000) >= 666 then --Abbruch der weiteren funtion -> Damit es spannend bleibt bei den würfeln... return end local set = snow_dungeon.get_settings() local count = set.StoneCount_level_5 local vnum = set.Key_on_level_5 local get_random_unique = d.get_unique_vid("stone5_"..number(1,count).."") local fail_count = d.getf("Stone_5_item_fail") +1 local search = d.getf("Stone_5_count") local search2 = d.get_unique_vid("stone5_"..search.."") if search2 != get_random_unique then d.setf("Stone_5_item_fail",fail_count) end -- if set.IsNewGameRevision == true then --New function game.drop_item_and_select(vnum,1) else pc.give_item2_select(vnum,1) end --dchat("Creaty Key fail_count: "..fail_count.."") if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then --Wenn TestServer Modus item.set_socket(1,search2) d.setf("Stone_5_item_fail",0) elseif fail_count > 6 then --Wenn mehr wie x mal nicht richtig erstellt wird, dann kommt der richtige Key item.set_socket(1,search2) d.setf("Stone_5_item_fail",0) else item.set_socket(1,get_random_unique) end end function _Create_Stones_level5() local set = snow_dungeon.get_settings() local stone_level5_count_MQ = set.StoneCount_level_5 local c = set.StoneCords_level_5 --{ {432,508},{437,493},{448,492},{448,476},{467,475},{466,464}} local v = set.NpcVnum_level_5 for i = 1, stone_level5_count_MQ, 1 do local n = number(1,table.getn©) --d.spawn_mob(20398, c[n][1], c[n][2]) d.set_unique("stone5_"..i.."", d.spawn_mob(v, c[n][1], c[n][2])) --d.set_unique("stone5_"..i.."", mob.spawn(20398, c[n][1], c[n][2],1,1,1)) --GEHT --d.set_unique("stone5_"..i.."", d.spawn_mob_ac_dir(20398, c[n][1], c[n][2],i)) --GEHT table.remove(c,n) if i == 1 then d.setf("Stone_5_count",1) d.setf("Stone_5_item_fail",0) end end end when 20398.take begin --NpcVnum_level_5 if snow_dungeon.is_nemeres_dungeon() == true then local set = snow_dungeon.get_settings() local stone_level5_count = set.StoneCount_level_5 local next_jump_time = set.NextJumpTime local vnum = item.get_vnum() local key_level_5 = set.Key_on_level_5 --30332 local unique_item = item.get_socket(1) --dchat("unique_item: "..unique_item.."") if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then d.notice("TESTSERVERMODE, in a few seconds it goes to the next floor.") npc.purge() item.remove() server_timer("Jp_6",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() d.regen_file("data/dungeon/ice_dungeon/zone_6.txt") return end if vnum == key_level_5 then local npc_vid = npc.get_vid() local search = d.getf("Stone_5_count") local search2 = d.get_unique_vid("stone5_"..search.."") --dchat("npc_vid: "..npc_vid.." search:"..search.." search2:"..search2.." ") if npc_vid == search2 then if unique_item == npc_vid then local new = search +1 if new > stone_level5_count then d.notice("The last stone was endeckt properly in a few seconds it goes to the next floor.") npc.purge() item.remove() server_timer("Jp_6",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() d.regen_file("data/dungeon/ice_dungeon/zone_6.txt") else d.notice("The "..search..". Find was made. [ENTER}It must further ".. stone_level5_count - search .." stones found in the correct order.") npc.purge() item.remove() end d.setf("Stone_5_count",new) else chat("Although this is the correct stone, but the wrong key.") item.remove() end else chat("This is not the right stone.") end end end --if is dungeon end end --when end when Jp_6.server_timer begin --Jump Level 6 if d.select(get_server_timer_arg()) then local set = snow_dungeon.get_settings() local v = set.MobVnum_level_6 d.setf("level",6) local cord = set.base_cord local pos = set.Position_level_6 d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2])) d.notice("You killed all the monsters. [ENTER]Kill all the monsters and destroy the "..mob_name(v).."") d.notice("Only Mage can add him harm.") --d.spawn_mob(v,570,649) end end when Jp_7.server_timer begin --Jump Level 7 if d.select(get_server_timer_arg()) then local set = snow_dungeon.get_settings() local v = set.MobVnum_level_7 d.setf("level",7) local cord = set.base_cord local pos = set.Position_level_7 d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2])) d.notice("You have the Metin Stone Successfully Kill now [ENTER]destroyed all the monsters and "..mob_name(v)..".") end end when Jp_8.server_timer begin --Jump Level 8 if d.select(get_server_timer_arg()) then local set = snow_dungeon.get_settings() local v = set.Key_on_level_8 d.setf("level",8) local cord = set.base_cord local pos = set.Position_level_8 d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2])) d.notice("Kill monsters to her as long "..item_name(v).." have.") d.notice("But only Mage and Ninjas can use it.") end end when 30333.use with snow_dungeon.is_nemeres_dungeon() == true begin --Key_on_level_8 local set = snow_dungeon.get_settings() local next_jump_time = set.NextJumpTime local level = d.getf("level") local job = pc.get_job() if level == 8 then if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then --dchat("SET VARIABLE JOB 3") job = 3 end if job == 1 -- Ninja weiblich or job == 5 --Ninja männlich or job == 3 -- Schamane weiblich or job == 7 --Schamane männlich then if number(1,3) == 1 then d.notice("The correct key has been found in a few seconds[ENTER] it goes to the next floor.") server_timer("Jp_9",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() d.regen_file("data/dungeon/ice_dungeon/zone_9.txt") item.remove() else d.notice("That was the wrong key.") item.remove() end else d.notice("Only Mage and Ninja can use.") return end end end when Jp_9.server_timer begin --Jump Level 9 if d.select(get_server_timer_arg()) then local set = snow_dungeon.get_settings() local v = set.NpcVnum_level_9 d.setf("level",9) local cord = set.base_cord local pos = set.Position_level_9 d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2])) d.notice("Destroy the "..mob_name(v).." ") d.notice("But only Mage and Ninjas can add him naught.") d.notice("") d.spawn_mob(v,849,655) end end when Jp_Boss.server_timer begin --Jump Level BossZone if d.select(get_server_timer_arg()) then local set = snow_dungeon.get_settings() local v = set.BossVnum d.setf("level",10) local cord = set.base_cord local pos = set.Position_level_10 d.jump_all((cord[1] + pos[1]), (cord[2] + pos[2])) d.notice("Defeated "..mob_name(v)..", the king of frost and ice.") end end when kill begin if snow_dungeon.is_nemeres_dungeon() == true then local set = snow_dungeon.get_settings() local next_jump_time = set.NextJumpTime local level = d.getf("level") local stone_level_6 = set.MobVnum_level_6 local stone_level_9 = set.NpcVnum_level_9 local boss_vnum = set.BossVnum local wait_time = set.WaitBeforOutAllOnExit local mobvnum = npc.get_race() --dchat("nemeres_wait_dungeon MobVnum = "..mobvnum.."") if level == 2 and mobvnum >= 6101 and mobvnum <= 6108 and 1 == number(1,10) then local v = set.key_level_2 game.drop_item(v,1) elseif level == 5 and mobvnum >= 6101 and mobvnum <= 6108 and 1 == number(1,15) then snow_dungeon._DropKeyOnLevel5() elseif level == 6 and mobvnum == stone_level_6 then d.notice("The "..mob_name(stone_level_6).." was destroyed, in a few seconds it goes to the next floor.") d.notice("") server_timer("Jp_7",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() d.regen_file("data/dungeon/ice_dungeon/zone_7.txt") --Szel local v_MQv = set.MobVnum_level_7 local c = set.SzelCords_level_7 local n = number(1,table.getn©) d.spawn_mob(v_MQv, c[n][1], c[n][2]) elseif level == 8 and mobvnum >= 6101 and mobvnum <= 6108 and 1 == number(1,10) then local v = set.Key_on_level_8 game.drop_item(v,1) elseif level == 9 and mobvnum == stone_level_9 then d.notice("The "..mob_name(stone_level_9).." was destroyed, in a few seconds it goes to the next floor.") server_timer("Jp_Boss",next_jump_time,d.get_map_index()) d.clear_regen() d.kill_all() d.regen_file("data/dungeon/ice_dungeon/zone_boss.txt") local v = set.BossVnumGroup d.spawn_group(v, 928, 335, 5 ,1, 1) -- (Input from SRC: argument: vnum,x,y,radius,aggressive,count) elseif level == 10 and mobvnum == boss_vnum then d.clear_regen() d.kill_all() d.notice("You defeated "..mob_name(boss_vnum).." . In "..wait_time.." seconds all be teleported.") server_timer("Jp_OutAll",wait_time,d.get_map_index()) end end end when Jp_OutAll.server_timer begin --Jump Out Bye bye ;D if d.select(get_server_timer_arg()) then snow_dungeon._ExitAll() end end function _ExitAll() d.exit_all() end end end https://mega.co.nz/#!XNMS2CxY!i-zV1_1wBICyV5iSRhnWSw_81BdILZMdWGQjt1zzfxU 2 1 2 1 7 Link to comment Share on other sites More sharing options...
Premium Galet 510 Posted October 23, 2014 Premium Share Posted October 23, 2014 Already shared I guess Link to comment Share on other sites More sharing options...
stein20 15 Posted January 7, 2015 Share Posted January 7, 2015 but. have a problem SYSERR: Jan 7 17:29:13 :: AddServerTimer: already registered server timer name:Jp_7 arg:2300000 SYSERR: Jan 7 17:34:54 :: AddServerTimer: already registered server timer name:Jp_Boss arg:2300000 SYSERR: Jan 7 17:38:41 :: Process: UNKNOWN HEADER: 155, LAST HEADER: 0(0), REMAIN BYTES: 408, fd: 20 SYSERR: Jan 7 17:39:54 :: SetQuestNPCID: cannot reset quest npc id - already running quest [8 Graunggg] SYSERR: Jan 7 17:39:54 :: SetQuestNPCID: cannot reset quest npc id - already running quest [8 Graunggg] SYSERR: Jan 7 17:39:54 :: AddServerTimer: already registered server timer name:Jp_OutAll arg:2300000 Link to comment Share on other sites More sharing options...
Risan 115 Posted January 10, 2015 Share Posted January 10, 2015 Nice, Thanks for Translate. ;D Link to comment Share on other sites More sharing options...
makyak476 0 Posted May 26, 2015 Share Posted May 26, 2015 r34083 working for ? Link to comment Share on other sites More sharing options...
Premium EnKor 42 Posted October 1, 2015 Premium Share Posted October 1, 2015 Is it work in 34k ? Can any one upload regen files ? if pc.get_sex() == true and npc.get_sex() == false then npc.purge() end Link to comment Share on other sites More sharing options...
WhiteWorld 31 Posted October 2, 2015 Share Posted October 2, 2015 Is it work in 34k ? Can any one upload regen files ? regen.txt http://data.hu/get/9142969/ice_dungeon.rar 1 1 Link to comment Share on other sites More sharing options...
Premium EnKor 42 Posted October 2, 2015 Premium Share Posted October 2, 2015 Realy greatfull. if pc.get_sex() == true and npc.get_sex() == false then npc.purge() end Link to comment Share on other sites More sharing options...
SeXpL0SiVe 4 Posted October 15, 2015 Share Posted October 15, 2015 HI this is English quest Snow_Dungon Hidden Content https://mega.co.nz/#!XNMS2CxY!i-zV1_1wBICyV5iSRhnWSw_81BdILZMdWGQjt1zzfxU thank you so much can you pleade upload and the flame_dungeon.quest? Link to comment Share on other sites More sharing options...
Premium EnKor 42 Posted October 16, 2015 Premium Share Posted October 16, 2015 HI this is English quest Snow_Dungon Hidden Content https://mega.co.nz/#!XNMS2CxY!i-zV1_1wBICyV5iSRhnWSw_81BdILZMdWGQjt1zzfxU thank you so much can you pleade upload and the flame_dungeon.quest? here u go: https://metin2dev.org/board/index.php?/topic/1497-releaseblazingpurgatory-fixed-and-tested/ if pc.get_sex() == true and npc.get_sex() == false then npc.purge() end Link to comment Share on other sites More sharing options...
SeXpL0SiVe 4 Posted October 16, 2015 Share Posted October 16, 2015 HI this is English quest Snow_Dungon Hidden Content https://mega.co.nz/#!XNMS2CxY!i-zV1_1wBICyV5iSRhnWSw_81BdILZMdWGQjt1zzfxU thank you so much can you pleade upload and the flame_dungeon.quest? here u go: https://metin2dev.org/board/index.php?/topic/1497-releaseblazingpurgatory-fixed-and-tested/ wait.. thats not english... ill try anw Link to comment Share on other sites More sharing options...
raihan3 20 Posted March 10, 2016 Share Posted March 10, 2016 error QUEST : snow_dungeon STATE : start WHEN : 9010.chat ("Spawn Statue") with snow_dungeon . is_nemeres_dungeon ( ) == true WHEN : 9010.chat ("TESTSERVER: SnowD Jump level 9") with snow_dungeon . is_nemeres_dungeon ( ) == true WHEN : 9010.chat ("TESTSERVER: SnowD Jump level 10") with snow_dungeon . is_nemeres_dungeon ( ) == true WHEN : 9010.chat ("TESTSERVER: SnowD Spawn Boss") with snow_dungeon . is_nemeres_dungeon ( ) == true WHEN : 9010.chat ("TESTSERVER: SnowD Ending") with snow_dungeon . is_nemeres_dungeon ( ) == true WHEN : 9010.chat ("TESTSERVER: SnowD Spawn create Cords Test level 5") with snow_dungeon . is_nemeres_dungeon ( ) == true WHEN : 9010.chat ("TESTSERVER: SnowD Create Key level 5") with snow_dungeon . is_nemeres_dungeon ( ) == true WHEN : 9010.chat ("TESTSERVER: SnowD Get cord from Level") with snow_dungeon . is_nemeres_dungeon ( ) == true FUNCTION get_settings() FUNCTION is_TestServerMode() FUNCTION is_nemeres_dungeon() WHEN : 20395.chat ("Join your group again") with ( party . is_party ( ) and d . find ( party . getf ( "ice_dungeon_map_index" ) ) ) WHEN : 20395.chat ("Nemeres waiting") WHEN : 20397.chat ("The battle begin") WHEN : make_dungeon.timer FUNCTION _ClearAlls() FUNCTION _CheckMembersLevel() WHEN : logout WHEN : login FUNCTION _GetLastTime() WHEN : Jp_OutAllFailNotice.server_timer WHEN : CheckLevelAndCountKillOnMobs.server_timer WHEN : Jp_2.server_timer WHEN : 30331.use with snow_dungeon . is_nemeres_dungeon ( ) == true WHEN : Jp_3.server_timer WHEN : Jp_4.server_timer WHEN : Jp_5.server_timer FUNCTION _DropKeyOnLevel5() FUNCTION _Create_Stones_level5() WHEN : 20398.take WHEN : Jp_6.server_timer WHEN : Jp_7.server_timer WHEN : Jp_8.server_timer WHEN : 30333.use with snow_dungeon . is_nemeres_dungeon ( ) == true WHEN : Jp_9.server_timer WHEN : Jp_Boss.server_timer WHEN : kill WHEN : Jp_OutAll.server_timer FUNCTION _ExitAll() Calls undeclared function! : LIB_duration d.get_unique_vid d.getf_from_map_index d.new_jump_party d.setqf2 d.spawn_mob_dir game.drop_item_and_select npc.get_vid party.get_leader_pid party.get_member_pids pc.give_item2_select q.begin_other_pc_block q.end_other_pc_block say_npc Abort (core dumped) Link to comment Share on other sites More sharing options...
Haruka 15 Posted March 25, 2016 Share Posted March 25, 2016 @raihan3 You need to add it: LIB_durationd.get_unique_vidd.getf_from_map_indexd.new_jump_partyd.setqf2d.spawn_mob_dirgame.drop_item_and_selectnpc.get_vidparty.get_leader_pidparty.get_member_pidspc.give_item2_selectq.begin_other_pc_blockq.end_other_pc_blocksay_npc in quest_function -- (germany/quest/quest_function) Link to comment Share on other sites More sharing options...
Bituse 61 Posted April 14, 2016 Share Posted April 14, 2016 Can Anyone Share data/dungeon/ice_dungeon/ please? Thank you for realise. Link to comment Share on other sites More sharing options...
WhiteWorld 31 Posted April 27, 2016 Share Posted April 27, 2016 Bituse ! http://data.hu/get/9683170/ice_dungeon.rar 3 Link to comment Share on other sites More sharing options...
Torres 64 Posted April 26, 2019 Share Posted April 26, 2019 my lua also 。。。。。。 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