SetObjectEnabled("cartograph", nil);
function cartographF(heroname)
------------- ... доп условия ... --------------
QuestionBox(GetMapDataPath().."vopros.txt", "voprosF");
end;
function voprosF()
------------ ... -------------
OpenCircleFog(x, y, floorID, range, playerID);
end;
Trigger(4, "cartograph", "cartographF");
где cartograph - имя картографа на карте, vopros.txt - текстовое сообщение, которое увидит игрок при касании с картографом, voprosF - функция, которая вызывается при положительном ответе игрока на сообщение;
OpenCircleFog(x, y, floorID, range, playerID) :
x, y - координаты тайла, вокруг которого "откроется" область
floorID - 0 - поверхность, 1 - подземелье
range - радиус местности, которая откроется
playerID - номер игрока, которому откроется область.
P.S. Есть ещё один способ, при котором местность открывается на соответствующем регионе.