function I4810047_GiftBag(MapID, InstanceID, TypeID, TargetID) local r = math.random(24) local tbl = { 8050906, 8050907, 8051906, 8051907, 8060906, 8060907, 8061906, 8061907, 8070906, 8070907, 8071906, 8071907, 8080906, 8080907, 8081906, 8081907, 8090906, 8090907, 8091906, 8091907, 8101311, 8101312, 8101313, 8101314 } role.AddRoleItem(MapID, InstanceID, TargetID, tbl[r], 1, -1, 8, 420) end aux.RegisterItemEvent(4810047, 1, "I4810047_GiftBag") function I4810047_CanUseGiftBag(MapID, InstanceID, TypeID, TargetID) local bRet, bIgnore = 0, false local FreeSize = role.GetBagFreeSize(TargetID) if FreeSize < 1 then bRet = 40 end return bRet, bIgnore end aux.RegisterItemEvent(4810047, 0, "I4810047_CanUseGiftBag") function I4810048_GiftBag(MapID, InstanceID, TypeID, TargetID) local r = math.random(24) local tbl = { 8061904, 8061905, 8070904, 8070905, 8071904, 8071905, 8080904, 8080905, 8081904, 8081905, 8090904, 8090905, 8091904, 8091905, 8101307, 8101308, 8101309, 8101310, 8050904, 8050905, 8051904, 8051905, 8060904, 8060905 } role.AddRoleItem(MapID, InstanceID, TargetID, tbl[r], 1, -1, 8, 420) end aux.RegisterItemEvent(4810048, 1, "I4810048_GiftBag") function I4810048_CanUseGiftBag(MapID, InstanceID, TypeID, TargetID) local bRet, bIgnore = 0, false local FreeSize = role.GetBagFreeSize(TargetID) if FreeSize < 1 then bRet = 40 end return bRet, bIgnore end aux.RegisterItemEvent(4810048, 0, "I4810048_CanUseGiftBag") function I4810049_GiftBag(MapID, InstanceID, TypeID, TargetID) local r = math.random(12) local tbl = { 8050903, 8051903, 8060903, 8061903, 8070903, 8071903, 8080903, 8081903, 8090903, 8091903, 8101305, 8101306 } role.AddRoleItem(MapID, InstanceID, TargetID, tbl[r], 1, -1, 8, 420) end aux.RegisterItemEvent(4810049, 1, "I4810049_GiftBag") function I4810049_CanUseGiftBag(MapID, InstanceID, TypeID, TargetID) local bRet, bIgnore = 0, false local FreeSize = role.GetBagFreeSize(TargetID) if FreeSize < 1 then bRet = 40 end return bRet, bIgnore end aux.RegisterItemEvent(4810049, 0, "I4810049_CanUseGiftBag") function I3020104_Use(MapID, InstanceID, TypeID, TargetID) local tbl = { [3020104] = {20, 3020027}, [3020105] = {60, 3020030}, [3020106] = {300, 3020032} } role.AddRoleItem(MapID, InstanceID, TargetID, tbl[TypeID][2], 1, -1, 8, 420) role.RemoveFromRole(MapID, InstanceID, TargetID, 3020103, tbl[TypeID][1], 101) end function I3020104_CanUse(MapID, InstanceID, TypeID, TargetID) local tbl = { [3020104] = {20, 3020027}, [3020105] = {60, 3020030}, [3020106] = {300, 3020032} } local b = role.GetRoleItemNum(TargetID, 3020103) local FreeSize = role.GetBagFreeSize(TargetID) if FreeSize < 1 then return 40, false end if b < tbl[TypeID][1] then return 32, false end return 0, false end aux.RegisterItemEvent(3020104, 1, "I3020104_Use") aux.RegisterItemEvent(3020104, 0, "I3020104_CanUse") aux.RegisterItemEvent(3020105, 1, "I3020104_Use") aux.RegisterItemEvent(3020105, 0, "I3020104_CanUse") aux.RegisterItemEvent(3020106, 1, "I3020104_Use") aux.RegisterItemEvent(3020106, 0, "I3020104_CanUse") function I3050088_Use(MapID, InstanceID, TypeID, TargetID) local tbl = { [3050088] = {10, 3030131}, [3050089] = {20, 3030138}, [3050090] = {10, 3030134}, [3050091] = {20, 3030139}, [3050092] = {15, 3030128}, [3050093] = {30, 3030137}, [3050094] = {10, 3030121}, [3050095] = {30, 3030140}, [3050096] = {10, 3030123}, [3050097] = {30, 3030141} } role.AddRoleItem(MapID, InstanceID, TargetID, tbl[TypeID][2], 1, -1, 8, 420) role.RemoveFromRole(MapID, InstanceID, TargetID, 3030142, tbl[TypeID][1], 101) end function I3050088_CanUse(MapID, InstanceID, TypeID, TargetID) local tbl = { [3050088] = {10, 3030131}, [3050089] = {20, 3030138}, [3050090] = {10, 3030134}, [3050091] = {20, 3030139}, [3050092] = {15, 3030128}, [3050093] = {30, 3030137}, [3050094] = {10, 3030121}, [3050095] = {30, 3030140}, [3050096] = {10, 3030123}, [3050097] = {30, 3030141} } local b = role.GetRoleItemNum(TargetID, 3030142) local FreeSize = role.GetBagFreeSize(TargetID) if FreeSize < 1 then return 40, false end if b < tbl[TypeID][1] then return 32, false end return 0, false end aux.RegisterItemEvent(3050088, 1, "I3050088_Use") aux.RegisterItemEvent(3050088, 0, "I3050088_CanUse") aux.RegisterItemEvent(3050089, 1, "I3050088_Use") aux.RegisterItemEvent(3050089, 0, "I3050088_CanUse") aux.RegisterItemEvent(3050090, 1, "I3050088_Use") aux.RegisterItemEvent(3050090, 0, "I3050088_CanUse") aux.RegisterItemEvent(3050091, 1, "I3050088_Use") aux.RegisterItemEvent(3050091, 0, "I3050088_CanUse") aux.RegisterItemEvent(3050092, 1, "I3050088_Use") aux.RegisterItemEvent(3050092, 0, "I3050088_CanUse") aux.RegisterItemEvent(3050093, 1, "I3050088_Use") aux.RegisterItemEvent(3050093, 0, "I3050088_CanUse") aux.RegisterItemEvent(3050094, 1, "I3050088_Use") aux.RegisterItemEvent(3050094, 0, "I3050088_CanUse") aux.RegisterItemEvent(3050095, 1, "I3050088_Use") aux.RegisterItemEvent(3050095, 0, "I3050088_CanUse") aux.RegisterItemEvent(3050096, 1, "I3050088_Use") aux.RegisterItemEvent(3050096, 0, "I3050088_CanUse") aux.RegisterItemEvent(3050097, 1, "I3050088_Use") aux.RegisterItemEvent(3050097, 0, "I3050088_CanUse")