farkmt2official 1
farkmt2official
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
BlackFullMoon 1
BlackFullMoon
Hikaye Ekle

Metin2 Süreli Şaman Sistemi

  • Konuyu başlatan Konuyu başlatan dreamfancy
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 15
  • Görüntüleme Görüntüleme 3K

Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!

Bildiğiniz gibi şaman sistemi kullanan arkadaşlarımız navicattan şaman mührünü süreli yapmaya çalıştığında oyunda şaman mührü kaybolabiliyor yada çok değişik sorunlar ortaya çıkabiliyor. Yani navicatta hiçbir şekilde şaman mührüne süre tanıyamıyoruz. Süre sınırı item ile şaman mührüne koyamıyorlar bende bu duruma çözüm bulup işi quest ile halletim ve bir quest yazdım ve artık onunla yardımcı şamana 3 günlük bir süre tanıyabiliyorsunuz.

Kod:
-- Shaman Sistemi
-- Skype: dream-fancy
-- Website: turkmmo.com
quest support_system begin
    state start begin
        function get_pet_info(itemVnum)
            pet_info_map = {
            --  [ITEM VNUM] MOB_VNUM, DEFAULT NAME, buff_idx, spawn_effect_idx
                [53001]     = { 34001, "Support System", 0},
                [53002]     = { 34001, "Support System", 0},
            }

            itemVnum = tonumber(itemVnum)

            return pet_info_map[itemVnum]
        end
        function get_spawn_effect_file(idx)
            effect_table = {
                [0] = nil,
                [1] = "d:\\\\ymir work\\\\effect\\\\etc\\\\appear_die\\\\npc2_appear.mse",
            }
            return effect_table [idx]
        end
        when 53001.use begin
             local any_info = support_system.get_pet_info(item.vnum)

            if null != any_info then

                local mobVnum = any_info[1]
                local petName = any_info[2]
                local spawn_effect_file_name = support_system.get_spawn_effect_file(any_info[3])

                if true == supports.is_summon(mobVnum) then
                    if spawn_effect_file_name != nil then
                        supports.spawn_effect (mobVnum, spawn_effect_file_name)
                    end
                    supports.unsummon(mobVnum)
                else
                    if supports.count_summoned() < 1 then
                        supports.summon(mobVnum, petName, false)
                    else
                        syschat("<Sistem> Şamanın zaten yanında! ")
                    end
                    if spawn_effect_file_name != nil then
                        supports.spawn_effect (mobVnum, spawn_effect_file_name)
                    end
                end
            end
        end
     
        when 53002.use begin
            --BURADA 1 KEZ KAYIT YAPIYORUZ VE SURE VERIYORUZ
            if pc.getqf("saman_sure") == 0 then
                pc.setqf("saman_sure", 1)
                pc.setqf("delay", 288 * 10 + pc.get_playtime())
            end
         
            --BURADA DEVAM EDERKEN VE SURE BITTIGINDE YAZAN
            if pc.getqf("delay") > pc.get_playtime() then
                local delay = pc.getqf("delay") - pc.get_playtime()
                local any_info = support_system.get_pet_info(item.vnum)

                if null != any_info then

                    local mobVnum = any_info[1]
                    local petName = any_info[2]
                    local spawn_effect_file_name = support_system.get_spawn_effect_file(any_info[3])

                    if true == supports.is_summon(mobVnum) then
                        if spawn_effect_file_name != nil then
                            supports.spawn_effect (mobVnum, spawn_effect_file_name)
                        end
                        supports.unsummon(mobVnum)
                    else
                        if supports.count_summoned() < 1 then
                            supports.summon(mobVnum, petName, false)
                            syschat("Şamanın vakit dolduğunda seni terkedecek. ")
                            syschat("Kalan zaman: "..delay.." dakika ")
                        else
                            syschat("<Sistem> Şamanın zaten yanında! ")
                        end
                        if spawn_effect_file_name != nil then
                            supports.spawn_effect (mobVnum, spawn_effect_file_name)
                        end
                    end
                end
                return
            else
                say_title("Şaman: ")
                say(" ")
                say("Üzgünüm, artık seni terkediyorum. ")
                say("2 gün boyunca seni takip ettim artık ")
                say("yoruldum ve dinlenmek hakkım. Elveda! ")
                say_reward("Bana süresiz olarak sahip olmak ")
                say_reward("istersen nesne markette duruyorum. ")
                say(" ")
                pc.remove_item(53002)
            end
        end
    end
end
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst