Auto-translated
MoveHero is quite a tricky thing. It might not work if the destination point for the hero is on a "green" cell. For example, in Gnomania, it wasn't possible to use this function to make heroes attack a garrison. I did it like this: I sent them to an adjacent cell, and there was a region, and a trigger was defined for it:
function Gar(hero)
if hero=="bla-bla" then
MakeHeroInteractWithObject("bla-bla","Garnison");
end;
end;