Иконка ресурса

FREE CustomSkinsStacksFix : 1.0.3 1.0.3

Нет прав для скачивания
C#:
using System;

namespace Oxide.Plugins
{
    [Info("Custom Skins Stacks Fix", "Orange", "1.0.3")]
    [Description("Fixing problem with stacking/splitting/moving custom items (skins)")]
    public class CustomSkinsStacksFix : RustPlugin
    {
        private object CanStackItem(Item original, Item target)
        {
            if (original.skin == 0 && target.skin == 0)
            {
                return null;
            }
            
            if (original.skin != target.skin)
            {
                return false;
            }

            if (original.contents != null || target.contents != null)
            {
                return false;
            }

            if (Math.Abs(original._condition - target._condition) > 0f)
            {
                return false;
            }

            if (Math.Abs(original._maxCondition - target._maxCondition) > 0f)
            {
                return false;
            }

            return null;
        }
        
        private Item OnItemSplit(Item item, int amount)
        {
            if (item.skin == 0)
            {
                return null;
            }

            item.amount -= amount;
            var newItem = ItemManager.Create(item.info, amount, item.skin);
            newItem.name = item.name;
            newItem._condition = item._condition;
            newItem._maxCondition = item._maxCondition;
            
            if (item.IsBlueprint())
            {
                newItem.blueprintTarget = item.blueprintTarget;
            }
                
            item.MarkDirty();
            return newItem;
        }
        
        private object CanAcceptItem(ItemContainer container, Item movingItem, int targetPos)
        {
            if (movingItem.skin == 0)
            {
                return null;
            }
            
            var containerItem = container.parent;
            if (containerItem == null || containerItem.skin == 0)
            {
                return null;
            }
            
            if (movingItem.contents != null && movingItem.contents.capacity > 4)
            {
                return ItemContainer.CanAcceptResult.CannotAccept;
            }
            
            return null;
        }
        
        private object CanCombineDroppedItem(WorldItem first, WorldItem second)
        {
            return CanStackItem(first.item, second.item);
        }
    }
}

Автор
15FPS
Скачиваний
0
Просмотры
1
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя 15FPS

Сверху