Auto-translated
Could it be a trick with the name? (i.e., the game considers 'geroy' to be the entire array of heroes under the player's control)
num_stone=3; --number of demon stones
for i=1,num_stone do
SetObjectEnabled ('stone_'..i,nil);
Trigger (OBJECT_TOUCH_TRIGGER,'stone_'..i,'up_herolider');
end;
function up_herolider(geroi,object)
if geroi==Larion then
................
MarkObjectAsVisited (object,geroi);
.................
else
if geroi==Derin then
.................
MarkObjectAsVisited (object,geroi);
end;end;
end; ..............
Derin and Larion are constants (hero names); there's a lot more, but this is the basis. When any of the heroes 'contacts' the object, when the second hero right-clicks on the 'stone' object, it says 'already visited', but if you approach it, the bonus is given normally. Visually, it's not clear whether one or both heroes were at the object.