Register for your free account! | Forgot your password?

You last visited: Today at 20:22

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Nemeres Warte :D

Discussion on Nemeres Warte :D within the Metin2 Private Server forum part of the Metin2 category.

Reply
 
Old   #1
 
SkyLiine®'s Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 519
Received Thanks: 108
Nemeres Warte :D

Hallo Epvper

Habe eine frage unzwar wen ich in der 5ten Kammer in nemeres werte bin bei Würfel des Arktos versuche ich dieses item was man irgent wie richtige reihenfolge machen muss auf den würfel zu ziehen da steht nur Das ist zwar der richtige stein, aber der falsche schlüssel was für ein schlüssel xD

Hier mal ein Video
Nemeres Warte
Und Hier die quest
HTML Code:
--[[
-- Nemeres Warte (Snow Dungeon)
-- lvl 100
-- Copyright ©Zymos/Risan
-- Version 2.0
-- Create: 08.06.2014
-- Need ga_me_re_vi_sion: 40250
-- INFO: 
    ga_me_re_vi_sion 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 Nordstern Kordinaten")
    -- 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 Kords 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 = 352                        --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.IsNewga_me_re_vi_sion = true                --Need ga_me_re_vi_sion 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."Deiner Gruppe wieder beitreten" 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("Aktuelles Dungeon Level deiner Gruppe: "..level.."")
        if level == 0 then
            say_npc_name()
            say("Deine Gruppe hat den Run bereits beendet.")
            return
        end
        if pc.getqf("out_party_time") < get_global_time() then
            say_npc()
            say("")
            say("Du hast länger als  "..math.ceil(set.DurationMaxOnReJoinGroup  /60) .." Minute(n) vor dem")
            say("Eisberg verweilt und kannst jetzt nicht")
            say("mehr eintreten.")
            return
        end
        if n == 0 then
            setskin(NOWINDOW)
            return
        else
            say_npc()
            say("")
            say("Möchtest du deiner Gruppe wieder beitreten?")
            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 Warte" begin
        local set = snow_dungeon.get_settings()
        local need_level = set.need_level
        say_npc()
        say("")
        say("Willst du mit deiner Gruppe wirklich die")
        say("Nemeres Warte betreten?")
        if select("Ja, wir wollen eintreten!","Nein, uns ist es zu kalt dort...") == 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("Ich schätze deinen Mut, doch alleine wirst du in")
            say("der Nemres-Warte in dein Verderben rennen.")
            say("Stelle eine starke Gruppe zusammen und ich werde")
            say("dir Einlass gewähren.")
            return
        end
        if pc.get_level() < need_level then
            say("Ihr braucht mindestens level "..need_level.."")
            say("um diesen Dungeon betreten zu können.")
            return
        end
        if pc.getf("snow_dungeon","duration") >= get_global_time() then
            say_npc()
            say("Die Wartezeit für den Wiedereintritt in die")
            say("Nemeres-Warte ist noch nicht abgelaufen. ")
            say("Verb. Zeit: "..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."Die Schlacht beginnen" begin --Eisiger Löwe
        say_npc()
        say("")
        say("Sicher das ihr anfangen wollt?")
        if select("Ja","Nein, lieber doch nicht") == 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("Die ersten Monster erscheinen, tötet alle um in den nächsten Stock zu gelangen.") 
            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[i])
            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("Ihr könnt diesen Dungeon nicht ohnen einen")
            say("Ninja betreten.")
            return false
        end
        if have_shaman == false then
            say("Ihr könnt diesen Dungeon nicht ohnen einen")
            say("Schamanen betreten.")
            return false
        end
        if table.getn(user_fail_level) >= 1 then
            say_npc()
            say("")
            say("Einige Mitglieder einer Gruppe haben das")
            say("Level "..need_level.." noch nicht erreicht:")
            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("Willkommen im Nemeres Warte, Ihr habt "..math.ceil((d.getf("Start_Time")  - get_global_time()) /60) .." Minuten Zeit.")
            --notice("Tötet alle Monster auf dieser Ebene um in den nächsten Stock zu gelangen.")
            --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("Euch verbleiben ca "..math.ceil(t / 60).." Minute(n).")
            else
                d.notice("Euch verbleiben "..t .." Sekunde(n).")
            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("Zeit ist abgelaufen.")
            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("Ihr habt alle Monster besiegt, in wenigen Sekunden geht es in den nächsten Stock.")
                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("Ihr habt alle Monster besiegt, in wenigen Sekunden geht es in den nächsten Stock.")
                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("Ihr habt alle Monster besiegt, in wenigen Sekunden geht es in den nächsten Stock.")
                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("Ihr habt alle Monster besiegt, Der "..mob_name(MobStonelvl6).." erscheint.")
                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("Ihr habt alle Monster besiegt, in wenigen Sekunden geht es in den nächsten Stock.")
                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("findet den richtigen "..item_name(v).." um weiter zu gelangen.")
            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("Der Richtige Schlüssel wurde gefunden, in wenigen Sekunden geht es in den nächsten Stock.")
                    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("Das war der Falsche Schlüssel.")
                    item.remove()
                end
            else
                d.notice("Nur Schamanen können ihn benutzen.")
                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("Tötet alle Monster auf dieser Ebene um in den nächsten Stock zu gelangen.")
        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("Tötet alle Monster auf dieser Ebene um in den nächsten Stock zu gelangen.")
        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("Öffnet die Siegel an den "..mob_name(v).." in der richtigen Reihenfolge.")
            if set.IsNewga_me_re_vi_sion == true then
                d.notice("Die Schlüssel lassen die Monster fallen...")
            else
                d.notice("Die Schlüssel landen automatisch ins Inventar...")
            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... :P
            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.IsNewga_me_re_vi_sion == 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(c))
            --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 wenigen Sekunden geht es in den nächsten Stock.")
                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("Der Letzte Stein wurde richtig endeckt, in wenigen Sekunden geht es in den nächsten Stock.")
                            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("Der "..search..".Stein wurde endeckt. Es müssen noch weitere ".. stone_level5_count - search .." Steine in der richtigen Reihenfolge gefunden werden.")
                            npc.purge()
                            item.remove()
                        end
                        d.setf("Stone_5_count",new)
                    else
                        chat("Das ist zwar der richtige Stein, aber der falsche Schlüssel.")
                        item.remove()
                    end
                else
                    chat("Das ist nicht der richtige Stein.")
                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("Ihr habt alle Monster getötet. Tötet alle Monster und zerstört den "..mob_name(v).."")
            d.notice("Nur Schamanen können ihm Schaden hinzufügen.")
            --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("Ihr habt den Metinstein Erfolgreich zerstört nun Tötet alle Monster und "..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("Tötet solange Monster bis ihr "..item_name(v).." Habt.")
            d.notice("Aber nur Schamanen und Ninjas können ihn benutzen.")
        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("Der Richtige Schlüssel wurde gefunden, in wenigen Sekunden geht es in den nächsten Stock.")
                    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("Das war der Falsche Schlüssel.")
                    item.remove()
                end
            else
                d.notice("Nur Schamanen und Ninja können das benutzen.")
                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("Zerstört die "..mob_name(v).." ")
            d.notice("Aber nur Schamanen und Ninjas können ihn schanden zufügen.")
            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("Besiegt "..mob_name(v)..", den König über Frost und Eis.")
        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("Der "..mob_name(stone_level_6).." wurde zerstört, in wenigen Sekunden geht es in den nächsten Stock.")
                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(c))
                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("Der "..mob_name(stone_level_9).." wurde zerstört, in wenigen Sekunden geht es in den nächsten Stock.")
                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("Ihr habt "..mob_name(boss_vnum).." besiegt. In "..wait_time.." Sekunden werden alle hinausteleportiert.")
                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
SkyLiine® is offline  
Old 02/05/2015, 01:30   #2



 
MrTherzon's Avatar
 
elite*gold: 0
The Black Market: 180/0/1
Join Date: Dec 2012
Posts: 9,396
Received Thanks: 2,738
Verstehe dein Problem irgendwie nicht....

In der Ebene sind doch mehrere Würfel und einer ist der richtige und wenn du auf einen raufziehst und es ist Falsch ist es nunmal ein anderer.
MrTherzon is offline  
Old 02/05/2015, 11:36   #3

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
PHP Code:
if unique_item == npc_vid then
                        local 
new = search +
                        
if new > stone_level5_count then
                            d
.notice("Der Letzte Stein wurde richtig endeckt, in wenigen Sekunden geht es in den nächsten Stock.")
                            
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("Der "..search..".Stein wurde endeckt. Es müssen noch weitere ".. stone_level5_count search .." Steine in der richtigen Reihenfolge gefunden werden.")
                            
npc.purge()
                            
item.remove()
                        
end
                        d
.setf("Stone_5_count",new)
                    else
                        
chat("Das ist zwar der richtige Stein, aber der falsche Schlüssel.")
                        
item.remove() 
PHP Code:
local unique_item item.get_socket(1
muss gleich
PHP Code:
local npc_vid npc.get_vid() 
sein
rollback is offline  
Thanks
1 User
Old 02/05/2015, 12:17   #4
 
SkyLiine®'s Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 519
Received Thanks: 108
Verstech ich nicht könntest du das villeicht in der quest fixxen und mir schicken wäre sehr sehr sehr sehr nett wieder mal von dir [Sensenmann)

Ahja und Hausmeister habe noch im video ein anderen kasten gezeigt also wie ich drauf ziehe das klappt nur bei einem würfel damit die verschwinden die steine

kann das villeicht an dem item liegen wegen type flag oder so als quest item
SkyLiine® is offline  
Old 02/05/2015, 16:37   #5
 
.SoNiiC.'s Avatar
 
elite*gold: 0
Join Date: Feb 2010
Posts: 413
Received Thanks: 148
Ich würde dir raten dich direkt an Risan zu wenden. Soweit mir bekannt ist , ist dies seine alte quest und er hat momentan eine neue (bessere) version der quest.
.SoNiiC. is offline  
Thanks
1 User
Old 02/05/2015, 18:33   #6
 
SkyLiine®'s Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 519
Received Thanks: 108
oke gibts ein Thread oder so für die quest`?
SkyLiine® is offline  
Old 02/05/2015, 18:54   #7
 
.Risan.'s Avatar
 
elite*gold: 30
Join Date: Jul 2010
Posts: 1,627
Received Thanks: 1,450
Nope, kannst aber direkt die Neue Version erwerben...
Diese läuft auf allen 40k Games.. Da hierfür keine neuen Extra funktionen benötigt werden.
.Risan. is offline  
Old 02/05/2015, 19:31   #8
 
SkyLiine®'s Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 519
Received Thanks: 108
wie erwerbe ich die neue version?
SkyLiine® is offline  
Old 02/05/2015, 20:16   #9
 
.Risan.'s Avatar
 
elite*gold: 30
Join Date: Jul 2010
Posts: 1,627
Received Thanks: 1,450
Hast ne PN!
.Risan. is offline  
Old 02/23/2015, 03:15   #10
 
elite*gold: 0
Join Date: Sep 2014
Posts: 57
Received Thanks: 8
ich habe genau dieses problem kann man es nicht einstellen dass sofort jeder stein klappt?

hat jemand vlt eine Funktionierende quest für mich oder kann mir jemand sagen wie ich den Timer auf 1 setze sodass jeder auf anhieb funktioniert?
HDMT2 is offline  
Old 02/03/2016, 00:04   #11
 
elite*gold: 15786
Join Date: Oct 2015
Posts: 2,075
Received Thanks: 674
Hallo, habt ihr vlt eine Nemeres Warte Run Map oder irgendeine Eis Run Map würdet mir sehr weiter helfen

Bitte Per PN Schreiben
U.S .Ƥercy is offline  
Reply


Similar Threads Similar Threads
[Release] Nemeres-Warte (Snow Dungeon) Quest
01/18/2015 - Metin2 PServer Guides & Strategies - 49 Replies
Moin, da ich keine verwendung dafür habe.. Veröffentliche ich die vor kurzem geschriebene Quest mit allem drumm und drann... Quest: -- der rest Gruppen und Regendateien befinden sich im Anhang. Viel Spass mfg Risan
[Release]Nemeres Warte
08/21/2014 - Metin2 PServer Guides & Strategies - 10 Replies
Heyho ich release heute die Nemeris Warte,da leider Metin2dev down ist und die Serverside + Clientside Sachen nicht in Epvp released sind (wenn ja dann lösch ich es sofort). Wie das ganze funktioniert müsst ihr selber wissen. https://mega.co.nz/#!iYsU3RTY!y-cLpU...ZPbYfYo-WY 6HDM Viel Spaß damit. Freue mich über einen Thx. :)
[HELP] Nemeres Warte Texturfehler
08/03/2014 - Metin2 Private Server - 2 Replies
Hey liebe Epvp-Family. Um euch kurz und schnell aufzuklären, es handelt sich um ein texturenfehler den ich selber nach stunden suchen nicht finde. Atlasinfo Root & Local eingerichtet. metin2_map_n_snow_dungeon_01 512000 153600 4 3 Index in Pack ordner für E** Angepasst *
[PREVIEW] Snow Dungenon (Nemeres Warte)
06/22/2014 - Metin2 Private Server - 10 Replies
Moin wollte euch mal den ablauf in einem Video zeigen vom neuen Dungeon der erst vor kurzem in DE eingeführt worden ist. https://www.youtube.com/watch?v=11EqoziDWnM&f eature=youtu.be Hoffe er gefällt euch.
Release Nemeres Warte Quest - (Liteversion) by .Risan
06/12/2014 - Metin2 PServer Guides & Strategies - 22 Replies
Ich darf sie also releasen ? 0x42697A657073 / 42erBizeps #Alesta2™: deine Nemereswarte quest in Epvp die Liteversion. 0x42697A657073 / 42erBizeps #Alesta2™: für thread Risan: ja ^^ Hier die Quest --] quest nemeres_wait_dungeon begin state start begin function get_settings() local nemeres_wait_dungeon_settings = {}



All times are GMT +1. The time now is 20:25.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.