Search the Community
Showing results for tags 'pet sytem'.
Found 1 result
-
Boas pessoal. Como viram o titulo do tópico, eu alterei a quest do sistema de pets do metin2.sg e alterei de maneira a que possam colocar bonus aos pets... Antes de mais, aqui fica a quest: 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, bonus or nor, id bonus, value bonus , etc etc [53001] = { 34001, "'s Phoenix do Fogo", 0, 1, 1, 5000000}, [53002] = { 34002, "'s Baby Reindeer", 0, nil}, [53003] = { 34003, "'s Phoenix do Gelo", 0, nil}, [53004] = { 34001, "'s Phoenix do Fogo", 0, nil}, [53005] = { 34004, "'s Azrael Bebé ", 1, nil}, [53006] = { 34009, "'s Azrael Bebé (Ouro)", 1, nil}, [53010] = { 34008, "'s Leonidas", 0, nil}, [53011] = { 34007, "'s Khan", 0, nil}, [53012] = { 34005, "'s Porky", 0, nil}, [53013] = { 34006, "'s Rufus", 0, nil}, [53007] = { 34010, "'s Bambi", 0, nil}, [53008] = { 34011, "'s Knuud", 0, nil}, [53009] = { 34012, "'s Bao Bao", 0, nil}, } 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 or 53006.use or 53008.use or 53009.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) if pet_info[4] != nil then local num_bonus = pet_info[4] -- valor de bonus a "desaplicar" for i = 1, num_bonus, 1 do affect.remove_collect(pet_info[5+2*(i-1)], pet_info[6+2*(i-1)], 60*60*24*365) end end else if pet.count_summoned() < 1 then pet.summon(mobVnum, petName, false) if pet_info[4] != nil then local num_bonus = pet_info[4] -- valor de bonus a aplicar for i = 1, num_bonus, 1 do affect.add_collect(pet_info[5+2*(i-1)], pet_info[6+2*(i-1)], 60*60*24*365) end end 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 -- stateend -- quest Quest no pastebin: http://pastebin.com/bwe0dUZN Pronto, vamos agora à breve explicação de como adicionar bonus a cada pet. Como vêm nesta linha ([53001] = { 34001, "'s Phoenix do Fogo", 0, 1, 1, 5000000},), a seguir ao "0," tem um numero, nesse número definim o numero de extras que querem, após isso, tem o 1 e o 5000000, o 1 é o id do bonus, e o 5000000 é o valor do bonus. Para adicionarem mais bonus fica algo assim do género: [53001] = { 34001, "'s Phoenix do Fogo", 0, 2, 1, 5000000, 2, 50000}, como repararam o 1 foi substituido pelo 2 que fica possivel ter 2 bonus. Se não quiserem ter bonus, fica assim: [53001] = { 34001, "'s Phoenix do Fogo", 0, nil}, . Penso que tenham percebido, qualquer dúvida avisem. Creditos: metin2.sg (Quest original) Eu (pela alteração da quest) NewWars pela ideia xd Cumprimentos.