New morning, fresh head.
For found item under cursor (in 'repeatedly_execute()'):
Code: ags
Need setting 'Inventory: Override built-in inventory window click handling = True.
For pickup item from inventory (by left click) and release (by right click):
Code: ags
For using item on object in room-script:
Code: ags
For found item under cursor (in 'repeatedly_execute()'):
InventoryItem * item;
function repeatedly_execute()
{
item = InventoryItem.GetAtScreenXY(mouse.x, mouse.y);
}
Need setting 'Inventory: Override built-in inventory window click handling = True.
For pickup item from inventory (by left click) and release (by right click):
function on_mouse_click(MouseButton button)
{
if (button == eMouseLeftInv) {
player.ActiveInventory = item;
mouse.ChangeModeGraphic(eModeUseinv, item.CursorGraphic);
}
if (button == eMouseRight)
{
if (player.ActiveInventory != null) {
mouse.Mode = eModePointer;
player.ActiveInventory = null;
}
}
}
For using item on object in room-script:
function UseBook()
{
InventoryItem * item = player.ActiveInventory;
Object * obj = Object.GetAtScreenXY(mouse.x, mouse.y);
// compare item and object
// ...
}