İstek Nemere Kolaylaştırma

Konu sahibinin aradığı materyalleri bulmasına yardımcı olmak için konuya yorum yazabilirsiniz.

ombayus

Üye
Üye
Mesaj
4
Beğeni
0
Puan
38
Ticaret Puanı
0
Merhaba nemereyi kolaylaştırmak istiyorum.
1. 2.katı ilk dusen anahtarla açmak.
2. 5.katta kupleri tek kuzey yıldızıyla kuzey yıldızı yok olmadan sırası önemsenmeden hızlı hızlı geçmesini sağlamak.
3. 8.kat Buz cicegi anahahtarı ilk dusende %100 geçmesini sağlamak.

Yardımcı olursanız çok sevinirim özellikle 2. için. sorunlu sanırım.

Lua (Quest):
quest snow_dungeon begin
state start begin
    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,4327,1668}     --Mapindex, Exit Position (Eisland)
        snow_dungeon_settings.need_level = 90                        --Ab wann ist der Dungeon betretbar.
        snow_dungeon_settings.need_level_group = 90                 --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 = 15                --Welchen intervall die Level und Missionen geprüft werden sollen. (Empfohlen 45)
        snow_dungeon_settings.wait_duration = 60*60*2                --Ab wann der Dungeon wieder betretbar ist (PartyLeader)
        snow_dungeon_settings.maxlife_time_on_dungeon = 60*60*2    --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
  
  
    -- --------------------- #Zindana devam et ------------------------
    -- pc.setf("snow_dungeon","dungeon_turn",1)

    -- pc.setf("snow_dungeon","dungeon_turn",0)
    -- ----------------------------------------------------------------
  
    -- --------------------- #Zindana devam et ------------------------
    -- function is_nemere_dungeon_turn_back()
        -- if pc.getf("snow_dungeon","dungeon_turn") == 1 and game.get_event_flag("nemere_dungeon_turn_back") == 0 and game.get_event_flag("dungeon_turn_back") == 0 then
            -- return true
        -- else
            -- return false
        -- end
    -- end
  
    -- when 20395.chat."Nemereye devam et..." with snow_dungeon.is_nemere_dungeon_turn_back() begin
        -- say_npc()
        -- say_reward_center("Görünüse göre yarim kalan bir macera var")
        -- say_reward_center("seni içeri tekrar göndermemi ister misin ?")
        -- say("")
        -- local s = select("Beni içeri gönder !","Kapat")
        -- if s == 1 then
            -- pc.dungeon_turn_back_warp(352)
        -- end
    -- end
    -- ----------------------------------------------------------------
  
    when 20395.chat."Nemere'nin Kulesi (Bireysel)" begin
        addimage(35,35,'nemere.tga')
        if party.is_leader() or party.is_party() then
            say_title_center(mob_name(20395))
            say("")
            say("")
            say("")
            say("")
            say("")
            say_reward_center("Bu zindana grup halinde giremezsin")
            say_reward_center("lütfen önce bulundugun grupdan ayril !")
            return
        end
        -- sys_log(0,"snow_dungeon quest open")
        local set = snow_dungeon.get_settings()
        local need_level = 90
        say_title_center(mob_name(20395))
        addimage(35,35,'nemere.tga')
        say("")
        say("")
        say("")
        say("")
        say("")
        say_center("Nemerenin kulesine tek basina giris yapabilirsin")
        say_center("Biraz tehlikeli bir yolculuk olacak gibi duruyor!")
        say("")
        say_reward_center("Nemere'nin Gözetleme Kulesi'ne girmek")
        say_reward_center("istiyor musun?")
        if select("Gir","Girme") == 2 then
            return
        end
        -- ------------ Dungeon Turn Back System ----------------------
        -- pc.remove_turn_back_dungeon()
        -- ------------------------------------------------------------
        if (game.get_event_flag("enable_time_snow") == 1 and pc.getf("snow_dungeon","duration") >= get_global_time()) then
            say_title_center(mob_name(20395))
            addimage(35,35,'nemere.tga')
            say("")
            say("")
            say("")
            say("")
            say("")
            say("Beta Server; süreyi sıfırlamak mı istiyorsun?")
            if select("Evet","Hayır") == 1 then
                pc.setf("snow_dungeon","duration",0)
                return
            end
        end
        if pc.get_level() < need_level then
            say_title_center(mob_name(20395))
            addimage(35,35,'nemere.tga')
            say("")
            say("")
            say("")
            say("")
            say("")
            say_center("Kuleye girebilmek için en az "..need_level..".")
            say_center("seviyede olmalısın.")
            return
        end
        if pc.getf("snow_dungeon","duration") >= get_global_time() then
            say_title_center(mob_name(npc.get_race()))
            addimage(35,35,'nemere.tga')
            say("")
            say("")
            say("")
            say("")
            say("")
            say_center("Nemere'nin Gözetleme Kulesi'ne yeniden giriş ")
            say_center("için bekleme süresi henüz dolmamış.")
            say_center("Kalan süre: "..dungeon_get_duration(pc.getf("snow_dungeon","duration") - get_global_time()).."")
            return
        end
        if pc.count_item(71174) < 1 then
            say_title_center(mob_name(20395))
            addimage(35,35,'nemere.tga')
            say("")
            say("")
            say("")
            say("")
            say("")
            say_center("Envanterinde yeterli miktarda yok:")
            say_center(string.format("%s.", item_name(71174)))
            say("")
            return
        end
        pc.remove_item(71174, 1)
        timer("make_dungeon",2)
    end
    when 20397.chat."Zindani Canlandir !" with d.getf("level") == 0 begin --Eisiger Löwe
        say("Nemere'nin Gözetleme kulesine girdin. Burada")
        say("en fazla bir saat bulunabilirsin. Kuleden")
        say("çıktığında dört saat bekledikten sonra tekrar")
        say("girebilirsin.")
        wait()  
            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("Bütün düşmanları mağlup edin!")
        npc.purge()
        snow_dungeon._GetLastTime()
        setskin(NOWINDOW)
    end
  
    when 20397.chat."Nemere Taht Salonu" with d.getf("level") == 9 begin --Eisiger Löwe
        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()
    say("Nemere Taht Salonu'na girmek istiyor musun?")
    local s = select("Gir","Belki sonra")
        if s == 2 then
        return
        end
    server_timer("Jp_Boss",next_jump_time,d.get_map_index())
    local v = set.BossVnumGroup
    d.regen_file("data/dungeon/ice_dungeon/zone_boss.txt")
    d.spawn_group(v, 928, 335, 5 ,1, 1)
    npc.purge()
    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()
        pc.setf("snow_dungeon","dungeon_turn",0)
       -- d.new_jump(set.map_index,(cord[1] + start_pos[1]), (cord[2] + start_pos[2]))
        pc.setf("snow_dungeon","turn_back_time", 0)
        d.new_jump(set.map_index,(cord[1] + start_pos[1]) * 100, (cord[2] + start_pos[2]) * 100)
        snow_dungeon._ClearAlls()
        d.setf("party_leader_pid",pc.get_player_id())
        pc.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 = true
        local have_shaman = true
        if pc.get_level() < need_level then
             say("Seviyen yetersiz.")
        end
        if (is_test_server() and snow_dungeon.is_TestServerMode() == true ) then
            --dchat("TEST modu aktif.")
            return true
        end
        if table.getn(user_fail_level) == 0 then
            return true
        end
    end
    when logout begin
        if snow_dungeon.is_nemeres_dungeon() == true then
            ------------ Dungeon Turn Back System ----------------------
            pc.setf("snow_dungeon","dungeon_turn",1)
            -- pc.setf("snow_dungeon","turn_back_time", get_time() + (5 * 60))
            ------------------------------------------------------------
        end
    end
    -- ------------ Dungeon Turn Back System ----------------------
    -- when dungeon_turn_back_exit_nemeres.server_timer begin
        -- if d.select(get_server_timer_arg()) then
            -- pc.warp(432000,165000)
        -- end
    -- end
    -- ------------------------------------------------------------

    when login begin
        if pc.get_map_index() == 352 then
            pc.warp(432000,165000)
            return
        end
        if snow_dungeon.is_nemeres_dungeon() == true then
            -- ------------ Dungeon Turn Back System ----------------------
            -- if (get_time() > pc.getf("snow_dungeon","turn_back_time") and get_time() > pc.getf("snow_dungeon","turn_back_time") != 0) then
                -- say_npc()
                -- say("Zindana devam etmek için sana verilen")
                -- say("5 dakika süre doldu!")
                -- say("")
                -- say_reward_center("Disari gönderiliyorsun !")
                -- server_timer("dungeon_turn_back_exit_nemeres",5 ,d.get_map_index())
                -- return
            -- end
            -- ------------------------------------------------------------

            local set = snow_dungeon.get_settings()
            local backk = set.outside_entry_pos
           -- pc.set_warp_location(backk[1], backk[2],backk[3])
            if pc.get_level() < set.need_level_group then
                chat("Yetersiz seviye!")
                d.exit()
                return
            end
            --chat("Hoş geldiniz. Burada "..math.ceil((d.getf("Start_Time")  - get_global_time()) /60) .." dakikalık süreniz var.")
            --notice("Sonraki kata çıkmak için Tüm yaratıkları öldürün.")
            --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("Nemere Gözlemevi'ndeki kalan süre: "..math.ceil(t / 60).." dakika")
                d.notice("Süre bitiminde gözlemevinden dışarı, girişe")
                d.notice("ışınlanacaksınız.")
            else
                d.notice("Nemere Gözlemevi'ndeki kalan süre: "..t.." saniye")
                d.notice("Süre bitiminde gözlemevinden dışarı, girişe")
                d.notice("ışınlanacaksınız.")
            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("Zaman doldu.")
            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 <= 5 then
                d.notice("Az sonra ikinci kata ışınlanacaksınız.")
                --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 <= 5 then
                d.notice("Az sonra dördüncü kata ışınlanacaksınız.")
                --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 <= 5 then
                d.notice("Az sonra beşinci kata ışınlanacaksınız.")
               -- 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 <= 5 then
                local MobStonelvl6 = set.MobVnum_level_6
                d.notice("Ayaz Metini belirdi!")
                --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 <= 5then
            --    d.notice("Az sonra sekizinci kata ışınlanacaksınız.")
                --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("Bazı canavarların üzerinde buz anahtarı var.")
            d.notice("Buz anahtarları ellerinden alın ve uyan anahtarı bulun! ")
        end
    end
    when 30331.use with snow_dungeon.is_nemeres_dungeon() == true and d.getf("fix30331") == 0 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 number(1,3) == 1 then --or d.count_monster() < 10 then
                    d.setf("fix30331", 1)
                    d.notice("Az sonra üçüncü kata ışınlanacaksınız.")
                    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("Doğru anahtarı aramaya devam edin.")
                    item.remove()
                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("Bütün düşmanları mağlup edin!")
        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("Bütün düşmanları mağlup edin! Kutsama size ikinci")
            d.notice("akında güç kazandıracak.")
        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("Bir sonraki kata geçmek için Arktos Küpleri'ndeki")
            d.notice("mühürleri sırasıyla kırın.")
            d.notice("Buz canavarlarını mağlup edin ve ellerinden kuzey")
            d.notice("yıldızlarını alıp mühürleri kırın!")
            --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) >= 900 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, Biraz sonra ışınlanacaksınız.")
                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("Az sonra altıncı kata ışınlanacaksınız.")
                            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
                            if new == 2 then
                            say("Başardınız! Şimdi ikinci mührü açın.")
                            elseif new == 3 then
                            say("Başardınız! Şimdi üçüncü mührü açın.")
                            elseif new == 4 then
                            say("Başardınız! Şimdi dördüncü mührü açın.")
                            elseif new == 5 then
                            say("Başardınız! Şimdi beşinci mührü açın.")
                            elseif new == 6 then
                            say("Başardınız! Şimdi altıncı mührü açın.")
                            end
                        npc.purge()
                        item.remove()
                        end
                        d.setf("Stone_5_count",new)
                    else
                        say("Sıralama doğru! Fakat anahtar yanlış. Başka")
                        say("bir anahtarı deneyin.")
                        item.remove()
                    end
                else
                    say("Sıralamanın doğru olmasına dikkat edin! Başka bir")
                    say("küpü deneyin.")
                    --say("zaa")
                    item.remove()
                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("Bütün buz canavarlarını mağlup edin ve ardından")
            d.notice("Ayaz Metini'ni yok edin.")
         ---   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("Ayazın ve buzun efendisi Szel'i bulun ve yok edin.")
            d.notice("Bunun üstesinden ancak ejderhanın desteğiyle")
            d.notice("gelinebilir.")
        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("Bütün buz canavarlarını mağlup edin ve buzçiçeği anahtarını bulun. ")
        end
    end
  
    when 30333.use with snow_dungeon.is_nemeres_dungeon() == true and d.getf("fix30333") ==  0 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 number(1,3) == 1 then
                    d.setf("fix30333", 1)
                    d.notice("Az sonra dokuzunca kata ışınlanacaksınız.")
                    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
                    say("Yanlış anahtardı. Doğru anahtarı bulun!")
                    item.remove()
                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("Kuzeyli Ejderha Sütunu'nu yok edin!")
            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("Ayazın ve buzun kralı Nemere'yi mağlup edin.")
        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_7 = set.MobVnum_level_7
            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,50)  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,20) then
                snow_dungeon._DropKeyOnLevel5()
            elseif level == 6 and mobvnum == stone_level_6 then
                d.notice("Az sonra yedinci kata ışınlanacaksınız.")
                --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 == 7 and mobvnum == stone_level_7 then
                d.notice("Az sonra sekizinci kata ışınlanacaksınız.")
                --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")
            elseif level == 8 and mobvnum >= 6101 and mobvnum <= 6108 and 1 == number(1,50) then
                local v = set.Key_on_level_8
                game.drop_item(v,1)  
            elseif level == 9 and mobvnum == stone_level_9 then              
                --d.notice("Sonraki seviyeye geçiyorsunuz ve "..mob_name(stone_level_9).." mağlup edildi.")
                --server_timer("Jp_Boss",next_jump_time,d.get_map_index())
                d.clear_regen()
                d.kill_all()
                d.spawn_mob_dir(20397, 849,670,1)
                --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
                game.drop_item_with_ownership("50034",1)
                d.clear_regen()
                d.kill_all()
                d.notice("Nemere mağlup edildi!")
                d.notice("Bir dakika içerisinde Nemere Gözlemevi'nden dışarı ")
                d.notice("ışınlanacaksınız.")
                notice_all("Nemere "..pc.get_name().." tarafından yok edildi.")
                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
 
Geri
Üst