problem in pet_system.quest

10/13/2013 10:37 Mrkholyo#1
Welcome all

i have problem in pet_system.quest

Code:
quest pet_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, "'s Fire Phoenix", 0},
                [53002]     = { 34002, "'s Baby Reindeer", 0},
                [53003]     = { 34003, "'s Ice Phoenix", 0},
                [53004]     = { 34001, "'s Fire Phoenix", 0},
                [53005]     = { 34004, "'s Baby Gahnasel", 1},
                [53010]     = { 34008, "'s Leonidas", 0},
                [53011]     = { 34007, "'s Khan", 0},
                [53012]     = { 34005, "īs Porky", 0},
                [53013]     = { 34006, "īs Rufus", 0},
                [53007]     = { 34010, "'s Bambi", 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 53007.use or 53013.use or 53012.use or 53011.use or 53010.use or 53005.use or 53004.use or 53003.use or 53002.use or 53001.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("You already summoned a pet.")
                    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

When i activate quest

and click 53001 , 53002 , 53003 .. etc

not show all pet , only : Fire Phoenix - Baby Reindeer - Ice Phoenix -Fire Phoenix - Baby Gahnasel - Leonidas - Khan - Porky - Rufus - Bambi

where is bear_young1 and panda_young1 ?

Can any of you correct the quest ?

:confused:


I am use r34

10/13/2013 11:16 Ky0n'#2
Plase use the Sticky Service for this problem: [Only registered and activated users can see links. Click Here To Register...]
10/13/2013 13:53 makralovag#3
Code:
quest pet_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, "'s Fire Phoenix", 0},
                [53002]     = { 34002, "'s Baby Reindeer", 0},
                [53003]     = { 34003, "'s Ice Phoenix", 0},
                [53004]     = { 34001, "'s Fire Phoenix", 0},
                [53005]     = { 34004, "'s Baby Gahnasel", 1},
                [53007]     = { 34010, "'s Bambi", 0},
	        [53008]     = { 34011, "'s Knuud", 0},
		[53009]     = { 34012, "'s Bao Bao", 0},
		[53010]     = { 34008, "'s Leonidas", 0},
                [53011]     = { 34007, "'s Khan", 0},
                [53012]     = { 34005, "'s Porky", 0},
                [53013]     = { 34006, "'s Rufus", 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 53013.use or 53012.use or 53011.use or 53010.use or 53009.use or 53008.use or 53007.use or 53005.use or 53004.use or 53003.use or 53002.use or 53001.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("You already summoned a pet.")
                    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
10/13/2013 13:57 Xijezu#4
#closed