Yimo Reklam
Reklam
Reklam
Neler yeni

Foruma hoş geldin, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

QUESTS Deneyim ve seviye etkisine sahip evcil hayvan sistemi

fleex

Aktif Katılımcı
Üye
Katılım
28 Temmuz 2025
Mesajlar
75
Merhaba, konu yabancı bi forumdan alıntıdır.

Kod:
görev pet_system başlangıç
    durumu başlangıç başlangıç fonksiyonu give_pet_exp ( miktar ) yerel pet_item = pc . getqf ( "pet_item" ) yerel pet_level = pc . getqf ( "pet_" .. pet_item .. "_level" ) yerel pet_exp = pc . getqf ( "evcil_" .. evcil_nesnesi .. "_exp" ) yerel exp_tablosu = { 100 , 200 , 300 , 400 , 500 , 600 , 700 , 800 , 900 , 1000 , 1100 , 1200 , 1300 , 1400 , 1500 , 1600 , 1700 , 1800 , 1900 , 20000 } yerel mobVnum = evcil_sistem .get_pet_info ( evcil_nesnesi ) [ 1 ]
       
           
           
           
           
           
           
            yerel MAX_LEVEL = 20
           
            eğer pet_level <= MAX_LEVEL ise o zaman pet_exp > exp_table [ pet_level ] ise
                    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ınız " .. pet_level " seviyesine ulaştı ) değilse
                    pc . setqf ( "pet_" .. pet_item .. "_exp" , pet_exp + ammount ) end end
                 
               
               
           
           
        get_pet_info ( itemVnum ) işlevini sonlandırın
            pet_info_map = { [ 53001 ] = { 34001 , gameforge .pet_system ._010_say , 0 } , [ 53002 ] = { 34002 , gameforge .pet_system ._020_say , 0 } , [ 53003 ] = { 34003 , gameforge .pet_system ._040_say , 0 } , [ 53005 ] = { 34004 , gameforge .pet_system ._050_say , 1 } , [ 53006 ] = { 34009 , gameforge .pet_system . _050_say , 1 }, [ 53010 ] = { 34008 , gameforge . pet_system . _060_say , 0 }, [ 53011 ] = { 34007 , gameforge . pet_system . _070_say , 0 }, [ 53012 ] = { 34005 , gameforge . pet_system . _080_say , 0 }, [ 53013 ] = { 34006 , gameforge . pet_system . _090_say , 0 }, [ 53007 ] = { 34010 , gameforge . pet_system . _100_say , 0 }, [ 53008 ] = { 34011 , gameforge . pet_system . _110_say , 0 }, [ 53009 ] = { 34012 , gameforge
       
                     
                     
                     
                       
                       
                       
                       
                       
                       
                       
                       
                       . evcil_hayvan_sistemi ._120_söyle , 0 } , [ 38200 ] = { 34006 , gameforge . evcil_hayvan_sistemi ._090_söyle , 0 } , [ 38201 ] = { 34006 , gameforge . evcil_hayvan_sistemi ._090_söyle , 0 } , [ 53014 ] = { 34013 , gameforge . evcil_hayvan_sistemi ._130_söyle , 0 } , [ 53015 ] = { 34014 , gameforge . evcil_hayvan_sistemi ._140_söyle , 0 } , [ 53016 ] = { 34015 , gameforge . evcil_hayvan_sistemi . _150_dedi , 0 }, [ 53017 ] = { 34016 , gameforge . evcil_hayvan_sistemi . _160_dedi , 0 }, }
                       
                       
                       
                       
                       
                       
           

            itemVnum = tonumber ( itemVnum )

            pet_info_map [ itemVnum ] döndür get_spawn_effect_file ( idx ) işlevini sonlandır
            effect_table = { [ 0 ] = nil , [ 1 ] = "d:ymir workeffectetcappear_dienpc2_appear.mse " , } effect_table [ idx ] döndür 38200.use veya 38201.use veya 53007.use veya 53013.use veya 53012.use veya 53011.use veya 53010.use veya 53006.use veya 53005.use veya 53002.use veya 53001.use veya 53003.use veya 53008.use veya 53009.use veya 53014.use veya 53015.use veya 53016.use veya 53017.use yerel pet_info = pet_system ile başlar . get_pet_info ( item.vnum ) eğer pc . getqf ( "pet_" .. item . vnum .. "_exp" ) == 0 sonra
                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 ardından
       
       
                 
                 
           
           
       
                                             
           
             
           
             

                yerel mobVnum = evcil_hayvan_bilgisi [ 1 ] yerel evcil_hayvan_Adı = evcil_hayvan_bilgisi [ 2 ] yerel spawn_effect_file_name = evcil_hayvan_sistemi . get_spawn_effect_file ( evcil_hayvan_bilgisi [ 3 ])
               
               

                eğer true == pet . is_summon ( mobVnum ) ise spawn_effect_file_name != nil ise o zaman
                        pet . spawn_effect ( mobVnum , spawn_effect_file_name ) son
                    pet . unsummon ( mobVnum ) değilse eğer pet . count_summoned () < 1 ise o zaman
                        pet . summon ( mobVnum , petName , false ) değilse
                        syschat ( gameforge.pet_system._030_chat ) son eğer spawn_effect_file_name ! = nil ise o zaman
                        pet . spawn_effect ( mobVnum , spawn_effect_file_name ) son son son evcil hayvanla öldürüldüğünde . count_summoned ( ) == 1 ve npc değil . is_pc ( ) yerel exp_give = sayı ( 1 , 40 ) yerel finnaly_exp = ( pc.get_level ( ) * exp_give / 10 ) * 2
            pet_system.get_pet_exp ( finnaly_exp ) son son son


Eğer maksimum seviyeyi değiştirmek istiyorsanız şu değişkeni değiştirmeniz yeterli:

yerel MAX_LEVEL = 20

Ancak maksimum seviyeyi değiştirirseniz, deneyim tablosunu da düzenlemeniz gerekir. Örneğin ben ayarladım

yerel MAX_LEVEL = 25

yani exp tablosu şu şekilde görünmelidir:

yerel 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 }


İndirme linkini görmek için kayıt olmanız gerekiyor.


İndirme linkini görmek için kayıt olmanız gerekiyor.
 

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kayıt ol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Şimdi kayıt ol
Giriş yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş yap