Advertisement
Guest User

Pet_System Metin2 - Quest alterada para colocar bonus

a guest
Aug 9th, 2013
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.98 KB | None | 0 0
  1. quest pet_system begin
  2.     state start begin
  3.         function get_pet_info(itemVnum)
  4.             pet_info_map = {
  5.             --  [ITEM VNUM] MOB_VNUM, DEFAULT NAME, buff_idx, spawn_effect_idx, bonus or nor, id bonus, value bonus , etc etc
  6.                 [53001]     = { 34001, "'s Phoenix do Fogo", 0, 1, 1, 5000000},
  7.                 [53002]     = { 34002, "'s Baby Reindeer", 0, nil},
  8.                 [53003]     = { 34003, "'s Phoenix do Gelo", 0, nil},
  9.                 [53004]     = { 34001, "'s Phoenix do Fogo", 0, nil},
  10.                 [53005]     = { 34004, "'s Azrael Bebé ", 1, nil},
  11.                 [53006]     = { 34009, "'s Azrael Bebé (Ouro)", 1, nil},
  12.                 [53010]     = { 34008, "'s Leonidas", 0, nil},
  13.                 [53011]     = { 34007, "'s Khan", 0, nil},
  14.                 [53012]     = { 34005, "'s Porky", 0, nil},
  15.                 [53013]     = { 34006, "'s Rufus", 0, nil},
  16.                 [53007]     = { 34010, "'s Bambi", 0, nil},
  17.                 [53008]     = { 34011, "'s Knuud", 0, nil},
  18.                 [53009]     = { 34012, "'s Bao Bao", 0, nil},
  19.             }
  20.  
  21.             itemVnum = tonumber(itemVnum)
  22.  
  23.             return pet_info_map[itemVnum]
  24.         end
  25.         function get_spawn_effect_file(idx)
  26.             effect_table = {
  27.                 [0] = nil,
  28.                 [1] = "d:\\\\ymir work\\\\effect\\\\etc\\\\appear_die\\\\npc2_appear.mse",
  29.             }
  30.             return effect_table [idx]
  31.         end
  32.         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
  33.             local pet_info = pet_system.get_pet_info(item.vnum)
  34.  
  35.             if null != pet_info then
  36.  
  37.                 local mobVnum = pet_info[1]
  38.                 local petName = pet_info[2]
  39.                 local spawn_effect_file_name = pet_system.get_spawn_effect_file(pet_info[3])
  40.  
  41.                 if true == pet.is_summon(mobVnum) then
  42.                     if spawn_effect_file_name != nil then
  43.                         pet.spawn_effect (mobVnum, spawn_effect_file_name)
  44.                     end
  45.                     pet.unsummon(mobVnum)
  46.                     if pet_info[4] != nil then
  47.                         local num_bonus = pet_info[4] -- valor de bonus a "desaplicar"
  48.                         for i = 1, num_bonus, 1 do
  49.                             affect.remove_collect(pet_info[5+2*(i-1)], pet_info[6+2*(i-1)], 60*60*24*365)
  50.                         end
  51.                     end
  52.                 else
  53.                     if pet.count_summoned() < 1 then
  54.                         pet.summon(mobVnum, petName, false)
  55.                         if pet_info[4] != nil then
  56.                             local num_bonus = pet_info[4] -- valor de bonus a aplicar
  57.                             for i = 1, num_bonus, 1 do
  58.                                 affect.add_collect(pet_info[5+2*(i-1)], pet_info[6+2*(i-1)], 60*60*24*365)
  59.                             end
  60.                         end
  61.                     else
  62.                         syschat("You already summoned a pet.")
  63.                     end
  64.                     if spawn_effect_file_name != nil then
  65.                         pet.spawn_effect(mobVnum, spawn_effect_file_name)
  66.                     end
  67.                 end -- if pet.is_summon
  68.             end  -- if null != pet_info
  69.         end -- when
  70.     end -- state
  71. end -- quest
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement