Acum ceva timp am luat un svf de pe net şi am reparat majoritatea bugurilor , am lăsat la sfârşit Pet Systemul , am pus quest nou , am verificat dacă Mobii şi itemele corespund , am verificat categoria "folder" la mob_proto , totul este bine şi totuşi când dau pe sigiliu nu se întâmplă nimic !, mobii sunt băgaţi , îi pot spawna cu /m , orice sfat mă ajută , aici este questul.
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
[53017] = { 34016, " Phoenix VIP", 1},
[53003] = { 34003, " Phoenix Gheaþã", 0},
[53024] = { 34023, " Pui de Panterã", 1},
[53025] = { 34024, " Pui de Leopard", 1},
[53013] = { 34006, " Rufus", 0},
[53010] = { 34008, " Leonidas", 0},
[53012] = { 34005, " Porkie", 0},
[53011] = { 34007, " Khan", 0},
[53008] = { 34011, " Knuud", 0},
[53009] = { 34012, " Bao Bao", 0},
[53014] = { 34013, " Mini-Executor", 0},
[53015] = { 34014, " Mini-Executor V.I.P.", 1},
[53016] = { 34015, " Boney", 0},
[53520] = { 34017, " Porkie Polar", 0},
[53521] = { 34018, " Rufus de Gheata", 0},
[53519] = { 34019, " Arctis Khan", 0},
[53518] = { 34020, " Leonidas Alb", 0},
[53232] = { 34039, " Micul Huashin", 1},
}
itemVnum = tonumber(itemVnum)
return pet_info_map[itemVnum]
end
function get_spawn_effect_file(idx)
effect_table = {
[0] = nil,
[1] = "d:ymir workeffectetcappear_dienpc2_appear.mse",
}
return effect_table [idx]
end
when 53017.use or 53024.use or 53003.use or 53025.use or 53013.use or 53010.use or 53012.use or 53008.use or 53009.use or 53011.use or 53008.use or 53009.use or 53014.use or 53016.use or 53520.use or 53015.use or 53521.use or 53519.use or 53518.use or 53232.use begin
local pet_info = pet_system.get_pet_info(item.vnum)
local name = pc.get_name()
if null != pet_info then
if game.get_event_flag(""..name.."pet") == 1 then
local res1, Pname = mysql_direct_query("select * from player.pet_system where id = "..pc.get_player_id().." limit 1;")
local mobVnum = pet_info[1]
local petName = Pname[1].pet_name
local petNameO = 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, "'s - "..petName, false)
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
else
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("You already summoned a pet.")
end
if spawn_effect_file_name != nil then
pet.spawn_effect(mobVnum, spawn_effect_file_name)
end
end
end -- if pet.is_summon
end -- if null != pet_info
end -- when
end -- state
end -- quest
state start begin
function get_pet_info(itemVnum)
pet_info_map = {
-- [ITEM VNUM] MOB_VNUM, DEFAULT NAME, buff_idx, spawn_effect_idx
[53017] = { 34016, " Phoenix VIP", 1},
[53003] = { 34003, " Phoenix Gheaþã", 0},
[53024] = { 34023, " Pui de Panterã", 1},
[53025] = { 34024, " Pui de Leopard", 1},
[53013] = { 34006, " Rufus", 0},
[53010] = { 34008, " Leonidas", 0},
[53012] = { 34005, " Porkie", 0},
[53011] = { 34007, " Khan", 0},
[53008] = { 34011, " Knuud", 0},
[53009] = { 34012, " Bao Bao", 0},
[53014] = { 34013, " Mini-Executor", 0},
[53015] = { 34014, " Mini-Executor V.I.P.", 1},
[53016] = { 34015, " Boney", 0},
[53520] = { 34017, " Porkie Polar", 0},
[53521] = { 34018, " Rufus de Gheata", 0},
[53519] = { 34019, " Arctis Khan", 0},
[53518] = { 34020, " Leonidas Alb", 0},
[53232] = { 34039, " Micul Huashin", 1},
}
itemVnum = tonumber(itemVnum)
return pet_info_map[itemVnum]
end
function get_spawn_effect_file(idx)
effect_table = {
[0] = nil,
[1] = "d:ymir workeffectetcappear_dienpc2_appear.mse",
}
return effect_table [idx]
end
when 53017.use or 53024.use or 53003.use or 53025.use or 53013.use or 53010.use or 53012.use or 53008.use or 53009.use or 53011.use or 53008.use or 53009.use or 53014.use or 53016.use or 53520.use or 53015.use or 53521.use or 53519.use or 53518.use or 53232.use begin
local pet_info = pet_system.get_pet_info(item.vnum)
local name = pc.get_name()
if null != pet_info then
if game.get_event_flag(""..name.."pet") == 1 then
local res1, Pname = mysql_direct_query("select * from player.pet_system where id = "..pc.get_player_id().." limit 1;")
local mobVnum = pet_info[1]
local petName = Pname[1].pet_name
local petNameO = 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, "'s - "..petName, false)
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
else
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("You already summoned a pet.")
end
if spawn_effect_file_name != nil then
pet.spawn_effect(mobVnum, spawn_effect_file_name)
end
end
end -- if pet.is_summon
end -- if null != pet_info
end -- when
end -- state
end -- quest






de