Fixed by Lorenzo:
Fix for plugin VendingMachineLogs
change line 69 to :
var currencyAmount = VendingMachine.GetTotalPriceForOrder(sellOrder) * numberOfTransactions;
Merged postFull Fix (includes when the sold item being dynamically priced is scrap).
private void OnVendingTransaction(VendingMachine machine, BasePlayer player, int sellOrderId, int numberOfTransactions) { if (permission.UserHasPermission(player.UserIDString, BypassPerm)) return; if (_config.IgnoreNonPlayer && machine.OwnerID == 0) return; var sellOrder = machine.sellOrders.sellOrders[sellOrderId]; var currency = sellOrder.currencyID; //var currencyAmount = sellOrder.currencyAmountPerItem * numberOfTransactions; var currencyAmount = VendingMachine.GetTotalPriceForOrder(sellOrder) * numberOfTransactions; var currencyName = ItemManager.FindItemDefinition(currency).displayName.english; var item = sellOrder.itemToSellID; var itemAmount = sellOrder.itemToSellAmount * numberOfTransactions; if (ItemManager.FindItemDefinition(sellOrder.itemToSellID) == NPCVendingMachine.ScrapItem && sellOrder.receivedQuantityMultiplier != 1f) { itemAmount = global::VendingMachine.GetTotalPriceForOrder(itemAmount, sellOrder.receivedQuantityMultiplier); } var itemName = ItemManager.FindItemDefinition(item).displayName.english; SendDiscordMessage(player.displayName, player.UserIDString, itemName, item, currencyName, currency, machine.shopName, itemAmount, currencyAmount, machine.OwnerID.ToString()); }
Merged post private void OnVendingTransaction(VendingMachine machine, BasePlayer player, int sellOrderId, int numberOfTransactions)
{
if (permission.UserHasPermission(player.UserIDString, BypassPerm)) return;
if (_config.IgnoreNonPlayer && machine.OwnerID == 0) return;
var sellOrder = machine.sellOrders.sellOrders[sellOrderId];
var currency = sellOrder.currencyID;
//var currencyAmount = sellOrder.currencyAmountPerItem * numberOfTransactions;
var currencyAmount = VendingMachine.GetTotalPriceForOrder(sellOrder) * numberOfTransactions;
var currencyName = ItemManager.FindItemDefinition(currency).displayName.english;
var item = sellOrder.itemToSellID;
var itemAmount = sellOrder.itemToSellAmount * numberOfTransactions;
if (ItemManager.FindItemDefinition(sellOrder.itemToSellID) == NPCVendingMachine.ScrapItem &&
sellOrder.receivedQuantityMultiplier != 1f)
{
itemAmount = global::VendingMachine.GetTotalPriceForOrder(itemAmount, sellOrder.receivedQuantityMultiplier);
}
var itemName = ItemManager.FindItemDefinition(item).displayName.english;
SendDiscordMessage(player.displayName, player.UserIDString, itemName, item, currencyName, currency, machine.shopName, itemAmount, currencyAmount, machine.OwnerID.ToString());
}