Auto-translated
I apologize, I misunderstood earlier (I was already sleepy :)), here's how you should do it:
Trigger (OBJECT_TOUCH_TRIGGER,'stone_'..i,'up_herolider');
function up_herolider(geroi,object)
if geroi ==Larion then
................
-MarkObjectAsVisited (object,geroi);
+MarkObjectAsVisited (object,Larion);
.................
and so on, i.e., directly reference the specific hero.
Added 2 minutes ago
I suggest the following solution for now - we number the obelisks (give them unique names), and in the list of tasks, we indicate the number of obelisks already visited/the number remaining.