Yardım Quest Okuturken Abort(core dumped) hatası alıyorum yardım.

  • Konuyu açan Konuyu açan Shypoo
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 23
  • Gösterim Gösterim 2K
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

Shypoo

Üye
Üye
Mesaj
58
Çözümler
2
Beğeni
4
Puan
49
Ticaret Puanı
0
Alınan Hata:
Genişlet Daralt Kopyala
QUEST : snow_dungeon
STATE : start
FUNCTION get_settings()
FUNCTION is_TestServerMode()
FUNCTION is_nemeres_dungeon()
WHEN  : 20395.chat ("Nemere'nin Kulesi (Bireysel)")
WHEN  : 20397.chat ("Zindani Canlandir !")
        with d . getf ( "level" ) == 0
WHEN  : 20397.chat ("Nemere Taht Salonu")
        with d . getf ( "level" ) == 9
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! :
dungeon_get_duration
Abort (core dumped)
root@localhost:/usr/sf/share/locale/turkey/quest #

Eklemek istediğim quest
Lua (Quest):
Genişlet Daralt Kopyala
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("Görünüse göre yarim kalan bir macera var")
        -- say_reward("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(mob_name(20395))
            say("")
            say("")
            say("")
            say("")
            say("")
            say_reward("Bu zindana grup halinde giremezsin")
            say_reward("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(mob_name(20395))
        addimage(35,35,'nemere.tga')
        say("")
        say("")
        say("")
        say("")
        say("")
        say("Nemerenin kulesine tek basina giris yapabilirsin")
        say("Biraz tehlikeli bir yolculuk olacak gibi duruyor!")
        say("")
        say_reward("Nemere'nin Gözetleme Kulesi'ne girmek")
        say_reward("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(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(mob_name(20395))
            addimage(35,35,'nemere.tga')
            say("")
            say("")
            say("")
            say("")
            say("")
            say("Kuleye girebilmek için en az "..need_level..".")
            say("seviyede olmalısın.")
            return
        end
        if pc.getf("snow_dungeon","duration") >= get_global_time() then
            say_title(mob_name(npc.get_race()))
            addimage(35,35,'nemere.tga')
            say("")
            say("")
            say("")
            say("")
            say("")
            say("Nemere'nin Gözetleme Kulesi'ne yeniden giriş ")
            say("için bekleme süresi henüz dolmamış.")
            say("Kalan süre: "..dungeon_get_duration(pc.getf("snow_dungeon","duration") - get_global_time()).."")
            return
        end
        if pc.count_item(71175) < 1 then
            say_title(mob_name(20395))
            addimage(35,35,'nemere.tga')
            say("")
            say("")
            say("")
            say("")
            say("")
            say("Envanterinde yeterli miktarda yok:")
            say(string.format("%s.", item_name(71175)))
            say("")
            return
        end
        pc.remove_item(71175, 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("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 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.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 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.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
Linkleri görebilmek için giriş yap veya kayıt ol.
 
En son bir moderatör tarafından düzenlenmiş:
Geri
Üst