Неправильное построение скрипта.
Должно быть:
function ask1 ()
MessageBox ("/Maps/SingleMissions/Illusion Castle/ask1F.txt");
sleep(5)
QuestionBox ("/Maps/SingleMissions/Illusion Castle/ask1.txt", 'yes', 'no');
Trigger(OBJECT_TOUCH_TRIGGER, "hat", nil);
end;
Trigger(OBJECT_TOUCH_TRIGGER, "hat" "ask1" );
function yes ()
SetObjectiveState('obj_5', OBJECTIVE_ACTIVE);
SetObjectiveVisible( 'obj_5', true, PLAYER_1 );
end;
Также советую вместо пути к папке использовать GetMapDataPath()..'имя_файла.txt'.
P.S. Кодировку .txt-файла проверили? Юникод?
Проверь ф-ей GetUnitNames (как-то так вроде, лучше в мануале глянь, там подробнее и есть особенности кое-какие).
Спасибо!
С уважением.