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.)
