wie kann ich in der neuen pet quest bonis einfügen?
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 Phönix", 0},
[53002] = { 34002, "'s Rentierjunges", 0},
[53003] = { 34003, "'s Eis Phönix", 0},
[53005] = { 34004, "'s Azrael", 1},
[53006] = { 34006, "'s Rufus", 0},
[53007] = { 34008, "´s Leonidas", 0},
[53008] = { 34007, "'s Khan", 0},
[53009] = { 34005, "'s Pokie", 0},
[53010] = { 34010, "'s Bambi", 0},
[53011] = { 34011, "'s Knuud", 0},
[53012] = { 34012, "´s Bao Bao", 0},
[53013] = { 34013, "´s Dark Rufus", 0},
[53999] = { 34009, "'s Azrael2", 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 53006.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() < 2 then
pet.summon(mobVnum, petName, false)
else
syschat("Du kannst maximal zwei Hautiere rufen.")
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
Schau dir die verdammte quest_functions an man! Dann deklariere jedes mount einzeln anstatt sie alle per or zu checken und apply bei jedem Mount den Boni wo du willst.Quote:
da bei jeden pet ein anderen boni? das erklär mal bittePHP 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 Phönix", 0},
[53002] = { 34002, "'s Rentierjunges", 0},
[53003] = { 34003, "'s Eis Phönix", 0},
[53005] = { 34004, "'s Azrael", 1},
[53006] = { 34006, "'s Rufus", 0},
[53007] = { 34008, "´s Leonidas", 0},
[53008] = { 34007, "'s Khan", 0},
[53009] = { 34005, "'s Pokie", 0},
[53010] = { 34010, "'s Bambi", 0},
[53011] = { 34011, "'s Knuud", 0},
[53012] = { 34012, "´s Bao Bao", 0},
[53013] = { 34013, "´s Dark Rufus", 0},
[53999] = { 34009, "'s Azrael2", 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 53006.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() < 2 then
pet.summon(mobVnum, petName, false)
else
syschat("Du kannst maximal zwei Hautiere rufen.")
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