Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- quest pet_system begin
- state start begin
- function get_pet_info(itemVnum)
- pet_info_map = {
- [53001] = {34033, "pet1", 0},
- [53002] = {34031, "pet2", 0},
- [53003] = {34003, "pet3", 0},
- [53005] = {34004, "pet4", 1},
- [53006] = {34009, "pet5", 1},
- [53007] = {34010, "pet6", 0},
- [53008] = {34011, "pet7", 0},
- [53009] = {34012, "pet8", 0},
- [53010] = {34008, "pet9", 0},
- [53011] = {34007, "pet10", 0},
- [53012] = {34005, "pet11", 0},
- [53013] = {34006, "pet12", 0},
- [53014] = {34031, "pet13", 0},
- [53016] = {34033, "pet14", 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 login with pc.getqf('summoned') > 0 begin
- pet.summon(pc.getqf('summoned_pet'), pc.getqf('pet_name'), false)
- end
- when 53001.use or 53002.use or 53003.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 or 53014.use or 53016.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 or pc.is_gm() then
- pet.summon(mobVnum, " ".. petName, false)
- pc.setqf('summoned_pet', mobVnum)
- pc.setqf('pet_name', petName)
- pc.getqf('summoned', 1)
- else
- syschat("Too much pets.")
- end
- if spawn_effect_file_name != nil then
- pet.spawn_effect(mobVnum, spawn_effect_file_name)
- end
- end
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment