Jump to content

Problema con el sistema de mascotas (2013)


SuperGamix

Mensajes recomendados

Tengo un problema, y es que a las mascotas les da por no salir de sus sellos xd... 

Ya he verificado los archivos de mi source, y parece todo estar bien (comparado con otro que si funciona), o claro, eso creo yo... 

Ya he cambiado miles de veces la quest, e incluso puesto nombres diferentes (Aunque quizas no tengan nada que ver)

Ya verifiqué las funciones, todo y nada... 

Lo extraño es que si hago /m 34001 (id del fenix de fuego) el fenix sale, como riendose en mi cara xddd

Pero si lo llamo del sello, no viene...

 

¿Alguna idea? ~Gracias de antemano

 

Enlace para comentar
Compartir en otros sitios

hace 11 minutos, SuperGamix dijo:

Tengo un problema, y es que a las mascotas les da por no salir de sus sellos xd... 

Ya he verificado los archivos de mi source, y parece todo estar bien (comparado con otro que si funciona), o claro, eso creo yo... 

Ya he cambiado miles de veces la quest, e incluso puesto nombres diferentes (Aunque quizas no tengan nada que ver)

Ya verifiqué las funciones, todo y nada... 

Lo extraño es que si hago /m 34001 (id del fenix de fuego) el fenix sale, como riendose en mi cara xddd

Pero si lo llamo del sello, no viene...

 

¿Alguna idea? ~Gracias de antemano

 

eso se supone que debes ajustarlo en el petsystem y en el petincubador.. ese sistema utiliza 2 quest

Enlace para comentar
Compartir en otros sitios

hace 1 minuto, KnightFall dijo:

deberías mostrar entonces tu quest

Esta es la que estoy usando actualmente:

