function I4500028_Use(MapID, InstanceID, TypeID, TargetID) -- Определяем шанс выпадения редких предметов local rareChance = 0.1 -- 10% шанс на выпадение редкого предмета local randomValue = math.random() -- Массив редких предметов local rareItems = { {ItemID = 3020032, Count = 1}, -- Пример редкого предмета 1 {ItemID = 3020033, Count = 1}, -- Пример редкого предмета 2 {ItemID = 3020034, Count = 1}, -- Пример редкого предмета 3 {ItemID = 3020035, Count = 1}, -- Пример редкого предмета 4 {ItemID = 3020036, Count = 1} -- Пример редкого предмета 5 } -- Добавляем обычные предметы role.AddRoleItem(MapID, InstanceID, TargetID, 3070056, 50, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, TargetID, 3070052, 4, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, TargetID, 3500208, 1, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, TargetID, 3500041, 10, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, TargetID, 3070012, 1, -1, 8, 420) role.AddRoleItem(MapID, InstanceID, TargetID, 3070022, 3, -1, 8, 420) -- Проверяем, выпал ли редкий предмет if randomValue < rareChance then -- Выбираем случайный редкий предмет из массива local randomIndex = math.random(1, #rareItems) local rareItem = rareItems[randomIndex] -- Добавляем редкий предмет role.AddRoleItem(MapID, InstanceID, TargetID, rareItem.ItemID, rareItem.Count, -1, 8, 420) -- Отправляем оповещение о выпадении редкого предмета local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 100, 280) --开启了获得了 msg.AddMsgEvent(MsgID, 2, TargetID) msg.AddMsgEvent(MsgID, 4, TypeID) msg.AddMsgEvent(MsgID, 4, rareItem.ItemID) -- Исправлено: используем ItemID редкого предмета msg.DispatchWorldMsgEvent(MsgID) end end aux.RegisterItemEvent(4500028, 1, "I4500028_Use")