Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pytanie] game 34083 - pet system


Rekomendowane odpowiedzi

Opublikowano

Witam, mam game 34083.. Slyszalem ze w nim juz jest wgrany pet system. Tylko jest taki problem ze nie wiem jak zmienic do nich bonusy ;)

Tak.

Opublikowano
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, " - Ognisty Feniks", 0},
                [53002]     = { 34002, " - Ren Geyiđi Yavrusu ", 0},
                [53003]     = { 34003, " - Buz Ankasý ", 0},
                [53004]     = { 34001, " - Feuerphönix ", 0},
                [53005]     = { 34004, " - Yavru Azrail ", 0},
				[53006]		= { 34009, " - Yavru Azrail ", 0},
                [53007]     = { 34010, " - Bambi ", 0},
				[53008]		= { 34011, " - Knuud ", 0},
				[53009]		= { 34012, " - Bao Bao ", 0},
                [53010]     = { 34008, " - Leonidas ", 0},
                [53011]     = { 34007, " - Khan ", 0},
                [53012]     = { 34005, " - Porki ", 0},
                [53013]     = { 34006, " - 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 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_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("[PET] Nie mozesz aktywowac wiecej pet'ow!")
                    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

Przykładowo wziąłem sobie pet'a Ognisty Feniks. ID: 53001

Następnie otworzyłem ...\quest\object\53001\use\pet_system.start

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 ( " Zaten bir evcil hayvan çađýrdýn. " ) 
end 
if spawn_effect_file_name ~= nil then 
pet . spawn_effect ( mobVnum , spawn_effect_file_name ) 
end 
end 
end 

Jeszcze jest plik pet_system

pet_system={["start"]=0,get_pet_info= function (itemVnum)pet_info_map = { 
[ 53001 ] = { 34001 , "'s Anka Kuţu " , 0 } , 
[ 53002 ] = { 34002 , "'s Ren Geyiđi Yavrusu " , 0 } , 
[ 53003 ] = { 34003 , "'s Buz Ankasý " , 0 } , 
[ 53004 ] = { 34001 , "'s Feuerphönix " , 0 } , 
[ 53005 ] = { 34004 , "'s Yavru Azrail " , 0 } , 
[ 53006 ] = { 34009 , "'s Yavru Azrail " , 0 } , 
[ 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 Porki " , 0 } , 
[ 53013 ] = { 34006 , "'s Rufus " , 0 } , 
} 
itemVnum = tonumber ( itemVnum ) 
return pet_info_map [ itemVnum ] 
end ,get_spawn_effect_file= function (idx)effect_table = { 
[ 0 ] = nil , 
[ 1 ] = "d:\\ymir work\\effect\\etc\\appear_die\\npc2_appear.mse" , 
} 
return effect_table [ idx ] 
end }

Nie mogę znaleźć w locale żadnego pliku txt, (chyba) wszystko to co znalazłem.

 

 

 

P,S Każdy pet daje mi 2k pż, czy 1.5kpż, już nie pamiętam :)

Tak.

Opublikowano

Nie w quescie!

Tylko w item_proto.txt serwerowym, tak jakbys edytowal bony zbroji.

 

Widziałem temat, w którym było edytowane w queście. Więc myślałem, że tam :)

Dzięki za informacje.

//Edit

 

 

Nie zauważyłem w navicacie, że jest takie coś jak "strony".. cały czas myślałem że te itemki są gdzieś indziej ... ;x

 

( Wcześniej miałem styczność z phpmyadmin)

 

 

Dzięki za pomoc.

 

#Close.

Tak.

Opublikowano

 

Widziałem temat, w którym było edytowane w queście. Więc myślałem, że tam :)

Dzięki za informacje.

//Edit

 

 

Nie zauważyłem w navicacie, że jest takie coś jak "strony".. cały czas myślałem że te itemki są gdzieś indziej ... ;x

 

( Wcześniej miałem styczność z phpmyadmin)

 

 

Dzięki za pomoc.

 

#Close.

 

Jeżeli quest, to musisz zrobić każdy odzielnie, ale jak napisał up lepiej zrobić to w item_proto lub mob_proto.

Opublikowano

Zmieniasz sobie w navi wyszukujesz moba/item ktory chcesz zmienic... zmieniasz konwertujesz mob proto badz item proto (zalezy w czym dokonujesz zmian) w plik txt i wrzucasz na serwer usr/home/mt2/db i restart serwera i masz swoje bonusy ;)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...