Vendor Bug (giving Stones instead of item)

Hi,
we have a weird Bug on our Live & Testserver.

Sometimes the vendors (bandit/outpost) give a stone, instead of items.

We don't have any Vendor-related plugin installed, so i wrote a very tiny vendor-log-plugin which shows this "bug".
As you can see, the player "ot-5407" tried to buy 2 times a Jackhammer for 250 scrap.
The shop gave him 1 Jackhammer and 1 Stone instead.
We cannot reproduce it but it happens 0-2 times a day sporadically.





I used this hooks:
(this version is a bit newer. it shows the names and the amount instead of just item.ToString() from the screenshot above)

private object OnTakeCurrencyItem(VendingMachine vending, Item item)
		{
			Puts("Vendor took items: " + item.info.shortname + "[x" + item.amount + "]");
			return null;
		}
		private object OnGiveSoldItem(VendingMachine vending, Item soldItem, BasePlayer buyer)
		{
			Puts("Vendor gave " + buyer.displayName + " " + soldItem.info.shortname + "[x" + soldItem.amount + "]");
			Puts("Transaction Log end");	
			return null;
		}
		private object OnVendingTransaction(VendingMachine machine, BasePlayer buyer, int sellOrderId, int numberOfTransactions)
		{
			Puts("Transaction Log start:");			
			Puts("Player: " + buyer.ToString() + " wants to buy amount [" + numberOfTransactions.ToString() + "] of item number: " + sellOrderId.ToString());			
			return null;
		}​

Any idea why the vendor gives stones instead of the correct item?
Is this a known bug?
Which kind of Plugins could cause such behavior, since we dont have plugins that use the OnGiveSoldItem()-Hook? (At least no plugin that i know.)

Hello, have you the Plugin Vending in Stock?

No, as described we are not using any vendor plugin

Merged post

Any idea? It still happens.
I was told to do a server restart without any plugin and i did that.
But the bug is still here.

(18:35:25) | [VendorDebugLog] Transaction Log start:
(18:35:25) | [VendorDebugLog] Player: cykromes[765....] wants to buy: 1 x [keycard_blue x1 for scrap x100] --> [keycard_blue x1 for scrap x100]
(18:35:25) | [VendorDebugLog] Vendor took items: [scrap x100]
(18:35:25) | [VendorDebugLog] Vendor gave cykromes [stones x1]
(18:35:25) | [VendorDebugLog] Transaction Log end

Now it gives random wood, or stone instead of the item.

Players on my server reported this happening randomly too, but havent been able to even reproduce it

Kahmy

Players on my server reported this happening randomly too, but havent been able to even reproduce it

THANK YOU,
I am not alone anymore. 
Can you dm me a full list of Plugins you are using? It would help a lot to narrow this bug down. 

Merged post

Ok, it is NOT the StackSizeController. I fully removed it and the bug appears again ._.

Hi, does someone now what this bug causes? On my server i have this issue, too!

Are you using "shared Boxes" from Orange?

Never heard of this mod before. 

Samantha

Never heard of this mod before. 

We had a plugin that had a timer(delay)-loop inside a CanLootEntity()-Hook.
This timer somehow bugged. Since we removed the plugin(shared boxes), the error with the stone no longer occurred.
Maybe you have many plugins that access the CanLootEntity hook unnecessarily often. (Like PreventLooting, LootDefender)