quest pet_system begin
    state start begin
        function get_pet_info(itemVnum)
            pet_info_map = {
                [53001]     = { 34001, " - Pheonix Foc ", 0},
                [53002]     = { 34002, " - Pui de Ren ", 0},
                [53003]     = { 34003, " - Pheonix de Gheata ", 0},
                [53005]     = { 34004, " - Mini-Azrael ", 0},
                [53006]     = { 34009, " - Azrael Aur ", 0},
                [53007]     = { 34010, " - Bambi ", 0},
                [53008]     = { 34011, " - Knuud ", 0},
                [53009]     = { 34012, " - Bao Bao ", 0},
                [53010]     = { 34008, " - Leu ", 0},
                [53011]     = { 34007, " - Tigru ", 0},
                [53012]     = { 34005, " - Porcusor ", 0},
                [53013]     = { 34006, " - Caine ", 0},
                [53014]     = { 34013, " - Mini-Executor ", 0},
                [53015]     = { 34014, " - Mini-Executo(Aur) ", 0},
                [53016]     = { 34015, " - Oase ", 0},
                [53017]     = { 34016, " - Pheonix de Jad ", 0},
                [53018]     = { 34020, " - Leu Arctic ", 0},
                [53019]     = { 34019, " - Tigru Arctic ", 0},
                [53020]     = { 34017, " - Porc Arctic ", 0},
                [53021]     = { 34018, " - Câine Arctic ", 0},
                [53022]     = { 34021, " - Sheldon ", 0},
                [53023]     = { 34022, " - Cooper ", 0},
                [53024]     = { 34023, " - Pantera ", 0},
                [53025]     = { 34024, " - Leopard ", 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\\\\buff\\\\buff_item3.mse",
            }
            return effect_table [idx]
        end
        when 53001.use or 53002.use or 53003.use or 53015.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 53016.use or 53014.use or 53013.use or 53017.use or 53018.use or 53019.use or 53020.use or 53021.use or 53022.use or 53023.use or 53024.use or 53025.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("Ai deja un animãluþ chemat, nu poþi chema altul. Trimite-l înapoi pe celãlalt, ºi apoi cheamã-l pe ãsta. ")
                    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

Enlace para comentar
Compartir en otros sitios

Spoiler

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, " - Ateþ Kuþu Ankasý ", 1},
                [53002]     = { 34002, " - Yavru Ren Geyiði ", 1},
                [53003]     = { 34003, " - Buz Ankasý ", 1},
                [53005]     = { 34004, " - Yavru Azrail ", 1},
				[53006]		= { 34009, " - Altýn Yavru Azrail ", 1},
                [53007]     = { 34010, " - Bambi ", 1},
				[53008]		= { 34011, " - Knuud ", 1},
				[53009]		= { 34012, " - Bao Bao ", 1},
                [53010]     = { 34008, " - Leonidas ", 1},
                [53011]     = { 34007, " - Khan ", 1},
                [53012]     = { 34005, " - Porki ", 1},
                [53013]     = { 34006, " - Rufus ", 1},
				[53014]     = { 34013, " - Þiþko Cellatcýk ", 1},
				[53015]     = { 34014, " - Altýn Þiþko Cellatcýk ", 1},
				[53016]     = { 34015, " - Boney ", 1},
				[53017]     = { 34016, " - Yeþim Ankasý ", 1},
				[53018]     = { 34020, " - Kar Leonidas ", 1},
				[53019]     = { 34019, " - Arktis Khan ", 1},
				[53022]     = { 34021, " - Sheldon ", 1},
				[53023]     = { 34022, " - Cooper ", 1},
				[53024]     = { 34023, " - Yavru Panter ", 1},
				[53025]     = { 34024, " - Yavru Leopar ", 1},
				[53222]     = { 34026, " - Balkabaðý Kafasý ", 1},
				[53223]     = { 34027, " - Cadý Süpürgesi ", 1},
				[53224]     = { 34028, " - Kar Tanesi ", 1},
				[53225]     = { 34029, " - Çancýk ", 1},	
				[53226]     = { 34030, " - Cupido ", 1},
				[53227]     = { 34031, " - Öfkeli Kalp ", 1},
				[53228]     = { 34032, " - Mavi Ay ", 1},
				[53229]     = { 34033, " - Kýzýl Ay ", 1},
				[53230]     = { 34034, " - Mavi Koç ", 1},
				[53231]     = { 34035, " - Beyaz Kuzucuk ", 1},
				[53232]     = { 34036, " - Yavru Huashin ", 1},
				[53233]		= { 34100, " - Bruce ", 0},
				[53234]		= { 34101, " - Wayne ", 0},
				[53235]		= { 34102, " - Robin ", 0},
				[53236]		= { 34103, " - Valentino ", 0},
				[53237]		= { 34104, " - Valentinia ", 0},
				[53238]		= { 34105, " - Valentino ", 0},
				[53239]		= { 34106, " - Valentinia ", 0},
				[53240]		= { 34107, " - Ay Feneri ", 0},
				[53241]		= { 34108, " - Ay Feneri ", 0},
				[53242]		= { 34111, " - Bonsa+ ", 0},
				[53243]		= { 34111, " - Bonsa ", 0},
				[53244]		= { 34112, " - Bayan Jiangshi ", 0},
				[53245]		= { 34113, " - Bay Jiangshi ", 0},
				[53246]		= { 34114, " - Genç Jiangshi ", 0},
				[53247]		= { 34115, " - Kýrmýzý Elf ", 0},
				[53248]		= { 34116, " - Yeþil Elf ", 0},
				[53249]		= { 34117, " - Kýrmýzý Elf ", 0},
				[53256]		= { 34111, " - Bonsa ", 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\\\\monster_die.mse",
			}
			return effect_table [idx]
		end
		when 53001.use or 53002.use or 53003.use or 53015.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 53016.use or 53014.use or 53013.use or 53017.use or 53018.use or 53019.use or 53020.use or 53021.use or 53022.use or 53023.use or 53024.use or 53025.use or 53222.use or 53223.use or 53224.use or 53225.use or 53226.use or 53227.use or 53228.use or 53229.use or 53230.use or 53231.use or 53232.use or
			53233.use or 53234.use or 53235.use or 53236.use or 53237.use or 53238.use or 53239.use or 53240.use or 53241.use or 53242.use or 53243.use or 53244.use or 53245.use or 53246.use or 53247.use or 53248.use or 53249.use or 53250.use or 53251.use or 53256.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("Evcil hayvan muhru yok")
                    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

 

