Edit: Oh, I think you already mean what I did down here and you explicitly don't want that.
You could create a script under the "left mouse" button checking first, if the "combine" command is set then if theres an object under the cursor. If yes, then link to the line "Cant do that". But there is the problem that you need a lot exceptions in this script, if the item should be combinable with the object under the cursor. For dropping item on another I have no approach.----You could create an "combine" with "everything" action on all items (and objects) linked to an action which hold the line "Cant do that."Yes, you need (to copy ) this "combine" action entry on every game object / item / character which should be interacteable, but its a very simple solution in my eyes and you can link to other more specific item actions. E.g. Use every item on the item slimy rope: "That won't stick to the slippery rope."Maybe I have a missunderstanding what you want to do, but here is the way I do that (sry, my VS interface is in german):
function combineObjs()
local combinable = false
if game.ActiveCommand == Interfaces.int_interactions.Buttons.act_combine then --check if the combine command (act_combine) is active
if not game.CurrentObject:isEmpty() and not game.UsedItem:isEmpty() then --check if there is an object under the cursor and if there is an item selected
for i=0, #game.CurrentObject.Actions do --search the actions of the object under the cursor
local tStr = tostring(game.CurrentObject.Actions[i])
if string.find(tStr, "act_combine") then --checks if the action contains the combine command
if string.find(tStr, game.UsedItem:getName()) then --checks if the action contains the selected item
combinable = true
break
end
end
end
if combinable == true then
print("I can combine that!") -- output if the item can combined with the object
else
print("I can't use that item there") -- output if there item cant combine with the object OR there is no combine action
end
end
end
end