1. My max stack size on many of the items on my server is 100,000. This wasn't an issue till the latest update.

    Now, it wont allow stacks above the size of 65,536, after about 3 hours of looking, I found the issue.

    The issue is found on PlayerInventory.cs line 120. split_Amount is type UInt16, which maxes out at 65,536.

    My question now is, is there anyway I can change this, or get around this somehow? Just changing it to UInt32 should fix all my problems and make me and my players happy again.

    Please help me solve this, I'd be eternally grateful. Just need to know how I can change this without changing the core code, or hell, if I have to change the core code, tell me how to recompile it (if I can) and I will for my server.
     
  2. this shouldn't be possible since the client uses the same code, if you change it for your server the client still wouldn't allow it...

    but i can't see any UInt16 in that file? i've searched for split_Amount and found only one in the Item class...
    Code:
    public Item SplitItem(int split_Amount)
    {
        Assert.Test(split_Amount > 0, "split_Amount <= 0");
        if (split_Amount >= this.amount)
        {
            return null;
        }
        Item splitAmount = this;
        splitAmount.amount = splitAmount.amount - split_Amount;
        Item item = ItemManager.CreateByItemID(this.info.itemid, 1, false);
        item.amount = split_Amount;
        this.MarkDirty();
        return item;
    }
     
  3. Alright, not sure how I'm seeing this code then. Eitherway, is there anyway to fix this issue, does anyone have an idea?
     
  4. No but it explains how much a uint16 can hold and not hold. :p The max you can split is the size of uint16 There is no way to fix that because it's client sided as well... Client splits it... Sends packet of split information...