Первым и вторым способом сделать элементарно (но первым - тупо, а для второго нужна Эра).
Вот как сделать третьим способом (шанс сражения с монстрами = 50%):
!?OB91&1000;При посещении человеком объекта...
!!OBv998/v999/v1000:M-1/1/0;Убираем стандартное собщение.
!!POv998/v999/v1000:N?y-1;Проверяем, посещён ли объект.
!!IF&y-1=1:M^Надпись неразборчива.^;Если объект посещён, выводим сообщение.
!!FU&y-1=1:E;Если объект посещён, выходим из триггера.
!!VRz-1:S^Путник, вокруг бродят разные существа, куда ты пойдёшь?^;Устанавливаем текст вопроса.
!!VRz-2:S^Налево.^;Устанавливаем текст 1 варианта ответа.
!!VRz-3:S^Направо.^;Устанавливаем текст 2 варианта ответа.
!!VRz-4:S^Прямо.^;Устанавливаем текст 3 варианта ответа.
!!VRz-5:S^Прочь отсюда, я добырй и драться не хочу.^;Устанавливаем текст 4 варианта ответа.
!!IF:G1/1/8/-1/-2/-3/-4/-5;Вызываем диалог.
!!VRi&v1=8:S-1;
!!FU&v1=8:E;Если выбран 4 вариант ответа, выходим из триггера.
!!VRy-1:R2;Генерируем случайный выбор.
!!VRy-2:R2;Генерируем случайный выбор.
!!VRy-3:R2;Генерируем случайный выбор.
!!VRz-9&y-1=0:S^молодой юноша^;
!!VRz-9&y-1=1:S^пожилой крестьянин^;
!!VRz-9&y-1=2:S^крестьянская девушка^;
!!VRz-2&y-2=0:S^существа^;
!!VRz-2&y-2=1:S^узурпаторы^;
!!VRz-2&y-2=2:S^осквернители домов^;
!!VRz-3&y-3=0:S^Они жаждали крови.^;
!!VRz-3&y-3=1:S^Готовы ли вы к неожиданностям?^;
!!VRz-3&y-3=2:S^Возможно, впереди Вас ждет засада.^;
!!VRz-10:S^К вам подходит %Z-9 :
и говорит: - Недавно, какие то %Z-2 бродили поблизости. %Z-3^;
!!IF:Q2/21/y21/1/z-10;
!!HE-1:Edy4;
!!VRy-1:S0 R1;
!!VRi&y-1=0:S0;
!!FU&y-1=0:E;
!!VRy-1:R165;Генерируем случайный номер монстра.
!!VRy-1&y-1>121:Sy-1+1;Исключаем 1 неиспользуемого монстра.
!!VRy-1&y-1>123:Sy-1+1;Исключаем 2 неиспользуемого монстра.
!!VRy-1&y-1>125:Sy-1+1;Исключаем 3 неиспользуемого монстра.
!!VRy-1&y-1>127:Sy-1+1;Исключаем 4 неиспользуемого монстра.
!!VRy-1&y-1>144:Sy-1+5;Исключаем боевые машины и стрелковые башни.
!!VRy-1&y-1>159:Sy-1+4;Исключаем Эмиссаров.
!!VRy-1&y-1>173:Sy-1+18;Исключаем командиров.
!!MA:Cy-1/6/?y-2;Считываем стоимость монстра.
!!VRy-3:S30000:y-2;Вычисляем количество монстров исходя из стоимости.
!!HE-1:Tv998/v999/v1000/y-1/y-3;Вызываем сражение с этими монстрами.
!!HE-1:O?i;Проверяем, победил ли герой (проверяем его хозяина после битвы), если нет - в переменную попадёт -1.
!?OB91&1000/i<>-1;При посещении человеком объекта (награда)...
!!VRy-1:R12;Генерируем случайный номер награды.
!!IF&y-1=0:M^Вы получаете по 10 каждого ресурса!^;Если номер награды равен 1, выводим сообщение.
!!OW&y-1=0:R-1/0/d10 R-1/1/d10 R-1/2/d10 R-1/3/d10 R-1/4/d10 R-1/5/d10;Если номер награды равен 1, даём игроку по 10 каждого ресурса.
!!IF&y-1=1:M^Вы получаете 100 крестьян!^;Если номер награды равен 2, выводим сообщение.
!!HE-1&y-1=1:C2/139/100/1;Если номер награды равен 2, даём герою 100 крестьян.
!!IF&y-1=2:M^Вы осмотрелись и нашли артефакт!^;Если номер награды равен 3, выводим сообщение.
!!VRy-2 : S0;Устанавливаем переменную номера артефакта в 0.
!!VRy-2 : R128;Добавляем к переменой номера артефакта случайное число от 0 до 128 (после 128 идут сборные, воговские артефаты, пустые слоты и т. п.).
!!HE-1&y-1=2 : A4/y-2;Даём артефакт.
!!IF&y-1=3:M^Ваша мана уменьшилась!^;Если номер награды равен 4, выводим сообщение.
!!HE-1&y-1=3:Id-50;Если номер награды равен 4, отбираем у героя 50 очков маны.
!!IF&y-1=4:M^Ваша мана увеличилась!^;Если номер награды равен 5, выводим сообщение.
!!HE-1&y-1=4:Id50;Если номер награды равен 5, даём герою 50 очков маны.
!!IF&y-1=5:M^Удача с вами!^;Если номер награды равен 6, выводим сообщение.
!!HE-1&y-1=5:R1/5;Если номер награды равен 6,увеличиваем удачу героя.
!!IF&y-1=6:M^Удача вас покинула...^;Если номер награды равен 7, выводим сообщение.
!!HE-1&y-1=6:R1/-5;Если номер награды равен 7,уменьшаем удачу героя.
!!IF&y-1=7:M^Ваши войска испытывают прилив боевого духа!^;Если номер награды равен 8, выводим сообщение.
!!HE-1&y-1=7:R0/5;Если номер награды равен 8,увеличиваем боевой дух героя.
!!IF&y-1=8:M^Боевой дух ваших войск упал^;Если номер награды равен 9, выводим сообщение.
!!HE-1&y-1=8:R0/-5;Если номер награды равен 9,уменьшаем боевой дух героя.
!!IF&y-1=9:M^В течении месяца, вы вынуждены платить налог за топтание земли по 250 монет в день!^;Если номер награды равен 10, выводим сообщение.
!!HE-1&y-1=9:Y4/250/28/-2;Если номер награды равен 10, отбираем у героя в день по 250 монет.
!!IF&y-1=10:M^В течении месяца, вам вынуждены платить налог за топтание земли по 250 монет в день!^;Если номер награды равен 10, выводим сообщение.
!!HE-1&y-1=10:Y4/250/28/2;Если номер награды равен 10, даем герою в день по 250 монет.
!!IF&y-1=11:M^Вас ограбили!^;Если номер награды равен 11, выводим сообщение.
!!OW&y-1=11:R-1/0/d-10 R-1/1/d-10 R-1/2/d-10 R-1/3/d-10 R-1/4/d-10 R-1/5/d-10;Если номер награды равен 11, отбираем у игрока по 10 каждого ресурса.
Жирным выделено то, что я добавил,
курсивом - то, что изменил.
Зелёным - то, что я добавил или изменил, не относящееся к битве, т. к. мне показалось, что без этого неправильно.
Красным - то, где я не полностью понимаю, что оно делает (использование переменных, не установленных в скрипте и т. п.).
Протестил, вроде работает.