Jump to content

Official Pet system??


Go to solution Solved by safademirel,

Recommended Posts

quest pet_system begin
    state start begin
        function get_pet_info(itemVnum)
            pet_info_map = {
            --  [ITEM VNUM] MOB_VNUM, DEFAULT NAME
                [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.pet_system._120_say, 0},
                -- GF specials
                [38200]     = { 34006, gameforge.pet_system._090_say, 0},
                [38201]     = { 34006, gameforge.pet_system._090_say, 0},
[53014]     = { 34013, gameforge.pet_system._130_say, 0},
[53015]     = { 34014, gameforge.pet_system._140_say, 0},
[53016]     = { 34015, gameforge.pet_system._150_say, 0},
[53017]     = { 34016, gameforge.pet_system._160_say, 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 38200.use or 38201.use or 53007.use or 53013.use or 53012.use or 53011.use or 53010.use or 53006.use  or 53005.use or 53002.use or 53001.use or 53003.use or 53008.use or 53009.use or
53014.use or 53015.use  or 53016.use or 53017.use begin
            local pet_info = pet_system.get_pet_info(item.vnum)
 
            if null != pet_info then
 
                local mobVnum = pet_info[1]
                local petName = pet_info[2]
local spawn_effect_file_name = pet_system.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_system._030_chat)
                    end
if spawn_effect_file_name != nil then
pet.spawn_effect (mobVnum, spawn_effect_file_name)
end
                end -- if pet.is_summon
            end  -- if null != pet_info
        end -- when
    end -- state
end -- quest
 
For transalte "  gameforge.pet_system._  " into " text " use this 
 
gameforge.pet_system = {}
gameforge.pet_system._010_say = " - Feuerphönix "
gameforge.pet_system._020_say = " - Rentierjunges "
gameforge.pet_system._030_chat = "Du kannst dein Pet gerade nicht herbeirufen. "
gameforge.pet_system._040_say = " - Eisphönix "
gameforge.pet_system._050_say = " - Baby-Azrael "
gameforge.pet_system._060_say = " - Leonidas "
gameforge.pet_system._070_say = " - Khan "
gameforge.pet_system._080_say = " - Porkie "
gameforge.pet_system._090_say = " - Rufus "
gameforge.pet_system._100_say = " - Bambi "
gameforge.pet_system._110_say = " -Knuud "
gameforge.pet_system._120_say = " -Bao Bao "
gameforge.pet_system._130_say = " - Dickes Henkerchen "
gameforge.pet_system._140_say = " - Dickes Henkerchen (gold) "
gameforge.pet_system._150_say = " - Boney "
gameforge.pet_system._160_say = " - Jadephönix "
 
 
  • Love 1
Link to comment
Share on other sites

 

quest pet_system begin
    state start begin
        function get_pet_info(itemVnum)
            pet_info_map = {
            --  [ITEM VNUM] MOB_VNUM, DEFAULT NAME
                [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.pet_system._120_say, 0},
                -- GF specials
                [38200]     = { 34006, gameforge.pet_system._090_say, 0},
                [38201]     = { 34006, gameforge.pet_system._090_say, 0},
[53014]     = { 34013, gameforge.pet_system._130_say, 0},
[53015]     = { 34014, gameforge.pet_system._140_say, 0},
[53016]     = { 34015, gameforge.pet_system._150_say, 0},
[53017]     = { 34016, gameforge.pet_system._160_say, 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 38200.use or 38201.use or 53007.use or 53013.use or 53012.use or 53011.use or 53010.use or 53006.use  or 53005.use or 53002.use or 53001.use or 53003.use or 53008.use or 53009.use or
53014.use or 53015.use  or 53016.use or 53017.use begin
            local pet_info = pet_system.get_pet_info(item.vnum)
 
            if null != pet_info then
 
                local mobVnum = pet_info[1]
                local petName = pet_info[2]
local spawn_effect_file_name = pet_system.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_system._030_chat)
                    end
if spawn_effect_file_name != nil then
pet.spawn_effect (mobVnum, spawn_effect_file_name)
end
                end -- if pet.is_summon
            end  -- if null != pet_info
        end -- when
    end -- state
end -- quest
 
For transalte "  gameforge.pet_system._  " into " text " use this 
 
gameforge.pet_system = {}
gameforge.pet_system._010_say = " - Feuerphönix "
gameforge.pet_system._020_say = " - Rentierjunges "
gameforge.pet_system._030_chat = "Du kannst dein Pet gerade nicht herbeirufen. "
gameforge.pet_system._040_say = " - Eisphönix "
gameforge.pet_system._050_say = " - Baby-Azrael "
gameforge.pet_system._060_say = " - Leonidas "
gameforge.pet_system._070_say = " - Khan "
gameforge.pet_system._080_say = " - Porkie "
gameforge.pet_system._090_say = " - Rufus "
gameforge.pet_system._100_say = " - Bambi "
gameforge.pet_system._110_say = " -Knuud "
gameforge.pet_system._120_say = " -Bao Bao "
gameforge.pet_system._130_say = " - Dickes Henkerchen "
gameforge.pet_system._140_say = " - Dickes Henkerchen (gold) "
gameforge.pet_system._150_say = " - Boney "
gameforge.pet_system._160_say = " - Jadephönix "

 

 

Thanks, but i want the version which gives bonuses to player :/ ... Like Pet system with gui (gui doesn't matter, i want questing part)

Link to comment
Share on other sites

 

Pet's give bonus to player, your game dedice bonus (Like official)

 

Wrong. Your item_proto decides which bonus you'll receive when you summon a pet.

 

 

Anyway , i will try to make that pet gives you bonuses by type and level. For e.g. every pet have special bonuses and value it's amplified by level.

 

Thanks, marked as solved 10 mins ago!!

Link to comment
Share on other sites

 

Pet's give bonus to player, your game dedice bonus (Like official)

 

Wrong. Your item_proto decides which bonus you'll receive when you summon a pet.

 

Are you sure ? For example 

 

34006 아기 전갑랑 KING NPC MELEE 1 0 STUN,SLOW,CURSE,TERROR 0 dog_young1 2 0 0 0 0 0 0 120 3 1 0 0 10 4 100 100 0 2000 150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

 

I can't see any Type of bonus and ecc.. 

But the pet's give me bonus HP and Vs.Monster

Link to comment
Share on other sites

  • Solution

 

 

Pet's give bonus to player, your game dedice bonus (Like official)

 

Wrong. Your item_proto decides which bonus you'll receive when you summon a pet.

 

Are you sure ? For example 

34006 아기 전갑랑 KING NPC MELEE 1 0 STUN,SLOW,CURSE,TERROR 0 dog_young1 2 0 0 0 0 0 0 120 3 1 0 0 10 4 100 100 0 2000 150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I can't see any Type of bonus and ecc.. 

But the pet's give me bonus HP and Vs.Monster

 

 

You are looking wrong place it's mob proto

 

Here is an example

53001	ºÒ»çÁ¶¼Òȯ±Ç	ITEM_QUEST	0	1	ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_STACK | ANTI_MYSHOP	LOG	NONE	NONE	0	0	0	0	0	LEVEL	0	REAL_TIME	604800	APPLY_MELEE_MAGIC_ATTBONUS_PER	15	APPLY_MAX_HP	1500	APPLY_NONE	0	600	0	0	0	0	0	0	0	0
  • Love 2
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.