bikral 1
bikral
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Bvural41 1
Bvural41
ShadowFon 1
ShadowFon
mavzermete 1
mavzermete
YazilimMühendisi 1
YazilimMühendisi
Fethi Polat 1
Fethi Polat
InfernoShade 1
InfernoShade
Hikaye Ekle

Pet Level Sistemi [ LUA ]

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

Kod:
quest pet_seviye begin    state start begin
        function give_pet_exp(ammount)
            local pet_item = pc.getqf("pet_item")
            local pet_level = pc.getqf("pet_"..pet_item.."_level")
            local pet_exp = pc.getqf("pet_"..pet_item.."_exp")
            local exp_table = {500,1500,3000,4500,6000,7500,9000,10500,12000,13500,15000,16500,18000,19500,21000,22500,24000,25500,27000,29500,31000,32500,34000,35500,37000}
            local mobVnum = pet_seviye.get_pet_info(pet_item)[1]
            
            local MAX_LEVEL = 25
            
            if pet_level <= MAX_LEVEL then
                if pet_exp > exp_table[pet_level] then
                    pet.spawn_effect(mobVnum, "d:ymir workeffectetclevelup_1level_up.mse")
                    pc.setqf("pet_"..pet_item.."_level",pet_level+1)
                    pc.setqf("pet_"..pet_item.."_exp",1)
                    syschat("Evcil Hayvan "..pet_level..".Seviyeye ulaştı!")
                else
                    pc.setqf("pet_"..pet_item.."_exp",pet_exp+ammount)
                end
            end
            
            if pet_level <= 5 then
                if pet_exp > exp_table[pet_level] then
                    pet.spawn_effect(mobVnum, "d:ymir workeffectetclevelup_1level_up.mse")
                    pc.setqf("pet_"..pet_item.."_level",pet_level+1)
                    pc.setqf("pet_"..pet_item.."_exp",1)
                    affect.add_collect(apply.MAX_HP,10000,60*60*24*365*60)
                    end
                end
            
        end
        function get_pet_info(itemVnum)
            pet_info_map = {
                [53001]     = { 34001, "'s", 0},
                [53002]     = { 34002, "'s", 0},
                [53003]     = { 34003, "'s", 0},
                [53005]     = { 34004, "'s", 0},
                [53006]     = { 34008, "'s", 0},
                [53007]     = { 34007, "'s", 0},
                [53008]     = { 34005, "'s", 0},
                [53009]     = { 34006, "'s", 0},
                [53004]     = { 34027, "'s", 0},
                [53010]     = { 34026, "'s", 0},
            }




            itemVnum = tonumber(itemVnum)




            return pet_info_map[itemVnum]
        end
        function get_spawn_effect_file(idx)
            effect_table = {
                [0] = nil,
                [1] = "d:ymir workeffectetcappear_dienpc2_appear.mse",
            }
            return effect_table [idx]
        end
        when 53001.use or 53002.use or 53003.use or 53004.use or 53005.use or 53006.use or 53007.use or 53008.use or 53009.use or 53010.use or 53011.use or 53012.use or 53013.use begin
            local pet_info = pet_seviye.get_pet_info(item.vnum)
            if pc.getqf("pet_"..item.vnum.."_exp") == 0 then
                pc.setqf("pet_"..item.vnum.."_exp",1)
                pc.setqf("pet_"..item.vnum.."_level",1)
            end
            pc.setqf("pet_item",item.vnum)
            if null != pet_info then




                local mobVnum = pet_info[1]
                local petName = pet_info[2]
                local spawn_effect_file_name = pet_seviye.get_spawn_effect_file(pet_info[3])




                if true == pet.is_summon(mobVnum) then
                    if spawn_effect_file_name != nil then
                        pet.spawn_effect (mobVnum, spawn_effect_file_name)
                    end
                    pet.unsummon(mobVnum)
                else
                    if pet.count_summoned() < 1 then
                        pet.summon(mobVnum, petName, false)
                    else
                        syschat(gameforge.pet_seviye._030_chat)
                    end
                    if spawn_effect_file_name != nil then
                        pet.spawn_effect (mobVnum, spawn_effect_file_name)
                    end
                end
            end
        end
        when kill with pet.count_summoned() == 1 and not npc.is_pc() begin
            local exp_give = number(1,40)
            local finnaly_exp = (pc.get_level() * exp_give / 10) * 2
            pet_seviye.give_pet_exp(finnaly_exp)
        end
    end
end

Yukarıda ki quest, pet 5.seviyeye ulaştığında 5.000 K hp verir. Her level atladığında bu sayı 2 katı artar. 6.Seviyeye ulaştığında 10k verir. 7.Seviyede 15. 8.Seviyede 20, böyle devam eder. Yalnız tek sorun pet gönderilince verilen özelliklerin gitmemesi. Benim elimden gelen bu şu questi saltanat gibi yapalım beyler :D

NOT: ayrıca peti gelmeyenler bu questi kullansınlar.

bende pet i cagırdıgım gibi geliyor ve gidiyor sorun nerede :D
 
Eline Saglık Usta Ama Bu Sekilde Bir İşe Yaramaz Gui Veya Özellik Secme Filan Olsa Süper Olurdu :)
L4Rjq1.png
 
local exp_table = {100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,2000,2100,2200,2300,2400,2500}


Bunun yerine



function bonusliste()
return {
[1] = {4900},
[2] = {4900},
[3] = {4900},
[4] = {4900},
[5] = {4900},
[6] = {4900},
[7] = {4900},
[8] = {4900},
[9] = {4900},
[10] = {4900},
[11] = {5900},
[12] = {5900},
[13] = {5900},
[14] = {5900},
[15] = {5900},
[16] = {5900},
[17] = {5900},
[18] = {5900},
[19] = {5900},
[20] = {5900},
[21] = {6900},
[22] = {6900},
[23] = {6900},
[24] = {6900},
[25] = {6900},
}
end

olsa daha iyi olmazmı ?
 
local exp_table = {100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,2000,2100,2200,2300,2400,2500}


Bunun yerine



function bonusliste()
return {
[1] = {4900},
[2] = {4900},
[3] = {4900},
[4] = {4900},
[5] = {4900},
[6] = {4900},
[7] = {4900},
[8] = {4900},
[9] = {4900},
[10] = {4900},
[11] = {5900},
[12] = {5900},
[13] = {5900},
[14] = {5900},
[15] = {5900},
[16] = {5900},
[17] = {5900},
[18] = {5900},
[19] = {5900},
[20] = {5900},
[21] = {6900},
[22] = {6900},
[23] = {6900},
[24] = {6900},
[25] = {6900},
}
end

olsa daha iyi olmazmı ?

Exp tablosu / bonus listesi wtf ?
 

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

Geri
Üst