The first thing that comes to mind is to give him some fictional unit with an extremely high threat level, so he'll think he's stronger. Or is the point that he shouldn't attack yet?
You can assign him some routes using MoveHero, along which he will move, regardless of the player's heroes.
Added 5 minutes later
Another option. At the beginning of the AI's turn, place special static objects without a model around the player's hero, but with a blocked cell. For the AI, the hero will be unreachable (and vice versa), and he will probably ignore the player's hero. At the beginning of the player's turn, remove the statics. You can also place these cells depending on the ratio of army strength (if needed, I have a table of creature strengths).
This method is not as difficult as it might seem at first.
Well, I need it so that for the AI heroes, attacking them is a kind of surprise. The merchants are sailing along, and then - bam, an attack. Moreover, I can easily resurrect these heroes and give them an army using a script.
Okay, I'll try using MoveHero. There was a good alliance system in Empire Earth that I remember: you could set one computer to "neutral" and yourself to "hostile," while also blocking the ability to change these conditions later. And that's it - the computer's heroes only defend themselves...
I don't know how relevant my answer will be, but I'll answer anyway. Yes, the hero will get on a ship and sail away.
Okay, clear, thanks.