Metin2 Yardımcı Şaman Süreli Yapma [Quest] | Gamesfrm.com
 

Metin2 Yardımcı Şaman Süreli Yapma [Quest]

RuLing

İşsiz Moderatör
Yönetici
Haber Editörü
Sosyal Editör
Katılım
28 May 2018
Mesajlar
3,895
Tepki puanı
221
Konum
Diyarbakır
Merhaba arkadaşlar,

Serverinizde yardımcı şaman var bir çok yöntem denemenize rağmen süreli olmuyorsa bu quest işinizi görecektir. Bu quest ile yardımcı şamanı 3 gün yapmanız mümkün olacaktır.

Kod:
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
 
Üst