Prueba esta quest, puede que te sirva..

EDIT: O también por lo que me eh fijado tu quest esta asi: 

[53001]     = { 34001, " - Ateþ Kuþu Ankasý ", 0},

Cambialo por: 

[53001]     = { 34001, " - Ateþ Kuþu Ankasý ", 1},

Espero te sirva 😉

 

Enlace para comentar
Compartir en otros sitios

hace 36 minutos, MiGueLiT0 dijo:
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Ocultar contenido


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, " - Ateþ Kuþu Ankasý ", 1},
                [53002]     = { 34002, " - Yavru Ren Geyiði ", 1},
                [53003]     = { 34003, " - Buz Ankasý ", 1},
                [53005]     = { 34004, " - Yavru Azrail ", 1},
				[53006]		= { 34009, " - Altýn Yavru Azrail ", 1},
                [53007]     = { 34010, " - Bambi ", 1},
				[53008]		= { 34011, " - Knuud ", 1},
				[53009]		= { 34012, " - Bao Bao ", 1},
                [53010]     = { 34008, " - Leonidas ", 1},
                [53011]     = { 34007, " - Khan ", 1},
                [53012]     = { 34005, " - Porki ", 1},
                [53013]     = { 34006, " - Rufus ", 1},
				[53014]     = { 34013, " - Þiþko Cellatcýk ", 1},
				[53015]     = { 34014, " - Altýn Þiþko Cellatcýk ", 1},
				[53016]     = { 34015, " - Boney ", 1},
				[53017]     = { 34016, " - Yeþim Ankasý ", 1},
				[53018]     = { 34020, " - Kar Leonidas ", 1},
				[53019]     = { 34019, " - Arktis Khan ", 1},
				[53022]     = { 34021, " - Sheldon ", 1},
				[53023]     = { 34022, " - Cooper ", 1},
				[53024]     = { 34023, " - Yavru Panter ", 1},
				[53025]     = { 34024, " - Yavru Leopar ", 1},
				[53222]     = { 34026, " - Balkabaðý Kafasý ", 1},
				[53223]     = { 34027, " - Cadý Süpürgesi ", 1},
				[53224]     = { 34028, " - Kar Tanesi ", 1},
				[53225]     = { 34029, " - Çancýk ", 1},	
				[53226]     = { 34030, " - Cupido ", 1},
				[53227]     = { 34031, " - Öfkeli Kalp ", 1},
				[53228]     = { 34032, " - Mavi Ay ", 1},
				[53229]     = { 34033, " - Kýzýl Ay ", 1},
				[53230]     = { 34034, " - Mavi Koç ", 1},
				[53231]     = { 34035, " - Beyaz Kuzucuk ", 1},
				[53232]     = { 34036, " - Yavru Huashin ", 1},
				[53233]		= { 34100, " - Bruce ", 0},
				[53234]		= { 34101, " - Wayne ", 0},
				[53235]		= { 34102, " - Robin ", 0},
				[53236]		= { 34103, " - Valentino ", 0},
				[53237]		= { 34104, " - Valentinia ", 0},
				[53238]		= { 34105, " - Valentino ", 0},
				[53239]		= { 34106, " - Valentinia ", 0},
				[53240]		= { 34107, " - Ay Feneri ", 0},
				[53241]		= { 34108, " - Ay Feneri ", 0},
				[53242]		= { 34111, " - Bonsa+ ", 0},
				[53243]		= { 34111, " - Bonsa ", 0},
				[53244]		= { 34112, " - Bayan Jiangshi ", 0},
				[53245]		= { 34113, " - Bay Jiangshi ", 0},
				[53246]		= { 34114, " - Genç Jiangshi ", 0},
				[53247]		= { 34115, " - Kýrmýzý Elf ", 0},
				[53248]		= { 34116, " - Yeþil Elf ", 0},
				[53249]		= { 34117, " - Kýrmýzý Elf ", 0},
				[53256]		= { 34111, " - Bonsa ", 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\\\\monster_die.mse",
			}
			return effect_table [idx]
		end
		when 53001.use or 53002.use or 53003.use or 53015.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 53016.use or 53014.use or 53013.use or 53017.use or 53018.use or 53019.use or 53020.use or 53021.use or 53022.use or 53023.use or 53024.use or 53025.use or 53222.use or 53223.use or 53224.use or 53225.use or 53226.use or 53227.use or 53228.use or 53229.use or 53230.use or 53231.use or 53232.use or
			53233.use or 53234.use or 53235.use or 53236.use or 53237.use or 53238.use or 53239.use or 53240.use or 53241.use or 53242.use or 53243.use or 53244.use or 53245.use or 53246.use or 53247.use or 53248.use or 53249.use or 53250.use or 53251.use or 53256.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("Evcil hayvan muhru yok")
                    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

 

