-- function I4700185_GiftBag(MapID, InstanceID, TypeID, TargetID) -- -- Генерация случайного числа -- local r = math.random(9796) -- local temp = 0 -- local index = 1 -- local tbl = { -- {3500023, 1, 65}, -- {3500039, 1, 150}, -- {3040004, 1, 450}, -- {3040009, 1, 450}, -- {3040014, 1, 450}, -- {3040019, 1, 450}, -- {3040024, 1, 450}, -- {3040029, 1, 450}, -- {3040034, 1, 450}, -- {3040039, 1, 450}, -- {3040044, 1, 450}, -- {3040049, 1, 300}, -- {3040054, 1, 300}, -- {3040059, 1, 300}, -- {3500207, 1, 200}, -- {3500048, 1, 200}, -- {3500041, 1, 150}, -- {4999004, 1, 200}, -- {4820256, 1, 150}, -- {4530109, 3, 350}, -- {4500002, 6, 500}, -- {3070019, 1, 250}, -- {4820079, 1, 400}, -- {4820078, 30, 500}, -- {4820039, 1, 400}, -- {4820038, 30, 500}, -- {3070051, 3, 600}, -- {3020035, 1, 40}, -- {3020033, 1, 60}, -- {3020037, 1, 3}, -- {3020094, 1, 3}, -- {3500208, 1, 10}, -- {3060060, 1, 100}, -- {3020091, 1, 5}, -- {3020090, 1, 10} -- } -- -- Выбор предмета на основе вероятности -- for i = 1, #tbl do -- temp = temp + tbl[i][3] -- if temp >= r then -- index = i -- break -- end -- end -- -- Отправка сообщения и добавление предмета -- if index >= 28 then -- local MsgID = msg.BeginMsgEvent() -- msg.AddMsgEvent(MsgID, 100, 280) --开启了获得了 -- msg.AddMsgEvent(MsgID, 2, TargetID) -- msg.AddMsgEvent(MsgID, 4, TypeID) -- msg.AddMsgEvent(MsgID, 4, tbl[index][1]) -- msg.DispatchWorldMsgEvent(MsgID) -- end -- role.AddRoleItem(MapID, InstanceID, TargetID, tbl[index][1], tbl[index][2], -1, 8, 420) -- end -- function I4700185_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(4700185, 1, "I4700185_GiftBag") -- aux.RegisterItemEvent(4700185, 0, "I4700185_CanUseGiftBag") -- function I4820059_Use(MapID, InstanceID, TypeID, TargetID) -- local tianya = role.GetRoleItemNum(TargetID, 4820059) -- local yueluo = role.GetRoleItemNum(TargetID, 4820060) -- if yueluo > 0 and tianya > 0 then -- role.RemoveFromRole(MapID, InstanceID, TargetID, 4820059, 1, 101) -- role.RemoveFromRole(MapID, InstanceID, TargetID, 4820060, 1, 101) -- role.AddRoleItem(MapID, InstanceID, TargetID, 4700185, 1, -1, 8, 420) -- return 1 -- end -- return 0 -- end -- function I4820059_CanUse(MapID, InstanceID, TypeID, TargetID) -- local yueluo = role.GetRoleItemNum(TargetID, 4820059) -- local tianya = role.GetRoleItemNum(TargetID, 4820060) -- -- Проверка свободного места в инвентаре -- local FreeSize = role.GetBagFreeSize(TargetID) -- if FreeSize < 1 then -- return 40, false -- end -- if yueluo < 1 or tianya < 1 then -- return 32, false -- end -- return 0, false -- end -- aux.RegisterItemEvent(4820059, 1, "I4820059_Use") -- aux.RegisterItemEvent(4820059, 0, "I4820059_CanUse") -- aux.RegisterItemEvent(4820060, 1, "I4820059_Use") -- aux.RegisterItemEvent(4820060, 0, "I4820059_CanUse")