----
This line
player.ActiveInventory = InventoryItem.GetAtScreenXY(mouse.x, mouse.y);
in the LeftInv code changes the player's ActiveInventory to the clicked one, and since RunInteraction is queued afaik, every item is always used on itself.
Removing it should be all you need to do.
--------
The AGS default for selecting an inventory item uses the eModeInteract.
[Edit]:Side note: I personally would switch your inventory action to if == iVinagre, and use the else for "I can't". I think it makes more sense, and then you can add other interactions (which many games do for comedy or immersion purposes) if you so choose.
~Trent
Something must have happened to me lately, I can't think straight anymore...
else if (button == eMouseLeftInv) {
if (player.ActiveInventory != null) inventory[game.inv_activated].RunInteraction(mouse.Mode);
else player.ActiveInventory = inventory[game.inv_activated];
}
--