Prueba esta quest, puede que te sirva..

EDIT: O también por lo que me eh fijado tu quest esta asi: 

[53001]     = { 34001, " - Ateþ Kuþu Ankasý ", 0},

Cambialo por: 

[53001]     = { 34001, " - Ateþ Kuþu Ankasý ", 1},

Espero te sirva 😉

 

Me llené de ilusion xddd... Nop, no funcionó 😞

Enlace para comentar
Compartir en otros sitios

Has probado a reinstalar el sistema? Quiero decir, si el q tienes no te va, aunque sea un poco tedioso re hacerlo  crearle nuevas ids y tal, (hablando tema quest buscar otra funcional de otros files y acomodar la tuya,) si es por source revisar q no Le falte nada,  y eso,  creo recordar q ese sistema estaba publicado en algún foro,  si encuentro alguna solución te la traigo, por ahora solo queda probar eso.

Edit : prueba esta es la tuya en pastebin,  comparala o pruébala 

Debes iniciar sesión para ver el contenido del enlace en esta publicación.

 

Y aquí te dejo otra quest 

Spoiler

quest pet_system begin	state start begin		when 53001.use or 53002.use or 53003.use or 53005.use or 53006.use or 53007.use or 53008.use or 53009.use begin			local ItemValue = item.vnum			for i = 1, table.getn(PetArray), 1 do				if PetArray[i][1] == ItemValue then					local PetState = PetArray[i][2]					if pc.getqf("pet_index") == 0 then						if pc.getqf(PetState) == 0 then							local check = inizializza(i)							if check != 0 then return end							pc.setqf(PetState, 1)						end						pc.setqf("pet_index", i)						evoca(i, PET_SUMMON)					else						evoca(i, PET_UNSUMMON)						pc.setqf("pet_index", 0)					end				end			end		end		when 20120.click with pc.getqf("pet_index") == 1 begin	show_pet_menu(1)	end		when 20121.click with pc.getqf("pet_index") == 1 begin	show_pet_menu(1)	end		when 20122.click with pc.getqf("pet_index") == 1 begin	show_pet_menu(1)	end		when 20123.click with pc.getqf("pet_index") == 2 begin	show_pet_menu(2)	end		when 20124.click with pc.getqf("pet_index") == 2 begin	show_pet_menu(2)	end		when 20125.click with pc.getqf("pet_index") == 2 begin	show_pet_menu(2)	end		when 20126.click with pc.getqf("pet_index") == 3 begin	show_pet_menu(3)	end		when 20127.click with pc.getqf("pet_index") == 3 begin	show_pet_menu(3)	end		when 20128.click with pc.getqf("pet_index") == 3 begin	show_pet_menu(3)	end		when 20129.click with pc.getqf("pet_index") == 4 begin	show_pet_menu(4)	end		when 20130.click with pc.getqf("pet_index") == 4 begin	show_pet_menu(4)	end		when 20131.click with pc.getqf("pet_index") == 4 begin	show_pet_menu(4)	end		when 20132.click with pc.getqf("pet_index") == 5 begin	show_pet_menu(5)	end		when 20133.click with pc.getqf("pet_index") == 5 begin	show_pet_menu(5)	end		when 20134.click with pc.getqf("pet_index") == 5 begin	show_pet_menu(5)	end		when 20135.click with pc.getqf("pet_index") == 6 begin	show_pet_menu(6)	end		when 20136.click with pc.getqf("pet_index") == 6 begin	show_pet_menu(6)	end		when 20137.click with pc.getqf("pet_index") == 6 begin	show_pet_menu(6)	end		when 20138.click with pc.getqf("pet_index") == 7 begin	show_pet_menu(7)	end		when 20139.click with pc.getqf("pet_index") == 7 begin	show_pet_menu(7)	end		when 20140.click with pc.getqf("pet_index") == 7 begin	show_pet_menu(7)	end		when 20141.click with pc.getqf("pet_index") == 8 begin	show_pet_menu(8)	end		when 20142.click with pc.getqf("pet_index") == 8 begin	show_pet_menu(8)	end		when 20143.click with pc.getqf("pet_index") == 8 begin	show_pet_menu(8)	end		when kill with pc.getqf("pet_index") != 0 begin			local i = pc.getqf("pet_index")			if pc.get_level() &--#62; (npc.get_level() + 15) then				return			end			if pc.get_level() &--#60;= npc.get_level() then				PetGiveExp(i, 5)			elseif pc.get_level() &--#60;= (npc.get_level() + 5) then				PetGiveExp(i, 4)			elseif pc.get_level() &--#60;= (npc.get_level() + 10) then				PetGiveExp(i, 3)			elseif pc.get_level() &--#60;= (npc.get_level() + 15) then				PetGiveExp(i, 1)			end		end				when logout with pc.getqf("pet_index") != 0 begin			local i = pc.getqf("pet_index")			evoca(i, PET_UNSUMMON)			pc.setqf("pet_index", 0)		end		when login with pc.getqf("pet_index") != 0 begin			local i = pc.getqf("pet_index")			evoca(i, PET_UNSUMMON)			pc.setqf("pet_index", 

Me dices algo, un saludo. 

Enlace para comentar
Compartir en otros sitios

hace 4 minutos, NazoX dijo:

Has probado a reinstalar el sistema? Quiero decir, si el q tienes no te va, aunque sea un poco tedioso re hacerlo  crearle nuevas ids y tal, (hablando tema quest buscar otra funcional de otros files y acomodar la tuya,) si es por source revisar q no Le falte nada,  y eso,  creo recordar q ese sistema estaba publicado en algún foro,  si encuentro alguna solución te la traigo, por ahora solo queda probar eso. 

No le veo sentido 😕 en el source game los archivos mas relevantes para el pet system que consigo son: petsystem.cpp, petsystem.h y questlua_pet.cpp... y esos 3 archivos los he remplazado por unos de varios sources que en el game si que funciona... He comparado tambien el item_proto de mi servidor con los de otro servidor y no tiene falla, todo deberia estar funcionando... Pero no lo hace...

Enlace para comentar
Compartir en otros sitios

hace 5 minutos, SuperGamix dijo:

No le veo sentido 😕 en el source game los archivos mas relevantes para el pet system que consigo son: petsystem.cpp, petsystem.h y questlua_pet.cpp... y esos 3 archivos los he remplazado por unos de varios sources que en el game si que funciona... He comparado tambien el item_proto de mi servidor con los de otro servidor y no tiene falla, todo deberia estar funcionando... Pero no lo hace...

Te acabo de responder con edición, revisalo pruébalo y me dices! 

Pd: estoy haciéndolo desde el móvil así q perdón por no ponértelo en negrita y tal. 

Enlace para comentar
Compartir en otros sitios

  • Dilong locked this tema
Guest
Este tema está cerrado a otras respuestas.
  • Recientemente navegando por este tema   0 miembros

    • No hay usuarios registrados visitando esta página.
×
×
  • Crear nuevo...